dismissAnchorlessFailure method
void
dismissAnchorlessFailure(
- int guideToken, {
- DropReason dropReason = DropReason.error,
})
Implementation
void dismissAnchorlessFailure(
int guideToken, {
DropReason dropReason = DropReason.error,
}) {
final state = _orchestrator.state;
if (state == null || state.token != guideToken) return;
if (_dwell.elapsedMs(state.payload.cepCampaignId) == null) {
_orchestrator.dismiss();
final drop = _onDropBeforeShown;
if (drop != null) {
drop(state.payload, dropReason);
return;
}
_events().toCep(
const ExperienceDismissed(reason: DismissReason.autoTimeout),
state.payload,
);
return;
}
if (_view.isShowcaseRunning) {
dismiss(reason: DismissReason.autoTimeout);
} else {
// The anchorless image load TTL expired: keep its auto_timeout reason.
_pendingDismissReason = DismissReason.autoTimeout;
_finish(completed: false);
}
}