summaryrefslogtreecommitdiff
path: root/services/core/java/com/android/server/wm/ActivityRecord.java
diff options
context:
space:
mode:
Diffstat (limited to 'services/core/java/com/android/server/wm/ActivityRecord.java')
-rw-r--r--services/core/java/com/android/server/wm/ActivityRecord.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java
index 83687e9ebccd..173a1a660ac8 100644
--- a/services/core/java/com/android/server/wm/ActivityRecord.java
+++ b/services/core/java/com/android/server/wm/ActivityRecord.java
@@ -1478,6 +1478,12 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
mLastReportedMultiWindowMode = inPictureInPictureMode;
ensureActivityConfiguration(0 /* globalChanges */, PRESERVE_WINDOWS,
true /* ignoreVisibility */);
+ if (inPictureInPictureMode && findMainWindow() == null) {
+ // Prevent malicious app entering PiP without valid WindowState, which can in turn
+ // result a non-touchable PiP window since the InputConsumer for PiP requires it.
+ EventLog.writeEvent(0x534e4554, "265293293", -1, "");
+ removeImmediately();
+ }
}
}