diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index 8ea173bfdc58c..53c8dfe078ef5 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -1728,7 +1728,7 @@ public class StatusBar extends SystemUI implements DemoMode, if ((diff2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) != 0) { updateQsExpansionEnabled(); - if ((state1 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) != 0) { + if ((state2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) != 0) { mShadeController.animateCollapsePanels(); } } diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 607c165c25437..d3bed140875fc 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -5424,6 +5424,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { return "LONG_PRESS_HOME_ALL_APPS"; case LONG_PRESS_HOME_ASSIST: return "LONG_PRESS_HOME_ASSIST"; + case LONG_PRESS_HOME_NOTIFICATION_PANEL: + return "LONG_PRESS_HOME_NOTIFICATION_PANEL"; default: return Integer.toString(behavior); } diff --git a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java index 6306c5cdd0821..d664651a68dcb 100644 --- a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java +++ b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java @@ -17,6 +17,7 @@ package com.android.server.statusbar; import static android.app.StatusBarManager.DISABLE2_GLOBAL_ACTIONS; +import static android.app.StatusBarManager.DISABLE2_NOTIFICATION_SHADE; import static android.view.Display.DEFAULT_DISPLAY; import android.Manifest; @@ -613,6 +614,14 @@ public class StatusBarManagerService extends IStatusBarService.Stub implements D } }; + /** + * Returns true if the target disable flag (target2) is set + */ + private boolean isDisable2FlagSet(int target2) { + final int disabled2 = mDisplayUiState.get(DEFAULT_DISPLAY).getDisabled2(); + return ((disabled2 & target2) == target2); + } + // ================================================================================ // From IStatusBarService // ================================================================================ @@ -620,6 +629,10 @@ public class StatusBarManagerService extends IStatusBarService.Stub implements D public void expandNotificationsPanel() { enforceExpandStatusBar(); + if (isDisable2FlagSet(DISABLE2_NOTIFICATION_SHADE)) { + return; + } + if (mBar != null) { try { mBar.animateExpandNotificationsPanel(); @@ -658,6 +671,10 @@ public class StatusBarManagerService extends IStatusBarService.Stub implements D public void togglePanel() { enforceExpandStatusBar(); + if (isDisable2FlagSet(DISABLE2_NOTIFICATION_SHADE)) { + return; + } + if (mBar != null) { try { mBar.togglePanel();