am 18612840: Merge "Force relayout at completion of status bar animation" into klp-dev

* commit '1861284013a2e2d5fd177c1ef66744afd03c3abd':
  Force relayout at completion of status bar animation
This commit is contained in:
Craig Mautner
2013-10-30 07:00:32 -07:00
committed by Android Git Automerger
2 changed files with 13 additions and 1 deletions

View File

@ -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.

View File

@ -360,6 +360,10 @@ class WindowStateAnimator {
+ mWin.mToken + ": first real window done animating");
mService.mFinishedStarting.add(mWin.mAppToken);
mService.mH.sendEmptyMessage(H.FINISHED_STARTING);
} else if (mAttrType == LayoutParams.TYPE_STATUS_BAR && mWin.mPolicyVisibility) {
// Upon completion of a not-visible to visible status bar animation a relayout is
// required.
mWin.mDisplayContent.layoutNeeded = true;
}
finishExit();