diff options
| -rw-r--r-- | core/api/test-current.txt | 5 | ||||
| -rw-r--r-- | core/java/android/app/ActivityOptions.java | 34 |
2 files changed, 39 insertions, 0 deletions
diff --git a/core/api/test-current.txt b/core/api/test-current.txt index a840fc2b394f..a866a34166f7 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -186,6 +186,7 @@ package android.app { method public void setEligibleForLegacyPermissionPrompt(boolean); method public static void setExitTransitionTimeout(long); method public void setLaunchActivityType(int); + method public void setLaunchCookie(@NonNull android.app.ActivityOptions.LaunchCookie); method public void setLaunchTaskDisplayAreaFeatureId(int); method public void setLaunchWindowingMode(int); method public void setLaunchedFromBubble(boolean); @@ -193,6 +194,10 @@ package android.app { method public void setTaskOverlay(boolean, boolean); } + public static final class ActivityOptions.LaunchCookie { + ctor public ActivityOptions.LaunchCookie(); + } + public static interface ActivityOptions.OnAnimationFinishedListener { method public void onAnimationFinished(long); } diff --git a/core/java/android/app/ActivityOptions.java b/core/java/android/app/ActivityOptions.java index 8af7ed1bc8d3..57fca74e7e59 100644 --- a/core/java/android/app/ActivityOptions.java +++ b/core/java/android/app/ActivityOptions.java @@ -29,6 +29,7 @@ import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.RequiresPermission; +import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.TestApi; import android.app.ExitTransitionCoordinator.ActivityExitTransitionCallbacks; @@ -41,6 +42,7 @@ import android.graphics.Bitmap; import android.graphics.Bitmap.Config; import android.graphics.Rect; import android.hardware.HardwareBuffer; +import android.os.Binder; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; @@ -1921,6 +1923,38 @@ public class ActivityOptions extends ComponentOptions { } /** + * An opaque token to use with {@link #setLaunchCookie(LaunchCookie)}. + * + * @hide + */ + @SuppressLint("UnflaggedApi") + @TestApi + public static final class LaunchCookie { + /** @hide */ + public final IBinder binder = new Binder(); + + /** @hide */ + @SuppressLint("UnflaggedApi") + @TestApi + public LaunchCookie() {} + } + + /** + * Sets a launch cookie that can be used to track the {@link Activity} and task that are + * launched as a result of this option. If the launched activity is a trampoline that starts + * another activity immediately, the cookie will be transferred to the next activity. + * + * @param launchCookie a developer specified identifier for a specific task. + * + * @hide + */ + @SuppressLint("UnflaggedApi") + @TestApi + public void setLaunchCookie(@NonNull LaunchCookie launchCookie) { + setLaunchCookie(launchCookie.binder); + } + + /** * Sets a launch cookie that can be used to track the activity and task that are launch as a * result of this option. If the launched activity is a trampoline that starts another activity * immediately, the cookie will be transferred to the next activity. |