diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java index 11c8c503899e3..34ecce9fa6fd1 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java @@ -3416,8 +3416,9 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump Log.d(TAG, "Updating panel sysui state flags: fullyExpanded=" + isFullyExpanded() + " inQs=" + mQsController.getExpanded()); } + boolean isPanelVisible = mCentralSurfaces != null && mCentralSurfaces.isPanelExpanded(); mSysUiState - .setFlag(SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE, getExpandedFraction() > 0) + .setFlag(SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE, isPanelVisible) .setFlag(SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED, isFullyExpanded() && !mQsController.getExpanded()) .setFlag(SYSUI_STATE_QUICK_SETTINGS_EXPANDED, diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java index b3953a2515986..db20eeccf7631 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java @@ -1511,14 +1511,15 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { boolean tracking = event.getTracking(); dispatchPanelExpansionForKeyguardDismiss(fraction, tracking); - if (getShadeViewController() != null) { - getShadeViewController().updateSystemUiStateFlags(); - } - if (fraction == 0 || fraction == 1) { if (getNavigationBarView() != null) { getNavigationBarView().onStatusBarPanelStateChanged(); } + if (getShadeViewController() != null) { + // Needed to update SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED and + // SYSUI_STATE_QUICK_SETTINGS_EXPANDED + getShadeViewController().updateSystemUiStateFlags(); + } } } @@ -1526,6 +1527,10 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { void onShadeExpansionFullyChanged(Boolean isExpanded) { if (mPanelExpanded != isExpanded) { mPanelExpanded = isExpanded; + if (getShadeViewController() != null) { + // Needed to update SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE + getShadeViewController().updateSystemUiStateFlags(); + } if (isExpanded && mStatusBarStateController.getState() != StatusBarState.KEYGUARD) { if (DEBUG) { Log.v(TAG, "clearing notification effects from Height");