Skip to content

Commit 138f272

Browse files
Craig MautnerAndroid (Google) Code Review
authored andcommitted
Merge "Save resized windows even if freezing." into jb-mr1-dev
2 parents 33877e1 + ade0a9a commit 138f272

File tree

1 file changed

+35
-33
lines changed

1 file changed

+35
-33
lines changed

services/java/com/android/server/wm/WindowManagerService.java

Lines changed: 35 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8726,7 +8726,7 @@ private int animateAwayWallpaperLocked() {
87268726

87278727
private void updateResizingWindows(final WindowState w) {
87288728
final WindowStateAnimator winAnimator = w.mWinAnimator;
8729-
if (w.mHasSurface && !w.mAppFreezing && w.mLayoutSeq == mLayoutSeq) {
8729+
if (w.mHasSurface && w.mLayoutSeq == mLayoutSeq) {
87308730
w.mContentInsetsChanged |=
87318731
!w.mLastContentInsets.equals(w.mContentInsets);
87328732
w.mVisibleInsetsChanged |=
@@ -9261,39 +9261,41 @@ private final void performLayoutAndPlaceSurfacesLockedInner(boolean recoveringMe
92619261
defaultDisplay.pendingLayoutChanges);
92629262
}
92639263

9264-
if (!mResizingWindows.isEmpty()) {
9265-
for (i = mResizingWindows.size() - 1; i >= 0; i--) {
9266-
WindowState win = mResizingWindows.get(i);
9267-
final WindowStateAnimator winAnimator = win.mWinAnimator;
9268-
try {
9269-
if (DEBUG_RESIZE || DEBUG_ORIENTATION) Slog.v(TAG,
9270-
"Reporting new frame to " + win + ": " + win.mCompatFrame);
9271-
int diff = 0;
9272-
boolean configChanged = win.isConfigChanged();
9273-
if ((DEBUG_RESIZE || DEBUG_ORIENTATION || DEBUG_CONFIGURATION
9274-
// TODO: Remove once b/7094175 is fixed
9275-
|| ((String)win.mAttrs.getTitle()).contains("Keyguard"))
9276-
&& configChanged) {
9277-
Slog.i(TAG, "Sending new config to window " + win + ": "
9278-
+ winAnimator.mSurfaceW + "x" + winAnimator.mSurfaceH
9279-
+ " / " + mCurConfiguration + " / 0x"
9280-
+ Integer.toHexString(diff));
9281-
}
9282-
win.mConfiguration = mCurConfiguration;
9283-
if (DEBUG_ORIENTATION &&
9284-
winAnimator.mDrawState == WindowStateAnimator.DRAW_PENDING) Slog.i(
9285-
TAG, "Resizing " + win + " WITH DRAW PENDING");
9286-
win.mClient.resized(win.mFrame, win.mLastContentInsets, win.mLastVisibleInsets,
9287-
winAnimator.mDrawState == WindowStateAnimator.DRAW_PENDING,
9288-
configChanged ? win.mConfiguration : null);
9289-
win.mContentInsetsChanged = false;
9290-
win.mVisibleInsetsChanged = false;
9291-
winAnimator.mSurfaceResized = false;
9292-
} catch (RemoteException e) {
9293-
win.mOrientationChanging = false;
9294-
}
9264+
for (i = mResizingWindows.size() - 1; i >= 0; i--) {
9265+
WindowState win = mResizingWindows.get(i);
9266+
if (win.mAppFreezing) {
9267+
// Don't remove this window until rotation has completed.
9268+
continue;
9269+
}
9270+
final WindowStateAnimator winAnimator = win.mWinAnimator;
9271+
try {
9272+
if (DEBUG_RESIZE || DEBUG_ORIENTATION) Slog.v(TAG,
9273+
"Reporting new frame to " + win + ": " + win.mCompatFrame);
9274+
int diff = 0;
9275+
boolean configChanged = win.isConfigChanged();
9276+
if ((DEBUG_RESIZE || DEBUG_ORIENTATION || DEBUG_CONFIGURATION
9277+
// TODO: Remove once b/7094175 is fixed
9278+
|| ((String)win.mAttrs.getTitle()).contains("Keyguard"))
9279+
&& configChanged) {
9280+
Slog.i(TAG, "Sending new config to window " + win + ": "
9281+
+ winAnimator.mSurfaceW + "x" + winAnimator.mSurfaceH
9282+
+ " / " + mCurConfiguration + " / 0x"
9283+
+ Integer.toHexString(diff));
9284+
}
9285+
win.mConfiguration = mCurConfiguration;
9286+
if (DEBUG_ORIENTATION &&
9287+
winAnimator.mDrawState == WindowStateAnimator.DRAW_PENDING) Slog.i(
9288+
TAG, "Resizing " + win + " WITH DRAW PENDING");
9289+
win.mClient.resized(win.mFrame, win.mLastContentInsets, win.mLastVisibleInsets,
9290+
winAnimator.mDrawState == WindowStateAnimator.DRAW_PENDING,
9291+
configChanged ? win.mConfiguration : null);
9292+
win.mContentInsetsChanged = false;
9293+
win.mVisibleInsetsChanged = false;
9294+
winAnimator.mSurfaceResized = false;
9295+
} catch (RemoteException e) {
9296+
win.mOrientationChanging = false;
92959297
}
9296-
mResizingWindows.clear();
9298+
mResizingWindows.remove(i);
92979299
}
92989300

92999301
if (DEBUG_ORIENTATION && mDisplayFrozen) Slog.v(TAG,

0 commit comments

Comments
 (0)