public static AppLinkData createFromAlApplinkData()

in facebook-applinks/src/main/java/com/facebook/applinks/AppLinkData.java [271:313]


  public static AppLinkData createFromAlApplinkData(Intent intent) {
    if (intent == null) {
      return null;
    }

    Bundle applinks = intent.getBundleExtra(BUNDLE_AL_APPLINK_DATA_KEY);
    if (applinks == null) {
      return null;
    }

    AppLinkData appLinkData = new AppLinkData();
    appLinkData.targetUri = intent.getData();
    appLinkData.appLinkData = getAppLinkData(appLinkData.targetUri);
    if (appLinkData.targetUri == null) {
      String targetUriString = applinks.getString(METHOD_ARGS_TARGET_URL_KEY);
      if (targetUriString != null) {
        appLinkData.targetUri = Uri.parse(targetUriString);
      }
    }
    appLinkData.argumentBundle = applinks;
    appLinkData.arguments = null;
    Bundle refererData = applinks.getBundle(ARGUMENTS_REFERER_DATA_KEY);
    if (refererData != null) {
      appLinkData.ref = refererData.getString(REFERER_DATA_REF_KEY);
    }

    Bundle extras = applinks.getBundle(ARGUMENTS_EXTRAS_KEY);
    if (extras != null) {
      String deeplinkContext = extras.getString(EXTRAS_DEEPLINK_CONTEXT_KEY);
      if (deeplinkContext != null) {
        try {
          JSONObject dlContextJson = new JSONObject(deeplinkContext);
          if (dlContextJson.has(PROMOTION_CODE_KEY)) {
            appLinkData.promotionCode = dlContextJson.getString(PROMOTION_CODE_KEY);
          }
        } catch (JSONException e) {
          Utility.logd(TAG, "Unable to parse deeplink_context JSON", e);
        }
      }
    }

    return appLinkData;
  }