class FirebaseDynamicLinksImpl extends FirebaseDynamicLinks {

  @Override
  public Task<PendingDynamicLinkData> getDynamicLink(@NonNull final Intent intent) {
    Task<PendingDynamicLinkData> result =
        googleApi.doWrite(new GetDynamicLinkImpl(analytics, intent.getDataString()));
    PendingDynamicLinkData pendingDynamicLinkData = getPendingDynamicLinkData(intent);
    if (pendingDynamicLinkData != null) {
      // DynamicLinkData included in the Intent, return it immediately and allow the Task to run in
      // the background to do logging and mark the FDL as returned.
      result = Tasks.forResult(pendingDynamicLinkData);
    }
    return result;
  }

  public  FirebaseDynamicLinksImpl(FirebaseApp firebaseApp, @Nullable AnalyticsConnector analytics);
  @VisibleForTesting public  FirebaseDynamicLinksImpl(
      GoogleApi<NoOptions> googleApi, @Nullable AnalyticsConnector analytics);

}