diff options
author | Craig Mautner <cmautner@google.com> | 2013-11-06 15:29:00 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-11-06 15:29:00 -0800 |
commit | 660041f89f8756625d35fb6957e8b60e7fa06f11 (patch) | |
tree | 732cb1d654f06f237c8d01b3776c83db4c7dc86f /policy/src | |
parent | 9c5c6fdb1727d9b2952512af958d20e14af33bbd (diff) | |
parent | a2dad41e757b8de097491aedecca80387ba3af09 (diff) | |
download | frameworks_base-660041f89f8756625d35fb6957e8b60e7fa06f11.zip frameworks_base-660041f89f8756625d35fb6957e8b60e7fa06f11.tar.gz frameworks_base-660041f89f8756625d35fb6957e8b60e7fa06f11.tar.bz2 |
am a2dad41e: am 8ed10cff: am def34eb7: Merge "Ensure bar window state is SHOWING after rotate if visible." into klp-dev
* commit 'a2dad41e757b8de097491aedecca80387ba3af09':
Ensure bar window state is SHOWING after rotate if visible.
Diffstat (limited to 'policy/src')
-rw-r--r-- | policy/src/com/android/internal/policy/impl/BarController.java | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/policy/src/com/android/internal/policy/impl/BarController.java b/policy/src/com/android/internal/policy/impl/BarController.java index 8d97fc8..c38ad04 100644 --- a/policy/src/com/android/internal/policy/impl/BarController.java +++ b/policy/src/com/android/internal/policy/impl/BarController.java @@ -129,8 +129,8 @@ public class BarController { final boolean wasAnim = mWin.isAnimatingLw(); final boolean change = show ? mWin.showLw(true) : mWin.hideLw(true); final int state = computeStateLw(wasVis, wasAnim, mWin, change); - updateStateLw(state); - return change; + final boolean stateChanged = updateStateLw(state); + return change || stateChanged; } private int computeStateLw(boolean wasVis, boolean wasAnim, WindowState win, boolean change) { @@ -139,6 +139,8 @@ public class BarController { final boolean anim = win.isAnimatingLw(); if (mState == StatusBarManager.WINDOW_STATE_HIDING && !change && !vis) { return StatusBarManager.WINDOW_STATE_HIDDEN; + } else if (mState == StatusBarManager.WINDOW_STATE_HIDDEN && vis) { + return StatusBarManager.WINDOW_STATE_SHOWING; } else if (change) { if (wasVis && vis && !wasAnim && anim) { return StatusBarManager.WINDOW_STATE_HIDING; @@ -150,7 +152,7 @@ public class BarController { return mState; } - private void updateStateLw(final int state) { + private boolean updateStateLw(final int state) { if (state != mState) { mState = state; if (DEBUG) Slog.d(mTag, "mState: " + StatusBarManager.windowStateToString(state)); @@ -169,7 +171,9 @@ public class BarController { } } }); + return true; } + return false; } public boolean checkHiddenLw() { |