diff options
author | Dianne Hackborn <hackbod@google.com> | 2010-10-01 13:06:30 -0700 |
---|---|---|
committer | Dianne Hackborn <hackbod@google.com> | 2010-10-01 13:06:30 -0700 |
commit | 6493e64c2a3d5fa6adf0e6331a061d5bc67649fa (patch) | |
tree | 999884329e9b71cf546147102f626ded35f12949 /policy | |
parent | 2942391801b79816c5eb77d7ac94c4a65f26af48 (diff) | |
download | frameworks_base-6493e64c2a3d5fa6adf0e6331a061d5bc67649fa.zip frameworks_base-6493e64c2a3d5fa6adf0e6331a061d5bc67649fa.tar.gz frameworks_base-6493e64c2a3d5fa6adf0e6331a061d5bc67649fa.tar.bz2 |
Fix issue #3037083: Problem report for Pinball
The app was toggling between hiding and showing the status bar, because
the dialog was large enough to fill the screen but didn't set to hide
the status bar.
It turns out that the code to determine the top fullscreen window is
intrinsically unstable, since it relies on comparing a window's frame
with the screen, yet the window frame can change as a result of changes
such as hiding the status bar.
Instead, we now simplify all of this to just say that the top fillxfill
window gets to control the status bar.
Change-Id: I22913adf7235fe0d52612f6738c7c94351274e38
Diffstat (limited to 'policy')
-rwxr-xr-x | policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 384f527..538dae9 100755 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -1500,7 +1500,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { } if (attrs.type >= FIRST_APPLICATION_WINDOW && attrs.type <= LAST_APPLICATION_WINDOW - && win.fillsScreenLw(mW, mH, false, false)) { + && attrs.x == 0 && attrs.y == 0 + && attrs.width == WindowManager.LayoutParams.MATCH_PARENT + && attrs.height == WindowManager.LayoutParams.MATCH_PARENT) { if (DEBUG_LAYOUT) Log.v(TAG, "Fullscreen window: " + win); mTopFullscreenOpaqueWindowState = win; if ((attrs.flags & FLAG_SHOW_WHEN_LOCKED) != 0) { |