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