summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/window/flags/windowing_frontend.aconfig11
-rw-r--r--services/core/java/com/android/server/wm/ActivityStarter.java11
2 files changed, 20 insertions, 2 deletions
diff --git a/core/java/android/window/flags/windowing_frontend.aconfig b/core/java/android/window/flags/windowing_frontend.aconfig
index 0e19eb2d3219..f2ba16cf43d6 100644
--- a/core/java/android/window/flags/windowing_frontend.aconfig
+++ b/core/java/android/window/flags/windowing_frontend.aconfig
@@ -482,4 +482,15 @@ flag {
metadata {
purpose: PURPOSE_BUGFIX
}
+}
+
+flag {
+ name: "early_launch_hint"
+ namespace: "windowing_frontend"
+ description: "Sets Launch powermode for activity launches earlier"
+ bug: "399380676"
+ is_fixed_read_only: true
+ metadata {
+ purpose: PURPOSE_BUGFIX
+ }
} \ No newline at end of file
diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java
index bdde5fe9dcb5..d463ed098d34 100644
--- a/services/core/java/com/android/server/wm/ActivityStarter.java
+++ b/services/core/java/com/android/server/wm/ActivityStarter.java
@@ -1992,6 +1992,11 @@ class ActivityStarter {
}
}
+ if (com.android.window.flags.Flags.earlyLaunchHint()) {
+ mRootWindowContainer.startPowerModeLaunchIfNeeded(
+ false /* forceSend */, mStartActivity);
+ }
+
if (mTargetRootTask == null) {
mTargetRootTask = getOrCreateRootTask(mStartActivity, mLaunchFlags, targetTask,
mOptions);
@@ -2064,8 +2069,10 @@ class ActivityStarter {
mStartActivity.getTaskFragment().clearLastPausedActivity();
- mRootWindowContainer.startPowerModeLaunchIfNeeded(
- false /* forceSend */, mStartActivity);
+ if (!com.android.window.flags.Flags.earlyLaunchHint()) {
+ mRootWindowContainer.startPowerModeLaunchIfNeeded(
+ false /* forceSend */, mStartActivity);
+ }
final boolean isTaskSwitch = startedTask != prevTopTask;
mTargetRootTask.startActivityLocked(mStartActivity, topRootTask, newTask, isTaskSwitch,