Merge "Fix scrim opacity in the brightness mirror" into oc-dr1-dev

This commit is contained in:
Lucas Dupin
2017-07-11 17:29:13 +00:00
committed by Android (Google) Code Review
3 changed files with 13 additions and 10 deletions

View File

@@ -617,9 +617,9 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener,
return alpha * expandFactor; return alpha * expandFactor;
} }
public void forceHideScrims(boolean hide) { public void forceHideScrims(boolean hide, boolean animated) {
mForceHideScrims = hide; mForceHideScrims = hide;
mAnimateChange = false; mAnimateChange = animated;
scheduleUpdate(); scheduleUpdate();
} }

View File

@@ -1155,7 +1155,8 @@ public class StatusBar extends SystemUI implements DemoMode,
.build()); .build());
final QSTileHost qsh = SystemUIFactory.getInstance().createQSTileHost(mContext, this, final QSTileHost qsh = SystemUIFactory.getInstance().createQSTileHost(mContext, this,
mIconController); mIconController);
mBrightnessMirrorController = new BrightnessMirrorController(mStatusBarWindow); mBrightnessMirrorController = new BrightnessMirrorController(mStatusBarWindow,
mScrimController);
fragmentHostManager.addTagListener(QS.TAG, (tag, f) -> { fragmentHostManager.addTagListener(QS.TAG, (tag, f) -> {
QS qs = (QS) f; QS qs = (QS) f;
if (qs instanceof QSFragment) { if (qs instanceof QSFragment) {
@@ -4271,7 +4272,7 @@ public class StatusBar extends SystemUI implements DemoMode,
releaseGestureWakeLock(); releaseGestureWakeLock();
runLaunchTransitionEndRunnable(); runLaunchTransitionEndRunnable();
mLaunchTransitionFadingAway = false; mLaunchTransitionFadingAway = false;
mScrimController.forceHideScrims(false /* hide */); mScrimController.forceHideScrims(false /* hide */, false /* animated */);
updateMediaMetaData(true /* metaDataChanged */, true); updateMediaMetaData(true /* metaDataChanged */, true);
} }
@@ -4306,7 +4307,7 @@ public class StatusBar extends SystemUI implements DemoMode,
if (beforeFading != null) { if (beforeFading != null) {
beforeFading.run(); beforeFading.run();
} }
mScrimController.forceHideScrims(true /* hide */); mScrimController.forceHideScrims(true /* hide */, false /* animated */);
updateMediaMetaData(false, true); updateMediaMetaData(false, true);
mNotificationPanel.setAlpha(1); mNotificationPanel.setAlpha(1);
mStackScroller.setParentNotFullyVisible(true); mStackScroller.setParentNotFullyVisible(true);

View File

@@ -24,6 +24,7 @@ import android.widget.FrameLayout;
import com.android.systemui.Interpolators; import com.android.systemui.Interpolators;
import com.android.systemui.R; import com.android.systemui.R;
import com.android.systemui.statusbar.ScrimView; 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.phone.StatusBarWindowView;
import com.android.systemui.statusbar.stack.NotificationStackScrollLayout; import com.android.systemui.statusbar.stack.NotificationStackScrollLayout;
@@ -37,30 +38,31 @@ public class BrightnessMirrorController {
public long TRANSITION_DURATION_IN = 200; public long TRANSITION_DURATION_IN = 200;
private final StatusBarWindowView mStatusBarWindow; private final StatusBarWindowView mStatusBarWindow;
private final ScrimView mScrimBehind; private final ScrimController mScrimController;
private final View mNotificationPanel; private final View mNotificationPanel;
private final int[] mInt2Cache = new int[2]; private final int[] mInt2Cache = new int[2];
private View mBrightnessMirror; private View mBrightnessMirror;
public BrightnessMirrorController(StatusBarWindowView statusBarWindow) { public BrightnessMirrorController(StatusBarWindowView statusBarWindow,
ScrimController scrimController) {
mStatusBarWindow = statusBarWindow; mStatusBarWindow = statusBarWindow;
mScrimBehind = (ScrimView) statusBarWindow.findViewById(R.id.scrim_behind);
mBrightnessMirror = statusBarWindow.findViewById(R.id.brightness_mirror); mBrightnessMirror = statusBarWindow.findViewById(R.id.brightness_mirror);
mNotificationPanel = statusBarWindow.findViewById(R.id.notification_panel); mNotificationPanel = statusBarWindow.findViewById(R.id.notification_panel);
mStackScroller = (NotificationStackScrollLayout) statusBarWindow.findViewById( mStackScroller = (NotificationStackScrollLayout) statusBarWindow.findViewById(
R.id.notification_stack_scroller); R.id.notification_stack_scroller);
mScrimController = scrimController;
} }
public void showMirror() { public void showMirror() {
mBrightnessMirror.setVisibility(View.VISIBLE); mBrightnessMirror.setVisibility(View.VISIBLE);
mStackScroller.setFadingOut(true); mStackScroller.setFadingOut(true);
mScrimBehind.animateViewAlpha(0.0f, TRANSITION_DURATION_OUT, Interpolators.ALPHA_OUT); mScrimController.forceHideScrims(true /* hide */, true /* animated */);
outAnimation(mNotificationPanel.animate()) outAnimation(mNotificationPanel.animate())
.withLayer(); .withLayer();
} }
public void hideMirror() { public void hideMirror() {
mScrimBehind.animateViewAlpha(1.0f, TRANSITION_DURATION_IN, Interpolators.ALPHA_IN); mScrimController.forceHideScrims(false /* hide */, true /* animated */);
inAnimation(mNotificationPanel.animate()) inAnimation(mNotificationPanel.animate())
.withLayer() .withLayer()
.withEndAction(new Runnable() { .withEndAction(new Runnable() {