Check that activity is not in PIP mode already
This change verifies that the requested activity to PIP
is not already in PIP mode before scheduling a transaction
with an EnterPipRequestedItem.
Bug: 156365025
Test: atest WmTests:ActivityTaskManagerServiceTests
Change-Id: I37019368b00440bdd24cb3ee5f4bfaf667464f8a
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index 5f591b5..7c935d0 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -4873,6 +4873,10 @@
return;
}
+ if (isInPictureInPictureMode(activity)) {
+ throw new IllegalStateException("Activity is already in PIP mode");
+ }
+
final boolean canEnterPictureInPicture = activity.checkEnterPictureInPictureState(
"requestPictureInPictureMode", /* beforeStopping */ false);
if (!canEnterPictureInPicture) {