Don't animate dim layer exit when recents animation finishes.
Recents animation handles animating the entire Task, which includes the
dim layer. After the recents animation is completed, there's no need for
the dim layer to start the exit animation. The recents animation takes
care of fading out the dim layer. Instead, just set the dimmer
mAnimateExit to false so the next call to updateDims will remove the dim
layer instead of starting the exit animation.
Test: Enter quick step with assistant open. Dim no longer flickers
at the end of the quick step animation.
Test: DimmerTests#testRemoveDimImmediately
Fixes: 74606159
Change-Id: Iceb4edde5edffdbba57dca35f258d9b3d7bf74f4
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index e4722f9..e8d3210 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -645,6 +645,10 @@
return mCanAffectSystemUiFlags;
}
+ void dontAnimateDimExit() {
+ mDimmer.dontAnimateExit();
+ }
+
@Override
public String toString() {
return "{taskId=" + mTaskId + " appTokens=" + mChildren + " mdr=" + mDeferRemoval + "}";