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 0bd58df130028..950aca326d977 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java @@ -617,9 +617,9 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, return alpha * expandFactor; } - public void forceHideScrims(boolean hide) { + public void forceHideScrims(boolean hide, boolean animated) { mForceHideScrims = hide; - mAnimateChange = false; + mAnimateChange = animated; scheduleUpdate(); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index 4e428e82d3e3c..a8ae7e03218a2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -1156,7 +1156,8 @@ public class StatusBar extends SystemUI implements DemoMode, .build()); final QSTileHost qsh = SystemUIFactory.getInstance().createQSTileHost(mContext, this, mIconController); - mBrightnessMirrorController = new BrightnessMirrorController(mStatusBarWindow); + mBrightnessMirrorController = new BrightnessMirrorController(mStatusBarWindow, + mScrimController); fragmentHostManager.addTagListener(QS.TAG, (tag, f) -> { QS qs = (QS) f; if (qs instanceof QSFragment) { @@ -4272,7 +4273,7 @@ public class StatusBar extends SystemUI implements DemoMode, releaseGestureWakeLock(); runLaunchTransitionEndRunnable(); mLaunchTransitionFadingAway = false; - mScrimController.forceHideScrims(false /* hide */); + mScrimController.forceHideScrims(false /* hide */, false /* animated */); updateMediaMetaData(true /* metaDataChanged */, true); } @@ -4307,7 +4308,7 @@ public class StatusBar extends SystemUI implements DemoMode, if (beforeFading != null) { beforeFading.run(); } - mScrimController.forceHideScrims(true /* hide */); + mScrimController.forceHideScrims(true /* hide */, false /* animated */); updateMediaMetaData(false, true); mNotificationPanel.setAlpha(1); mStackScroller.setParentNotFullyVisible(true); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BrightnessMirrorController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BrightnessMirrorController.java index ab55b23c91ecb..718c34859afa4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BrightnessMirrorController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BrightnessMirrorController.java @@ -24,6 +24,7 @@ import android.widget.FrameLayout; import com.android.systemui.Interpolators; import com.android.systemui.R; import com.android.systemui.statusbar.ScrimView; +import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.phone.StatusBarWindowView; import com.android.systemui.statusbar.stack.NotificationStackScrollLayout; @@ -37,30 +38,31 @@ public class BrightnessMirrorController { public long TRANSITION_DURATION_IN = 200; private final StatusBarWindowView mStatusBarWindow; - private final ScrimView mScrimBehind; + private final ScrimController mScrimController; private final View mNotificationPanel; private final int[] mInt2Cache = new int[2]; private View mBrightnessMirror; - public BrightnessMirrorController(StatusBarWindowView statusBarWindow) { + public BrightnessMirrorController(StatusBarWindowView statusBarWindow, + ScrimController scrimController) { mStatusBarWindow = statusBarWindow; - mScrimBehind = (ScrimView) statusBarWindow.findViewById(R.id.scrim_behind); mBrightnessMirror = statusBarWindow.findViewById(R.id.brightness_mirror); mNotificationPanel = statusBarWindow.findViewById(R.id.notification_panel); mStackScroller = (NotificationStackScrollLayout) statusBarWindow.findViewById( R.id.notification_stack_scroller); + mScrimController = scrimController; } public void showMirror() { mBrightnessMirror.setVisibility(View.VISIBLE); mStackScroller.setFadingOut(true); - mScrimBehind.animateViewAlpha(0.0f, TRANSITION_DURATION_OUT, Interpolators.ALPHA_OUT); + mScrimController.forceHideScrims(true /* hide */, true /* animated */); outAnimation(mNotificationPanel.animate()) .withLayer(); } public void hideMirror() { - mScrimBehind.animateViewAlpha(1.0f, TRANSITION_DURATION_IN, Interpolators.ALPHA_IN); + mScrimController.forceHideScrims(false /* hide */, true /* animated */); inAnimation(mNotificationPanel.animate()) .withLayer() .withEndAction(new Runnable() {