summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayController.java4
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipController.java6
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;
}