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

Commit d23d6bb3 authored by Michal Brzezinski's avatar Michal Brzezinski
Browse files

Fixing duplicate status bars in unfolded mode

The issue was caused by incorrect alpha calculation - getLockscreenShadeDragProgress should account for special case of going directly to expanded QS on lockscreen, when "dragProgress" is not updated.
Also putting keyguard status bar refresh close to split shade header refresh, otherwise keyguard status bar alpha wouldn't update often enough and animation would look like it's stuck.

Bug: 212544026
Test: in folded mode lockscreen pull down shade from the top to expanded QS -> unfold and see only one status bar
Change-Id: I3e8c66589270469cfc1484963d0a53c7273d07c1
parent 0eebf348
Loading
Loading
Loading
Loading
+4 −9
Original line number Diff line number Diff line
@@ -2438,7 +2438,7 @@ public class NotificationPanelViewController extends PanelViewController {
        mSplitShadeHeaderController.setShadeExpandedFraction(shadeExpandedFraction);
        mSplitShadeHeaderController.setQsExpandedFraction(qsExpansionFraction);
        mSplitShadeHeaderController.setShadeExpanded(mQsVisible);

        mKeyguardStatusBarViewController.updateViewState();

        if (mCommunalViewController != null) {
            mCommunalViewController.updateQsExpansion(qsExpansionFraction);
@@ -4733,8 +4733,6 @@ public class NotificationPanelViewController extends PanelViewController {
    public interface NotificationPanelViewStateProvider {
        /** Returns the expanded height of the panel view. */
        float getPanelViewExpandedHeight();
        /** Returns the fraction of QS that's expanded. */
        float getQsExpansionFraction();
        /**
         * Returns true if heads up should be visible.
         *
@@ -4754,11 +4752,6 @@ public class NotificationPanelViewController extends PanelViewController {
                    return getExpandedHeight();
                }

                @Override
                public float getQsExpansionFraction() {
                    return computeQsExpansionFraction();
                }

                @Override
                public boolean shouldHeadsUpBeVisible() {
                    return mHeadsUpAppearanceController.shouldBeVisible();
@@ -4766,7 +4759,9 @@ public class NotificationPanelViewController extends PanelViewController {

                @Override
                public float getLockscreenShadeDragProgress() {
                    return mLockscreenShadeTransitionController.getQSDragProgress();
                    return mTransitioningToFullShadeProgress > 0
                            ? mLockscreenShadeTransitionController.getQSDragProgress()
                            : computeQsExpansionFraction();
                }
            };

+0 −10
Original line number Diff line number Diff line
@@ -354,7 +354,6 @@ public class KeyguardStatusBarViewControllerTest extends SysuiTestCase {
        TestNotificationPanelViewStateProvider() {}

        private float mPanelViewExpandedHeight = 100f;
        private float mQsExpansionFraction = 0f;
        private boolean mShouldHeadsUpBeVisible = false;
        private float mLockscreenShadeDragProgress = 0f;

@@ -363,11 +362,6 @@ public class KeyguardStatusBarViewControllerTest extends SysuiTestCase {
            return mPanelViewExpandedHeight;
        }

        @Override
        public float getQsExpansionFraction() {
            return mQsExpansionFraction;
        }

        @Override
        public boolean shouldHeadsUpBeVisible() {
            return mShouldHeadsUpBeVisible;
@@ -382,10 +376,6 @@ public class KeyguardStatusBarViewControllerTest extends SysuiTestCase {
            this.mPanelViewExpandedHeight = panelViewExpandedHeight;
        }

        public void setQsExpansionFraction(float qsExpansionFraction) {
            this.mQsExpansionFraction = qsExpansionFraction;
        }

        public void setShouldHeadsUpBeVisible(boolean shouldHeadsUpBeVisible) {
            this.mShouldHeadsUpBeVisible = shouldHeadsUpBeVisible;
        }