summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Pablo Gamito <pablogamito@google.com> 2022-04-27 15:53:53 +0000
committer Pablo Gamito <pablogamito@google.com> 2022-04-27 15:56:21 +0000
commit96b645d043dfc296d2c83db1db4ffa74d500e244 (patch)
tree24172ca7ddc625517a6fecd1ecdc674b06a1cebe
parent809036e63866b2937825a8f08a2523d5bc0a7243 (diff)
Only run Animation#setBackdropColor on overriden app transition
Only setBackdropColor from overridePendingAppTransition when mNextAppTransitionType is NEXT_TRANSIT_TYPE_CUSTOM since that is when we want overridePendingAppTransition to take effect. And because mNextAppTransitionBackgroundColor is not cleared after overridePendingAppTransition is called be don't want to continue applying it to other transitions leading to a persistent background color. And in some cases a is null which leads to a NPE if overridePendingAppTransition was called at some point before. Bug: 229929107 Bug: 229822876 Bug: 222438428 Test: atest CtsWindowManagerDeviceTestCases:ActivityTransitionTests Change-Id: I39c768f147a0fafec063c3929974c280556997cc
-rw-r--r--services/core/java/com/android/server/wm/AppTransition.java7
1 files changed, 3 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/wm/AppTransition.java b/services/core/java/com/android/server/wm/AppTransition.java
index 68a09a6d4b9b..4f015d8d77a0 100644
--- a/services/core/java/com/android/server/wm/AppTransition.java
+++ b/services/core/java/com/android/server/wm/AppTransition.java
@@ -683,6 +683,9 @@ public class AppTransition implements Dump {
} else if (mNextAppTransitionType == NEXT_TRANSIT_TYPE_CUSTOM) {
a = mTransitionAnimation.loadAppTransitionAnimation(mNextAppTransitionPackage,
enter ? mNextAppTransitionEnter : mNextAppTransitionExit);
+ if (mNextAppTransitionBackgroundColor != 0) {
+ a.setBackdropColor(mNextAppTransitionBackgroundColor);
+ }
ProtoLog.v(WM_DEBUG_APP_TRANSITIONS_ANIM,
"applyAnimation: anim=%s nextAppTransition=ANIM_CUSTOM transit=%s "
+ "isEntrance=%b Callers=%s",
@@ -842,10 +845,6 @@ public class AppTransition implements Dump {
}
setAppTransitionFinishedCallbackIfNeeded(a);
- if (mNextAppTransitionBackgroundColor != 0) {
- a.setBackdropColor(mNextAppTransitionBackgroundColor);
- }
-
return a;
}