summaryrefslogtreecommitdiffstats
path: root/policy
diff options
context:
space:
mode:
Diffstat (limited to 'policy')
-rw-r--r--policy/src/com/android/internal/policy/impl/PhoneWindowManager.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
index c81f863..08fb48f 100644
--- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
@@ -2526,7 +2526,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
mStatusHideybar = HIDEYBAR_HIDING;
mStatusBar.hideLw(true);
}
- if (mNavigationHideybar == HIDEYBAR_SHOWING &&
+ if (mNavigationBar != null && mNavigationHideybar == HIDEYBAR_SHOWING &&
0 == (visibility & View.NAVIGATION_BAR_OVERLAY)) {
mNavigationHideybar = HIDEYBAR_HIDING;
mNavigationBar.hideLw(true);
@@ -4163,6 +4163,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
if (hideybar == HIDEYBAR_SHOWING) {
if (DEBUG) Slog.d(TAG, "Not showing " + tag + " hideybar, already shown");
return false;
+ } else if (win == null) {
+ if (DEBUG) Slog.d(TAG, "Not showing " + tag + " hideybar, bar doesn't exist");
+ return false;
} else if (win.isDisplayedLw()) {
if (DEBUG) Slog.d(TAG, "Not showing " + tag + " hideybar, bar already visible");
return false;
@@ -5076,7 +5079,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
boolean hideNavigationBarSysui =
(tmpVisibility & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION) != 0;
boolean navigationHideyAllowed =
- hideNavigationBarSysui && overlayAllowed;
+ hideNavigationBarSysui && overlayAllowed && mNavigationBar != null;
if (!navigationHideyAllowed) {
mNavigationHideybar = HIDEYBAR_NONE;
} else {