diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerService.java | 16 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowState.java | 32 | 
2 files changed, 22 insertions, 26 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 059117529802..94f998c0048d 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -9302,22 +9302,6 @@ public class WindowManagerService extends IWindowManager.Stub                  // Don't remove this window until rotation has completed.                  continue;              } -            final WindowStateAnimator winAnimator = win.mWinAnimator; -            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) -                    && configChanged) { -                Slog.i(TAG, "Sending new config to window " + win + ": " -                        + winAnimator.mSurfaceW + "x" + winAnimator.mSurfaceH -                        + " / " + mCurConfiguration + " / 0x" -                        + Integer.toHexString(diff)); -            } -            win.setConfiguration(mCurConfiguration); -            if (DEBUG_ORIENTATION && -                    winAnimator.mDrawState == WindowStateAnimator.DRAW_PENDING) Slog.i( -                    TAG, "Resizing " + win + " WITH DRAW PENDING");              win.reportResized();              mResizingWindows.remove(i);          } diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 2f778b1d844e..9f3415e63586 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -16,8 +16,11 @@  package com.android.server.wm; -import static com.android.server.wm.WindowManagerService.DEBUG_VISIBILITY; +import static com.android.server.wm.WindowManagerService.DEBUG_CONFIGURATION;  import static com.android.server.wm.WindowManagerService.DEBUG_LAYOUT; +import static com.android.server.wm.WindowManagerService.DEBUG_ORIENTATION; +import static com.android.server.wm.WindowManagerService.DEBUG_RESIZE; +import static com.android.server.wm.WindowManagerService.DEBUG_VISIBILITY;  import static android.view.WindowManager.LayoutParams.FIRST_SUB_WINDOW;  import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_COMPATIBLE_WINDOW; @@ -372,19 +375,17 @@ final class WindowState implements WindowManagerPolicy.WindowState {                  mAttachedWindow.mChildWindows.add(this);              } else {                  for (int i = 0; i < children_size; i++) { -                    WindowState child = (WindowState)mAttachedWindow.mChildWindows.get(i); -                    if (this.mSubLayer < child.mSubLayer) { +                    WindowState child = mAttachedWindow.mChildWindows.get(i); +                    if (mSubLayer < child.mSubLayer) {                          mAttachedWindow.mChildWindows.add(i, this);                          break; -                    } else if (this.mSubLayer > child.mSubLayer) { +                    } else if (mSubLayer > child.mSubLayer) {                          continue;                      } -                    if (this.mBaseLayer <= child.mBaseLayer) { +                    if (mBaseLayer <= child.mBaseLayer) {                          mAttachedWindow.mChildWindows.add(i, this);                          break; -                    } else { -                        continue;                      }                  }                  if (children_size == mAttachedWindow.mChildWindows.size()) { @@ -1310,13 +1311,24 @@ final class WindowState implements WindowManagerPolicy.WindowState {      void reportResized() {          try { +            if (DEBUG_RESIZE || DEBUG_ORIENTATION) Slog.v(TAG, "Reporting new frame to " + this +                    + ": " + mCompatFrame); +            boolean configChanged = isConfigChanged(); +            if ((DEBUG_RESIZE || DEBUG_ORIENTATION || DEBUG_CONFIGURATION) && configChanged) { +                Slog.i(TAG, "Sending new config to window " + this + ": " +                        + mWinAnimator.mSurfaceW + "x" + mWinAnimator.mSurfaceH +                        + " / " + mService.mCurConfiguration); +            } +            setConfiguration(mService.mCurConfiguration); +            if (DEBUG_ORIENTATION && mWinAnimator.mDrawState == WindowStateAnimator.DRAW_PENDING) +                Slog.i(TAG, "Resizing " + this + " WITH DRAW PENDING"); +              final Rect frame = mFrame;              final Rect overscanInsets = mLastOverscanInsets;              final Rect contentInsets = mLastContentInsets;              final Rect visibleInsets = mLastVisibleInsets; -            final boolean reportDraw -                    = mWinAnimator.mDrawState == WindowStateAnimator.DRAW_PENDING; -            final Configuration newConfig = isConfigChanged() ? mConfiguration : null; +            final boolean reportDraw = mWinAnimator.mDrawState == WindowStateAnimator.DRAW_PENDING; +            final Configuration newConfig = configChanged ? mConfiguration : null;              if (mClient instanceof IWindow.Stub) {                  // To prevent deadlock simulate one-way call if win.mClient is a local object.                  mService.mH.post(new Runnable() {  |