summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/api/test-current.txt5
-rw-r--r--core/java/android/app/ActivityOptions.java34
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.