diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/RootWindowContainer.java | 16 | 
1 files changed, 10 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java index 233e75bbfec7..36fa3a733987 100644 --- a/services/core/java/com/android/server/wm/RootWindowContainer.java +++ b/services/core/java/com/android/server/wm/RootWindowContainer.java @@ -747,12 +747,16 @@ class RootWindowContainer extends WindowContainer<DisplayContent> {          if (mUpdateRotation) {              if (DEBUG_ORIENTATION) Slog.d(TAG, "Performing post-rotate rotation"); -            // TODO(multi-display): Update rotation for different displays separately. -            final int displayId = defaultDisplay.getDisplayId(); -            if (defaultDisplay.updateRotationUnchecked(false /* inTransaction */)) { -                mService.mH.obtainMessage(SEND_NEW_CONFIGURATION, displayId).sendToTarget(); -            } else { -                mUpdateRotation = false; + +            for (int displayNdx = 0; displayNdx < numDisplays; ++displayNdx) { +                final DisplayContent displayContent = mChildren.get(displayNdx); +                final int displayId = displayContent.getDisplayId(); +                if (displayContent.updateRotationUnchecked(false /* inTransaction */)) { +                    mService.mH.obtainMessage(SEND_NEW_CONFIGURATION, displayId).sendToTarget(); +                } else if (displayId == DEFAULT_DISPLAY) { +                    // TODO(multi-display): Track rotation updates for different displays separately +                    mUpdateRotation = false; +                }              }          }  |