summaryrefslogtreecommitdiffstats
path: root/policy
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2012-01-12 14:05:03 -0800
committerDianne Hackborn <hackbod@google.com>2012-01-12 14:05:03 -0800
commit01b02a734d2988c22b00f5df6346ad03d8bf52b6 (patch)
tree36cc4f3027585963a0db3ad33f907c28182f9fe1 /policy
parentd3be0a76e46584357dbb77fcd200128d0d7dc9a8 (diff)
downloadframeworks_base-01b02a734d2988c22b00f5df6346ad03d8bf52b6.zip
frameworks_base-01b02a734d2988c22b00f5df6346ad03d8bf52b6.tar.gz
frameworks_base-01b02a734d2988c22b00f5df6346ad03d8bf52b6.tar.bz2
Fix issue #5823276: home repaints after full-screen app is exited
Don't consider a window as a candidate for the top fullscreen window if it is not going to be a candiate for layout. Also don't consider windows a candidate for layout if their app token is hidden. This fixes a transient state where we are preparing to unhide the window but have not done so yet. Change-Id: Ife5299ffa003c1df1a4f787b7a2809cbf614ec16
Diffstat (limited to 'policy')
-rwxr-xr-xpolicy/src/com/android/internal/policy/impl/PhoneWindowManager.java6
1 files changed, 3 insertions, 3 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
index 0b223c1..eeade05 100755
--- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
@@ -2336,7 +2336,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
if (DEBUG_LAYOUT) Slog.i(TAG, "Win " + win + ": isVisibleOrBehindKeyguardLw="
+ win.isVisibleOrBehindKeyguardLw());
if (mTopFullscreenOpaqueWindowState == null &&
- win.isVisibleOrBehindKeyguardLw()) {
+ win.isVisibleOrBehindKeyguardLw() && !win.isGoneForLayoutLw()) {
if ((attrs.flags & FLAG_FORCE_NOT_FULLSCREEN) != 0) {
mForceStatusBar = true;
}
@@ -2391,7 +2391,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
// case though.
if (topIsFullscreen) {
if (mStatusBarCanHide) {
- if (DEBUG_LAYOUT) Log.v(TAG, "Hiding status bar");
+ if (DEBUG_LAYOUT) Log.v(TAG, "** HIDING status bar");
if (mStatusBar.hideLw(true)) {
changes |= FINISH_LAYOUT_REDO_LAYOUT;
@@ -2407,7 +2407,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
Log.v(TAG, "Preventing status bar from hiding by policy");
}
} else {
- if (DEBUG_LAYOUT) Log.v(TAG, "Showing status bar: top is not fullscreen");
+ if (DEBUG_LAYOUT) Log.v(TAG, "** SHOWING status bar: top is not fullscreen");
if (mStatusBar.showLw(true)) changes |= FINISH_LAYOUT_REDO_LAYOUT;
}
}