diff options
author | John Spurlock <jspurlock@google.com> | 2013-11-06 12:20:38 -0500 |
---|---|---|
committer | John Spurlock <jspurlock@google.com> | 2013-11-06 17:09:51 -0500 |
commit | c23bd80b38bf9c03c1eb51fbde621eb5a6381c14 (patch) | |
tree | eade64f7380acccecc973741759a0fae4d85ad21 /policy/src/com/android | |
parent | 499c7eeb9ad59e5449481eb871db24a176f2ccdb (diff) | |
download | frameworks_base-c23bd80b38bf9c03c1eb51fbde621eb5a6381c14.zip frameworks_base-c23bd80b38bf9c03c1eb51fbde621eb5a6381c14.tar.gz frameworks_base-c23bd80b38bf9c03c1eb51fbde621eb5a6381c14.tar.bz2 |
Ensure bar window state is SHOWING after rotate if visible.
Bug:11544694
Change-Id: Ied56f01a931f33437bdc05d026006cabcdef0149
Diffstat (limited to 'policy/src/com/android')
-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() { |