From 2daf28f449a2162fe9a8050056450ca79d4b39b9 Mon Sep 17 00:00:00 2001 From: Garfield Tan Date: Tue, 23 Nov 2021 12:30:45 -0800 Subject: [PATCH] Guard absent SplitScreen in PipTaskOrganizer Current code assumes the presence of SplitScreen, so it crashes if SplitScreen doesn't exist. Bug: 207495281 Test: Transition in and out of PIP still works on phones. Test: Transition from PIP to split screen on phones. Change-Id: I6f2f05a1237c9e64f1df95b05347a1affa9b5a27 --- .../Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java index 6cc5f09827af3..90135f2a3c692 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java @@ -1282,6 +1282,9 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener, } private boolean isPipTopLeft() { + if (!mSplitScreenOptional.isPresent()) { + return false; + } final Rect topLeft = new Rect(); final Rect bottomRight = new Rect(); mSplitScreenOptional.get().getStageBounds(topLeft, bottomRight);