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

Commit e4dbcf92 authored by Selim Cinek's avatar Selim Cinek
Browse files

Fixed an issue where media could flicker during bypass

When turning off the phone, media could sometimes
flicker in during bypass, because the qs expansion
would become larger than 0.0f. We now keep the
expansion at 0 during screen off

Bug: 189318793
Test: enable bypass, turn off screen.
Change-Id: Ib2b30fb1c96e4b078978b1958747473aa5fc9cfc
parent 48f51861
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -572,6 +572,7 @@ public class NotificationPanelViewController extends PanelViewController {
    private int mScrimCornerRadius;
    private int mScreenCornerRadius;
    private int mNotificationScrimPadding;
    private boolean mQSAnimatingHiddenFromCollapsed;

    private final QuickAccessWalletClient mQuickAccessWalletClient;
    private final Executor mUiExecutor;
@@ -1419,7 +1420,7 @@ public class NotificationPanelViewController extends PanelViewController {
        }
        mStatusBar.getGutsManager().closeAndSaveGuts(true /* leavebehind */, true /* force */,
                true /* controls */, -1 /* x */, -1 /* y */, true /* resetMenu */);
        if (animate) {
        if (animate && !isFullyCollapsed()) {
            animateCloseQs(true /* animateAway */);
        } else {
            closeQs();
@@ -1703,6 +1704,11 @@ public class NotificationPanelViewController extends PanelViewController {
    }

    private float computeQsExpansionFraction() {
        if (mQSAnimatingHiddenFromCollapsed) {
            // When hiding QS from collapsed state, the expansion can sometimes temporarily
            // be larger than 0 because of the timing, leading to flickers.
            return 0.0f;
        }
        return Math.min(
                1f, (mQsExpansionHeight - mQsMinExpansionHeight) / (mQsMaxExpansionHeight
                        - mQsMinExpansionHeight));
@@ -2505,6 +2511,7 @@ public class NotificationPanelViewController extends PanelViewController {

            @Override
            public void onAnimationEnd(Animator animation) {
                mQSAnimatingHiddenFromCollapsed = false;
                mAnimatingQS = false;
                notifyExpandingFinished();
                mNotificationStackScrollLayoutController.resetCheckSnoozeLeavebehind();
@@ -2521,6 +2528,7 @@ public class NotificationPanelViewController extends PanelViewController {
        animator.start();
        mQsExpansionAnimator = animator;
        mQsAnimatorExpand = expanding;
        mQSAnimatingHiddenFromCollapsed = computeQsExpansionFraction() == 0.0f && target == 0;
    }

    /**