diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java | 43 |
1 files changed, 25 insertions, 18 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java index c5901398a54b..33997b9a5735 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java @@ -440,24 +440,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo if (!(relevantState && mExpansionAffectsAlpha)) { return; } - applyExpansionToAlpha(); - if (mUpdatePending) { - return; - } - setOrAdaptCurrentAnimation(mScrimBehind); - setOrAdaptCurrentAnimation(mScrimInFront); - setOrAdaptCurrentAnimation(mScrimForBubble); - dispatchScrimState(mScrimBehind.getViewAlpha()); - - // Reset wallpaper timeout if it's already timeout like expanding panel while PULSING - // and docking. - if (mWallpaperVisibilityTimedOut) { - mWallpaperVisibilityTimedOut = false; - DejankUtils.postAfterTraversal(() -> { - mTimeTicker.schedule(mDozeParameters.getWallpaperAodDuration(), - AlarmTimeout.MODE_IGNORE_IF_SCHEDULED); - }); - } + applyAndDispatchExpansion(); } } @@ -513,6 +496,27 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo } } + private void applyAndDispatchExpansion() { + applyExpansionToAlpha(); + if (mUpdatePending) { + return; + } + setOrAdaptCurrentAnimation(mScrimBehind); + setOrAdaptCurrentAnimation(mScrimInFront); + setOrAdaptCurrentAnimation(mScrimForBubble); + dispatchScrimState(mScrimBehind.getViewAlpha()); + + // Reset wallpaper timeout if it's already timeout like expanding panel while PULSING + // and docking. + if (mWallpaperVisibilityTimedOut) { + mWallpaperVisibilityTimedOut = false; + DejankUtils.postAfterTraversal(() -> { + mTimeTicker.schedule(mDozeParameters.getWallpaperAodDuration(), + AlarmTimeout.MODE_IGNORE_IF_SCHEDULED); + }); + } + } + /** * Sets the given drawable as the background of the scrim that shows up behind the * notifications. @@ -1006,6 +1010,9 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo public void setExpansionAffectsAlpha(boolean expansionAffectsAlpha) { mExpansionAffectsAlpha = expansionAffectsAlpha; + if (expansionAffectsAlpha) { + applyAndDispatchExpansion(); + } } public void setKeyguardOccluded(boolean keyguardOccluded) { |