Boost thread priorities when running recents anim
To improve scheduling in WM to improve latency.
Bug: 73651529
Test: go/wm-smoke
Test: Trace swiping up, make sure threads have right priority
Change-Id: Ic35c00b70be4877abfe07de4ba1f18648cabd812
diff --git a/services/core/java/com/android/server/wm/AppTransition.java b/services/core/java/com/android/server/wm/AppTransition.java
index f0ca2ef..93ca4dc 100644
--- a/services/core/java/com/android/server/wm/AppTransition.java
+++ b/services/core/java/com/android/server/wm/AppTransition.java
@@ -469,10 +469,16 @@
* boost the priorities to a more important value whenever an app transition is going to happen
* soon or an app transition is running.
*/
- private void updateBooster() {
- WindowManagerService.sThreadPriorityBooster.setAppTransitionRunning(
- mNextAppTransition != TRANSIT_UNSET || mAppTransitionState == APP_STATE_READY
- || mAppTransitionState == APP_STATE_RUNNING);
+ void updateBooster() {
+ WindowManagerService.sThreadPriorityBooster.setAppTransitionRunning(needsBoosting());
+ }
+
+ private boolean needsBoosting() {
+ final boolean recentsAnimRunning = mService.getRecentsAnimationController() != null;
+ return mNextAppTransition != TRANSIT_UNSET
+ || mAppTransitionState == APP_STATE_READY
+ || mAppTransitionState == APP_STATE_RUNNING
+ || recentsAnimRunning;
}
void registerListenerLocked(AppTransitionListener listener) {