diff options
-rw-r--r-- | services/core/java/com/android/server/policy/PhoneWindowManager.java | 2 | ||||
-rw-r--r-- | services/core/java/com/android/server/policy/PolicyControl.java | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 4fc535c..e7354d5 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -1061,7 +1061,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { // taken over the whole screen. boolean panic = mImmersiveModeConfirmation.onPowerKeyDown(interactive, SystemClock.elapsedRealtime(), isImmersiveMode(mLastSystemUiFlags)); - if (panic) { + if (panic && !PolicyControl.isImmersiveFiltersActive()) { mHandler.post(mHiddenNavPanic); } diff --git a/services/core/java/com/android/server/policy/PolicyControl.java b/services/core/java/com/android/server/policy/PolicyControl.java index dbafc42..0f6fc58 100644 --- a/services/core/java/com/android/server/policy/PolicyControl.java +++ b/services/core/java/com/android/server/policy/PolicyControl.java @@ -125,6 +125,10 @@ public class PolicyControl { } } + public static boolean isImmersiveFiltersActive() { + return sImmersiveStatusFilter != null || sImmersiveNavigationFilter != null; + } + public static void dump(String prefix, PrintWriter pw) { dump("sImmersiveStatusFilter", sImmersiveStatusFilter, prefix, pw); dump("sImmersiveNavigationFilter", sImmersiveNavigationFilter, prefix, pw); |