diff options
| author | 2022-12-06 23:53:04 +0000 | |
|---|---|---|
| committer | 2022-12-06 23:53:04 +0000 | |
| commit | 3da5fbb2cf6a327da828835baf210e7c428c9003 (patch) | |
| tree | d23f0667e6f461750cae04452dfe2102db07ed47 | |
| parent | b54bd67c514e6f126fdb39e7dab97df6476a02ad (diff) | |
| parent | 46e4151f54bdd3d7201da0e26237afded75a98a4 (diff) | |
Merge "Set early-wake during transition animation" into tm-qpr-dev am: fc85ce03ad am: 46e4151f54
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20646150
Change-Id: I00d058779a736921a100a475e2247c1b73998a18
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | services/core/java/com/android/server/wm/TransitionController.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/TransitionController.java b/services/core/java/com/android/server/wm/TransitionController.java index 99527b1454c1..cf541fcde459 100644 --- a/services/core/java/com/android/server/wm/TransitionController.java +++ b/services/core/java/com/android/server/wm/TransitionController.java @@ -38,6 +38,7 @@ import android.os.SystemProperties; import android.util.ArrayMap; import android.util.Slog; import android.util.proto.ProtoOutputStream; +import android.view.SurfaceControl; import android.view.WindowManager; import android.window.ITransitionMetricsReporter; import android.window.ITransitionPlayer; @@ -116,6 +117,8 @@ class TransitionController { */ boolean mBuildingFinishLayers = false; + private final SurfaceControl.Transaction mWakeT = new SurfaceControl.Transaction(); + TransitionController(ActivityTaskManagerService atm, TaskSnapshotController taskSnapshotController, TransitionTracer transitionTracer) { @@ -619,8 +622,16 @@ class TransitionController { private void updateRunningRemoteAnimation(Transition transition, boolean isPlaying) { if (mTransitionPlayerProc == null) return; if (isPlaying) { + mWakeT.setEarlyWakeupStart(); + mWakeT.apply(); + // Usually transitions put quite a load onto the system already (with all the things + // happening in app), so pause task snapshot persisting to not increase the load. + mAtm.mWindowManager.mTaskSnapshotController.setPersisterPaused(true); mTransitionPlayerProc.setRunningRemoteAnimation(true); } else if (mPlayingTransitions.isEmpty()) { + mWakeT.setEarlyWakeupEnd(); + mWakeT.apply(); + mAtm.mWindowManager.mTaskSnapshotController.setPersisterPaused(false); mTransitionPlayerProc.setRunningRemoteAnimation(false); mRemotePlayer.clear(); return; |