class PendingDynamicLinkData {

  @Nullable
  public Intent getUpdateAppIntent(@NonNull Context context) {
    int versionCode;
    // zero indicates any version is accepted.
    if (getMinimumAppVersion() == 0) {
      return null;
    }
    try {
      versionCode =
          context
              .getPackageManager()
              .getPackageInfo(context.getApplicationContext().getPackageName(), 0)
              .versionCode;
    } catch (NameNotFoundException e) {
      // Unexpected exception, so return null indicating don't update.
      return null;
    }
    if (versionCode < getMinimumAppVersion() && getRedirectUrl() != null) {
      return new Intent(Intent.ACTION_VIEW)
          .setData(getRedirectUrl())
          .setPackage(GooglePlayServicesUtil.GOOGLE_PLAY_STORE_PACKAGE);
    }
    return null;
  }

  @VisibleForTesting public  PendingDynamicLinkData(DynamicLinkData dynamicLinkData);
  protected  PendingDynamicLinkData(
      @Nullable String deepLink, int minVersion, long clickTimestamp, @Nullable Uri redirectUrl);

}