diff options
author | Craig Mautner <cmautner@google.com> | 2012-10-07 11:55:22 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-10-07 11:55:22 -0700 |
commit | 6d7f61c36d5466854d24167c2e65b4619db622e4 (patch) | |
tree | 194ac144e304bfece4683f313f7f0c7ac3ea5ff2 /services | |
parent | 337aa27a6307e0f40705ee676551dda4bf6cb894 (diff) | |
parent | b7c4cfccb505ee5035b362c2d4aacc981fd19a84 (diff) | |
download | frameworks_base-6d7f61c36d5466854d24167c2e65b4619db622e4.zip frameworks_base-6d7f61c36d5466854d24167c2e65b4619db622e4.tar.gz frameworks_base-6d7f61c36d5466854d24167c2e65b4619db622e4.tar.bz2 |
am b7c4cfcc: am 138f272b: Merge "Save resized windows even if freezing." into jb-mr1-dev
* commit 'b7c4cfccb505ee5035b362c2d4aacc981fd19a84':
Save resized windows even if freezing.
Diffstat (limited to 'services')
-rwxr-xr-x | services/java/com/android/server/wm/WindowManagerService.java | 68 |
1 files changed, 35 insertions, 33 deletions
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index 9e5d41a..4df1d71 100755 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -8726,7 +8726,7 @@ public class WindowManagerService extends IWindowManager.Stub private void updateResizingWindows(final WindowState w) { final WindowStateAnimator winAnimator = w.mWinAnimator; - if (w.mHasSurface && !w.mAppFreezing && w.mLayoutSeq == mLayoutSeq) { + if (w.mHasSurface && w.mLayoutSeq == mLayoutSeq) { w.mContentInsetsChanged |= !w.mLastContentInsets.equals(w.mContentInsets); w.mVisibleInsetsChanged |= @@ -9261,39 +9261,41 @@ public class WindowManagerService extends IWindowManager.Stub defaultDisplay.pendingLayoutChanges); } - if (!mResizingWindows.isEmpty()) { - for (i = mResizingWindows.size() - 1; i >= 0; i--) { - WindowState win = mResizingWindows.get(i); - final WindowStateAnimator winAnimator = win.mWinAnimator; - try { - if (DEBUG_RESIZE || DEBUG_ORIENTATION) Slog.v(TAG, - "Reporting new frame to " + win + ": " + win.mCompatFrame); - int diff = 0; - boolean configChanged = win.isConfigChanged(); - if ((DEBUG_RESIZE || DEBUG_ORIENTATION || DEBUG_CONFIGURATION - // TODO: Remove once b/7094175 is fixed - || ((String)win.mAttrs.getTitle()).contains("Keyguard")) - && configChanged) { - Slog.i(TAG, "Sending new config to window " + win + ": " - + winAnimator.mSurfaceW + "x" + winAnimator.mSurfaceH - + " / " + mCurConfiguration + " / 0x" - + Integer.toHexString(diff)); - } - win.mConfiguration = mCurConfiguration; - if (DEBUG_ORIENTATION && - winAnimator.mDrawState == WindowStateAnimator.DRAW_PENDING) Slog.i( - TAG, "Resizing " + win + " WITH DRAW PENDING"); - win.mClient.resized(win.mFrame, win.mLastContentInsets, win.mLastVisibleInsets, - winAnimator.mDrawState == WindowStateAnimator.DRAW_PENDING, - configChanged ? win.mConfiguration : null); - win.mContentInsetsChanged = false; - win.mVisibleInsetsChanged = false; - winAnimator.mSurfaceResized = false; - } catch (RemoteException e) { - win.mOrientationChanging = false; - } + for (i = mResizingWindows.size() - 1; i >= 0; i--) { + WindowState win = mResizingWindows.get(i); + if (win.mAppFreezing) { + // Don't remove this window until rotation has completed. + continue; + } + final WindowStateAnimator winAnimator = win.mWinAnimator; + try { + if (DEBUG_RESIZE || DEBUG_ORIENTATION) Slog.v(TAG, + "Reporting new frame to " + win + ": " + win.mCompatFrame); + int diff = 0; + boolean configChanged = win.isConfigChanged(); + if ((DEBUG_RESIZE || DEBUG_ORIENTATION || DEBUG_CONFIGURATION + // TODO: Remove once b/7094175 is fixed + || ((String)win.mAttrs.getTitle()).contains("Keyguard")) + && configChanged) { + Slog.i(TAG, "Sending new config to window " + win + ": " + + winAnimator.mSurfaceW + "x" + winAnimator.mSurfaceH + + " / " + mCurConfiguration + " / 0x" + + Integer.toHexString(diff)); + } + win.mConfiguration = mCurConfiguration; + if (DEBUG_ORIENTATION && + winAnimator.mDrawState == WindowStateAnimator.DRAW_PENDING) Slog.i( + TAG, "Resizing " + win + " WITH DRAW PENDING"); + win.mClient.resized(win.mFrame, win.mLastContentInsets, win.mLastVisibleInsets, + winAnimator.mDrawState == WindowStateAnimator.DRAW_PENDING, + configChanged ? win.mConfiguration : null); + win.mContentInsetsChanged = false; + win.mVisibleInsetsChanged = false; + winAnimator.mSurfaceResized = false; + } catch (RemoteException e) { + win.mOrientationChanging = false; } - mResizingWindows.clear(); + mResizingWindows.remove(i); } if (DEBUG_ORIENTATION && mDisplayFrozen) Slog.v(TAG, |