diff options
-rw-r--r-- | policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 504413d..a093630 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -4947,7 +4947,16 @@ public class PhoneWindowManager implements WindowManagerPolicy { if (mHideybars == HIDEYBARS_SHOWING) { if (!hideybarsAllowed) { mHideybars = HIDEYBARS_NONE; + if ((tmpVisibility & View.SYSTEM_UI_FLAG_FULLSCREEN) != 0) { + // hideybars for View.SYSTEM_UI_FLAG_FULLSCREEN: clear the clearable flags + int newVal = mResettingSystemUiFlags | View.SYSTEM_UI_CLEARABLE_FLAGS; + if (newVal != mResettingSystemUiFlags) { + mResettingSystemUiFlags = newVal; + mWindowManagerFuncs.reevaluateStatusBarVisibility(); + } + } } else { + // hideybars for WM.LP.FLAG_FULLSCREEN: show transparent status bar tmpVisibility |= View.STATUS_BAR_OVERLAY; if ((mLastSystemUiFlags & View.STATUS_BAR_OVERLAY) == 0) { mStatusBar.showLw(true); |