resolveDeferred method

  1. @override
Future<DeferredLink?> resolveDeferred()
override

Implementation

@override
Future<DeferredLink?> resolveDeferred() async {
  if (!configured) return null;
  if (mode == LinkProcessingMode.webOnly) return null;
  var link = nextResolveResult;
  nextResolveResult = null;
  final token = clipboardToken;
  if (link == null && token != null && token.trim().isNotEmpty) {
    clipboardToken = null;
    link = DeferredLink(
      url: 'https://links.example.com/open?click_id=${Uri.encodeComponent(token)}',
      path: '/home',
      linkId: 'clip_$token',
      matchType: MatchType.clipboard,
      isDeferred: true,
      params: {'click_id': token},
    );
  }
  if (link == null) return null;
  pendingDeferred = link;
  if (readyForNavigation) {
    _emit(link);
  }
  return link;
}