summaryrefslogtreecommitdiff
path: root/core/java/android/app/ActivityOptions.java
diff options
context:
space:
mode:
authorwilsonshih <wilsonshih@google.com>2022-06-09 11:47:19 +0800
committerwilsonshih <wilsonshih@google.com>2022-09-27 20:02:26 +0800
commit597e72635fcdd6c6cb2c19e1a6a8255dfa6ac8cc (patch)
treedcbf6921e4b7e26801afbbed772a04a476791f02 /core/java/android/app/ActivityOptions.java
parentf201b1bc4db5387735704d7760e2e026219d212b (diff)
Allow to disable showing starting window when start from recents
For now only support startActivityFromRecents. Use ActivityOptions#setDisableStartingWindow to disable showing the starting window for current launch. Bug: 202826469 Test: call setDisableStartingWindow in TaskView#launchTask, verify no starting window for that launch. Change-Id: I6151c1b4c45f424b46a957846539e3345d919de8
Diffstat (limited to 'core/java/android/app/ActivityOptions.java')
-rw-r--r--core/java/android/app/ActivityOptions.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/core/java/android/app/ActivityOptions.java b/core/java/android/app/ActivityOptions.java
index 61cca00f76ac..0c08735fbc0c 100644
--- a/core/java/android/app/ActivityOptions.java
+++ b/core/java/android/app/ActivityOptions.java
@@ -257,6 +257,12 @@ public class ActivityOptions extends ComponentOptions {
private static final String KEY_LAUNCH_TASK_ID = "android.activity.launchTaskId";
/**
+ * See {@link #setDisableStartingWindow}.
+ * @hide
+ */
+ private static final String KEY_DISABLE_STARTING_WINDOW = "android.activity.disableStarting";
+
+ /**
* See {@link #setPendingIntentLaunchFlags(int)}
* @hide
*/
@@ -467,6 +473,7 @@ public class ActivityOptions extends ComponentOptions {
private PictureInPictureParams mLaunchIntoPipParams;
private boolean mDismissKeyguard;
private boolean mIgnorePendingIntentCreatorForegroundState;
+ private boolean mDisableStartingWindow;
/**
* Create an ActivityOptions specifying a custom animation to run when
@@ -1272,6 +1279,7 @@ public class ActivityOptions extends ComponentOptions {
mDismissKeyguard = opts.getBoolean(KEY_DISMISS_KEYGUARD);
mIgnorePendingIntentCreatorForegroundState = opts.getBoolean(
KEY_IGNORE_PENDING_INTENT_CREATOR_FOREGROUND_STATE);
+ mDisableStartingWindow = opts.getBoolean(KEY_DISABLE_STARTING_WINDOW);
}
/**
@@ -1671,6 +1679,22 @@ public class ActivityOptions extends ComponentOptions {
}
/**
+ * Sets whether recents disable showing starting window when activity launch.
+ * @hide
+ */
+ @RequiresPermission(START_TASKS_FROM_RECENTS)
+ public void setDisableStartingWindow(boolean disable) {
+ mDisableStartingWindow = disable;
+ }
+
+ /**
+ * @hide
+ */
+ public boolean getDisableStartingWindow() {
+ return mDisableStartingWindow;
+ }
+
+ /**
* Specifies intent flags to be applied for any activity started from a PendingIntent.
*
* @hide
@@ -2178,6 +2202,9 @@ public class ActivityOptions extends ComponentOptions {
b.putBoolean(KEY_IGNORE_PENDING_INTENT_CREATOR_FOREGROUND_STATE,
mIgnorePendingIntentCreatorForegroundState);
}
+ if (mDisableStartingWindow) {
+ b.putBoolean(KEY_DISABLE_STARTING_WINDOW, mDisableStartingWindow);
+ }
return b;
}