Guard Notification Panel against DISABLE2_NOTIFICATION_SHADE

- Guard StatusManagerService.togglePanel() and expandNotificationsPanel() against DISABLE2_NOTIFICATION_SHADE
- Fix bug in StatusBar.disable()
- Fix longPressOnHomeBehaviorToString() for dumpsys

Bug: 175044947
Test: Simple boot check and checked the added logic is in the right
execution path

Change-Id: Id922977e52eb1f09d57f14b7a0c443785d444a52
This commit is contained in:
Kensuke Miyagi
2020-12-07 12:26:43 -08:00
parent 7bc036e96f
commit 6eca35f391
3 changed files with 20 additions and 1 deletions

View File

@@ -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();
}
}

View File

@@ -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);
}

View File

@@ -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();