diff options
| author | 2025-02-26 15:57:27 +0000 | |
|---|---|---|
| committer | 2025-03-03 00:49:31 +0000 | |
| commit | 371561b7b7ca803fe984d1d72f9cb548dc9a2fe8 (patch) | |
| tree | 1ab99e85e3be6f47d8ee0dd8a4bd657d36520276 | |
| parent | 453c976b01412ed16fc5ffbc0ae0290206e73b45 (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.aconfig | 11 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityStarter.java | 11 |
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, |