Merge "Guard Notification Panel against DISABLE2_NOTIFICATION_SHADE"

This commit is contained in:
Kensuke Miyagi
2021-01-23 01:02:56 +00:00
committed by Android (Google) Code Review
3 changed files with 20 additions and 1 deletions

View File

@@ -1730,7 +1730,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

@@ -5432,6 +5432,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();