summaryrefslogtreecommitdiffstats
path: root/policy/src
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2013-10-29 11:10:42 -0700
committerCraig Mautner <cmautner@google.com>2013-10-29 11:32:30 -0700
commit81defc794b0079c7f557b5d7c3924039ac0e9156 (patch)
tree35acf0b10b66e55f435374b2c0565807cf45317f /policy/src
parent66b753b06bb265d3f5b25244856f8d827a9dc5af (diff)
downloadframeworks_base-81defc794b0079c7f557b5d7c3924039ac0e9156.zip
frameworks_base-81defc794b0079c7f557b5d7c3924039ac0e9156.tar.gz
frameworks_base-81defc794b0079c7f557b5d7c3924039ac0e9156.tar.bz2
Force relayout at completion of status bar animation
A final layout pass should be done whenever the status bar has completed its incoming animation. Fixes bug 10387660. Change-Id: I48c19015c53116b58cf73e20be32d1f64dd682ca
Diffstat (limited to 'policy/src')
-rw-r--r--policy/src/com/android/internal/policy/impl/PhoneWindowManager.java10
1 files changed, 9 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 dcaf3d6..faca949 100644
--- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
@@ -3466,6 +3466,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
if (mStatusBarController.setBarShowingLw(true)) {
changes |= FINISH_LAYOUT_REDO_LAYOUT;
}
+ // Maintain fullscreen layout until incoming animation is complete.
+ topIsFullscreen = mTopIsFullscreen && mStatusBar.isAnimatingLw();
} else if (mTopFullscreenOpaqueWindowState != null) {
if (localLOGV) {
Slog.d(TAG, "frame: " + mTopFullscreenOpaqueWindowState.getFrameLw()
@@ -3499,7 +3501,13 @@ public class PhoneWindowManager implements WindowManagerPolicy {
}
}
- mTopIsFullscreen = topIsFullscreen;
+ if (mTopIsFullscreen != topIsFullscreen) {
+ if (!topIsFullscreen) {
+ // Force another layout when status bar becomes fully shown.
+ changes |= FINISH_LAYOUT_REDO_LAYOUT;
+ }
+ mTopIsFullscreen = topIsFullscreen;
+ }
// Hide the key guard if a visible window explicitly specifies that it wants to be
// displayed when the screen is locked.