summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author “Shadman <shadmans@google.com> 2025-02-26 15:57:27 +0000
committer “Shadman <shadmans@google.com> 2025-03-03 00:49:31 +0000
commit371561b7b7ca803fe984d1d72f9cb548dc9a2fe8 (patch)
tree1ab99e85e3be6f47d8ee0dd8a4bd657d36520276
parent453c976b01412ed16fc5ffbc0ae0290206e73b45 (diff)
Start power mode for activity launch earlier
Setting power mode to Launch earlier allows a configuration of power hints to increase resources and handle activity launches faster. Test: app launch tests BUG: 399380676 Flag: com.android.window.flags.early_launch_hint Change-Id: I3316bcebb0db8f07ee5717d2d88f51638b7e243a
-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,