diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java index 02cf8ccbef8b..8feb116ee242 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java @@ -529,14 +529,15 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback public void setWindowState( int displayId, @WindowType int window, @WindowVisibleState int state) { if (displayId == mDisplayId - && mNavigationBarView != null && window == StatusBarManager.WINDOW_NAVIGATION_BAR && mNavigationBarWindowState != state) { mNavigationBarWindowState = state; + updateSystemUiStateFlags(-1); if (DEBUG_WINDOW_STATE) Log.d(TAG, "Navigation bar " + windowStateToString(state)); - updateSystemUiStateFlags(-1); - mNavigationBarView.setWindowVisible(isNavBarWindowVisible()); + if (mNavigationBarView != null) { + mNavigationBarView.setWindowVisible(isNavBarWindowVisible()); + } } } @@ -1212,6 +1213,7 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback @Override public void onViewDetachedFromWindow(View v) { FragmentHostManager.removeAndDestroy(v); + navigationBarView.removeOnAttachStateChangeListener(this); } }); context.getSystemService(WindowManager.class).addView(navigationBarView, lp); |