Skip to content

add more extension functions for dynamic-links-ktx #1753

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Aug 10, 2020
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions firebase-dynamic-links/ktx/api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,19 @@ package com.google.firebase.dynamiclinks.ktx {
ctor public FirebaseDynamicLinksKt();
method @NonNull public static void androidParameters(@NonNull com.google.firebase.dynamiclinks.DynamicLink.Builder, @NonNull kotlin.jvm.functions.Function1<? super com.google.firebase.dynamiclinks.DynamicLink.AndroidParameters.Builder,kotlin.Unit> init);
method @NonNull public static void androidParameters(@NonNull com.google.firebase.dynamiclinks.DynamicLink.Builder, @NonNull String packageName, @NonNull kotlin.jvm.functions.Function1<? super com.google.firebase.dynamiclinks.DynamicLink.AndroidParameters.Builder,kotlin.Unit> init);
method @Nullable public static operator android.net.Uri component1(@NonNull com.google.firebase.dynamiclinks.ShortDynamicLink);
method @Nullable public static operator android.net.Uri component1(@NonNull com.google.firebase.dynamiclinks.PendingDynamicLinkData);
method @Nullable public static operator android.net.Uri component2(@NonNull com.google.firebase.dynamiclinks.ShortDynamicLink);
method public static operator int component2(@NonNull com.google.firebase.dynamiclinks.PendingDynamicLinkData);
method @NonNull public static operator java.util.List<com.google.firebase.dynamiclinks.ShortDynamicLink.Warning> component3(@NonNull com.google.firebase.dynamiclinks.ShortDynamicLink);
method public static operator long component3(@NonNull com.google.firebase.dynamiclinks.PendingDynamicLinkData);
method @NonNull public static com.google.firebase.dynamiclinks.DynamicLink dynamicLink(@NonNull com.google.firebase.dynamiclinks.FirebaseDynamicLinks, @NonNull kotlin.jvm.functions.Function1<? super com.google.firebase.dynamiclinks.DynamicLink.Builder,kotlin.Unit> init);
method @NonNull public static com.google.firebase.dynamiclinks.FirebaseDynamicLinks dynamicLinks(@NonNull com.google.firebase.ktx.Firebase, @NonNull com.google.firebase.FirebaseApp app);
method @NonNull public static com.google.firebase.dynamiclinks.FirebaseDynamicLinks getDynamicLinks(@NonNull com.google.firebase.ktx.Firebase);
method @NonNull public static com.google.android.gms.tasks.Task<com.google.firebase.dynamiclinks.PendingDynamicLinkData> getFirebaseDynamicLink(@NonNull android.content.Intent, @NonNull com.google.firebase.FirebaseApp firebaseApp);
method @NonNull public static com.google.android.gms.tasks.Task<com.google.firebase.dynamiclinks.PendingDynamicLinkData> getFirebaseDynamicLink(@NonNull android.net.Uri, @NonNull com.google.firebase.FirebaseApp firebaseApp);
method @NonNull public static com.google.android.gms.tasks.Task<com.google.firebase.dynamiclinks.PendingDynamicLinkData> getFirebaseDynamicLink(@NonNull android.content.Intent);
method @NonNull public static com.google.android.gms.tasks.Task<com.google.firebase.dynamiclinks.PendingDynamicLinkData> getFirebaseDynamicLink(@NonNull android.net.Uri);
method @NonNull public static void googleAnalyticsParameters(@NonNull com.google.firebase.dynamiclinks.DynamicLink.Builder, @NonNull kotlin.jvm.functions.Function1<? super com.google.firebase.dynamiclinks.DynamicLink.GoogleAnalyticsParameters.Builder,kotlin.Unit> init);
method @NonNull public static void googleAnalyticsParameters(@NonNull com.google.firebase.dynamiclinks.DynamicLink.Builder, @NonNull String source, @NonNull String medium, @NonNull String campaign, @NonNull kotlin.jvm.functions.Function1<? super com.google.firebase.dynamiclinks.DynamicLink.GoogleAnalyticsParameters.Builder,kotlin.Unit> init);
method @NonNull public static void iosParameters(@NonNull com.google.firebase.dynamiclinks.DynamicLink.Builder, @NonNull String bundleId, @NonNull kotlin.jvm.functions.Function1<? super com.google.firebase.dynamiclinks.DynamicLink.IosParameters.Builder,kotlin.Unit> init);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,16 @@

package com.google.firebase.dynamiclinks.ktx

import android.content.Intent
import android.net.Uri
import androidx.annotation.Keep
import com.google.android.gms.tasks.Task
import com.google.firebase.FirebaseApp
import com.google.firebase.components.Component
import com.google.firebase.components.ComponentRegistrar
import com.google.firebase.dynamiclinks.DynamicLink
import com.google.firebase.dynamiclinks.FirebaseDynamicLinks
import com.google.firebase.dynamiclinks.PendingDynamicLinkData
import com.google.firebase.dynamiclinks.ShortDynamicLink
import com.google.firebase.ktx.Firebase
import com.google.firebase.platforminfo.LibraryVersionComponent
Expand Down Expand Up @@ -117,6 +120,50 @@ fun FirebaseDynamicLinks.shortLinkAsync(suffix: Int, init: DynamicLink.Builder.(
return builder.buildShortDynamicLink(suffix)
}

/**
* Returns the [PendingDynamicLinkData] present in this [Intent], using the
* [FirebaseDynamicLinks] instance of the given [FirebaseApp].
*/
fun Intent.getFirebaseDynamicLink(firebaseApp: FirebaseApp): Task<PendingDynamicLinkData> {
return FirebaseDynamicLinks.getInstance(firebaseApp).getDynamicLink(this)
}

/**
* Returns the [PendingDynamicLinkData] present in this [Uri], using the
* [FirebaseDynamicLinks] instance of the given [FirebaseApp].
*/
fun Uri.getFirebaseDynamicLink(firebaseApp: FirebaseApp): Task<PendingDynamicLinkData> {
return FirebaseDynamicLinks.getInstance(firebaseApp).getDynamicLink(this)
}

/** Returns the [PendingDynamicLinkData] present in this [Intent] */
fun Intent.getFirebaseDynamicLink(): Task<PendingDynamicLinkData> {
return FirebaseDynamicLinks.getInstance().getDynamicLink(this)
}

/** Returns the [PendingDynamicLinkData] present in this [Uri] */
fun Uri.getFirebaseDynamicLink(): Task<PendingDynamicLinkData> {
return FirebaseDynamicLinks.getInstance().getDynamicLink(this)
}

/** Destructuring declaration for [ShortDynamicLink] to provide shortLink */
operator fun ShortDynamicLink.component1() = shortLink

/** Destructuring declaration for [ShortDynamicLink] to provide previewLink */
operator fun ShortDynamicLink.component2() = previewLink

/** Destructuring declaration for [ShortDynamicLink] to provide warnings */
operator fun ShortDynamicLink.component3(): List<ShortDynamicLink.Warning> = warnings

/** Destructuring declaration for [PendingDynamicLinkData] to provide link */
operator fun PendingDynamicLinkData.component1() = link

/** Destructuring declaration for [PendingDynamicLinkData] to provide minimumAppVersion */
operator fun PendingDynamicLinkData.component2() = minimumAppVersion

/** Destructuring declaration for [PendingDynamicLinkData] to provide clickTimestamp */
operator fun PendingDynamicLinkData.component3() = clickTimestamp

internal const val LIBRARY_NAME: String = "fire-dl-ktx"

/** @suppress */
Expand Down