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

Commit ca4eee83 authored by felkachang's avatar felkachang Committed by Felka Chang
Browse files

fix overlay on status bar because of two clock

Although the status bar block user's tap, the user still could
drag the status bar to expland the notification panel.

The root cause is that neither the clock nor the notification icon
inner area doesn't hide when the user drag down the status bar in
landscape condition but portrait does.

The solution is to trigger mStatusBar.recomputeDisableFlags when
the heads up is showing in landscape mode and the expand status is
different. CollapsedStatusBarFragment.adjustDisableFlags should
disable clock showing when the heads up showing.

Change-Id: If7411f5d8eef9cf234b83a463006325ba0156311
Fix: 110808257
Test: atest SystemUITests
parent 529bfe6f
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -189,6 +189,14 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
            state |= DISABLE_SYSTEM_INFO;
            state |= DISABLE_CLOCK;
        }

        // In landscape, the heads up show but shouldHideNotificationIcons() return false
        // because the visual icon is in notification icon area rather than heads up's space.
        // whether the notification icon show or not, clock should hide when heads up show.
        if (mStatusBarComponent.isHeadsUpShouldBeVisible()) {
            state |= DISABLE_CLOCK;
        }

        if (mNetworkController != null && EncryptionHelper.IS_DATA_ENCRYPTED) {
            if (mNetworkController.hasEmergencyCryptKeeperText()) {
                state |= DISABLE_NOTIFICATION_ICONS;
+2 −1
Original line number Diff line number Diff line
@@ -2533,7 +2533,8 @@ public class NotificationPanelView extends PanelView implements
    }

    private void updateStatusBarIcons() {
        boolean showIconsWhenExpanded = isFullWidth() && getExpandedHeight() < getOpeningHeight();
        boolean showIconsWhenExpanded = (isPanelVisibleBecauseOfHeadsUp() || isFullWidth())
                && getExpandedHeight() < getOpeningHeight();
        if (showIconsWhenExpanded && mNoVisibleNotifications && isOnKeyguard()) {
            showIconsWhenExpanded = false;
        }
+4 −0
Original line number Diff line number Diff line
@@ -2155,6 +2155,10 @@ public class StatusBar extends SystemUI implements DemoMode,
        }
    }

    public boolean isHeadsUpShouldBeVisible() {
        return mHeadsUpAppearanceController.shouldBeVisible();
    }

    /**
     * All changes to the status bar and notifications funnel through here and are batched.
     */