Merge "Ensure bar window state is SHOWING after rotate if visible." into klp-dev

This commit is contained in:
Craig Mautner
2013-11-06 23:19:58 +00:00
committed by Android (Google) Code Review

View File

@@ -129,8 +129,8 @@ public class BarController {
final boolean wasAnim = mWin.isAnimatingLw(); final boolean wasAnim = mWin.isAnimatingLw();
final boolean change = show ? mWin.showLw(true) : mWin.hideLw(true); final boolean change = show ? mWin.showLw(true) : mWin.hideLw(true);
final int state = computeStateLw(wasVis, wasAnim, mWin, change); final int state = computeStateLw(wasVis, wasAnim, mWin, change);
updateStateLw(state); final boolean stateChanged = updateStateLw(state);
return change; return change || stateChanged;
} }
private int computeStateLw(boolean wasVis, boolean wasAnim, WindowState win, boolean change) { private int computeStateLw(boolean wasVis, boolean wasAnim, WindowState win, boolean change) {
@@ -139,6 +139,8 @@ public class BarController {
final boolean anim = win.isAnimatingLw(); final boolean anim = win.isAnimatingLw();
if (mState == StatusBarManager.WINDOW_STATE_HIDING && !change && !vis) { if (mState == StatusBarManager.WINDOW_STATE_HIDING && !change && !vis) {
return StatusBarManager.WINDOW_STATE_HIDDEN; return StatusBarManager.WINDOW_STATE_HIDDEN;
} else if (mState == StatusBarManager.WINDOW_STATE_HIDDEN && vis) {
return StatusBarManager.WINDOW_STATE_SHOWING;
} else if (change) { } else if (change) {
if (wasVis && vis && !wasAnim && anim) { if (wasVis && vis && !wasAnim && anim) {
return StatusBarManager.WINDOW_STATE_HIDING; return StatusBarManager.WINDOW_STATE_HIDING;
@@ -150,7 +152,7 @@ public class BarController {
return mState; return mState;
} }
private void updateStateLw(final int state) { private boolean updateStateLw(final int state) {
if (state != mState) { if (state != mState) {
mState = state; mState = state;
if (DEBUG) Slog.d(mTag, "mState: " + StatusBarManager.windowStateToString(state)); if (DEBUG) Slog.d(mTag, "mState: " + StatusBarManager.windowStateToString(state));
@@ -169,7 +171,9 @@ public class BarController {
} }
} }
}); });
return true;
} }
return false;
} }
public boolean checkHiddenLw() { public boolean checkHiddenLw() {