diff options
| author | 2025-03-02 18:33:05 -0800 | |
|---|---|---|
| committer | 2025-03-02 18:33:05 -0800 | |
| commit | 168fc18818569bb8686eea6ac40a907046748344 (patch) | |
| tree | ec3866efa001ba90ac6b661075a37ed1d14f6776 | |
| parent | ab94896f3964e30b0be3464696770c0c5f0a5989 (diff) | |
| parent | 371561b7b7ca803fe984d1d72f9cb548dc9a2fe8 (diff) | |
Merge "Start power mode for activity launch earlier" into main
| -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, |