Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c393be76 authored by Lucas Dupin's avatar Lucas Dupin Committed by Android (Google) Code Review
Browse files

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

parents 2b6d358d 39784a14
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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();
    }

+4 −3
Original line number Diff line number Diff line
@@ -1155,7 +1155,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) {
@@ -4271,7 +4272,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);
    }

@@ -4306,7 +4307,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);
+7 −5
Original line number Diff line number Diff line
@@ -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() {