diff options
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayController.java | 4 | ||||
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipController.java | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayController.java index 7c51a6994306..f532be6b8277 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayController.java @@ -211,7 +211,9 @@ public class DisplayController { dr.mDisplayLayout.resizeTo(dr.mContext.getResources(), new Size(endAbsBounds.width(), endAbsBounds.height())); } - dr.mDisplayLayout.rotateTo(dr.mContext.getResources(), toRotation); + if (fromRotation != toRotation) { + dr.mDisplayLayout.rotateTo(dr.mContext.getResources(), toRotation); + } } mChangeController.dispatchOnDisplayChange( diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipController.java index da6221efdaee..7d217fcab880 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipController.java @@ -240,6 +240,12 @@ public class PipController implements PipTransitionController.PipTransitionCallb */ private final DisplayChangeController.OnDisplayChangingListener mRotationController = ( displayId, fromRotation, toRotation, newDisplayAreaInfo, t) -> { + if (fromRotation == toRotation) { + // OnDisplayChangingListener also gets triggered upon Display size changes; + // in PiP1, those are handled separately by OnDisplaysChangedListener callbacks. + return; + } + if (mPipTransitionController.handleRotateDisplay(fromRotation, toRotation, t)) { return; } |