From 6493e64c2a3d5fa6adf0e6331a061d5bc67649fa Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Fri, 1 Oct 2010 13:06:30 -0700 Subject: 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 --- policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'policy') 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) { -- cgit v1.1