diff options
author | John Spurlock <jspurlock@google.com> | 2013-05-09 15:51:32 -0400 |
---|---|---|
committer | John Spurlock <jspurlock@google.com> | 2013-05-09 16:20:36 -0400 |
commit | e3b642ea4d2a52fd244396a0b7eaa437abe8b004 (patch) | |
tree | e72cdfda0a82e7e6745f8ba7e91fd33778a45643 /policy | |
parent | 68fcaa2c0be1e84f8de95f66d9962ea45c090709 (diff) | |
download | frameworks_base-e3b642ea4d2a52fd244396a0b7eaa437abe8b004.zip frameworks_base-e3b642ea4d2a52fd244396a0b7eaa437abe8b004.tar.gz frameworks_base-e3b642ea4d2a52fd244396a0b7eaa437abe8b004.tar.bz2 |
Handle missing status/nav bar case inside hideybar check.
Don't assume mNavigationBar != null.
Bug: 8890313
Change-Id: If2745b32a8502df629199edbf5493fe8d197a7d3
Diffstat (limited to 'policy')
-rw-r--r-- | policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 7 |
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 { |