diff options
author | Craig Mautner <cmautner@google.com> | 2012-10-07 11:53:48 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-10-07 11:53:48 -0700 |
commit | b7c4cfccb505ee5035b362c2d4aacc981fd19a84 (patch) | |
tree | 8c7f7ee0f45fc2f312cb8d0f100c54b22e01e506 /services/java/com | |
parent | 8ee7ac22e6aec5df5405a3e2130d593c50bc39b2 (diff) | |
parent | 138f272bfcd45f233abfd94faf4aabaa5d01b90b (diff) | |
download | frameworks_base-b7c4cfccb505ee5035b362c2d4aacc981fd19a84.zip frameworks_base-b7c4cfccb505ee5035b362c2d4aacc981fd19a84.tar.gz frameworks_base-b7c4cfccb505ee5035b362c2d4aacc981fd19a84.tar.bz2 |
am 138f272b: Merge "Save resized windows even if freezing." into jb-mr1-dev
* commit '138f272bfcd45f233abfd94faf4aabaa5d01b90b':
Save resized windows even if freezing.
Diffstat (limited to 'services/java/com')
-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, |