From 3e6c3a99147a1ea8fa04c85a6a0b8c09e1a13d6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Ciche=C5=84ski?= Date: Fri, 2 Sep 2022 01:23:52 +0000 Subject: [PATCH] Ignore scheduleFinishResizePip if there is no surface to operate on. Unable to repro, but based on the stack trace it happens here. Adding proto logs to use when we collect repro steps from users. Bug: 242939615 Test: n/a, unable to repro Change-Id: I0d6761e26eb2bfadcd673bb3777812340aa060ae --- .../src/com/android/wm/shell/pip/PipTaskOrganizer.java | 6 ++++++ 1 file changed, 6 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 b46eff6c55d4b..297c79e86ad1a 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 @@ -1306,6 +1306,12 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener, return; } + if (mLeash == null || !mLeash.isValid()) { + Log.e(TAG, String.format("scheduleFinishResizePip with null leash! mState=%d", + mPipTransitionState.getTransitionState())); + return; + } + finishResize(createFinishResizeSurfaceTransaction(destinationBounds), destinationBounds, direction, -1); if (updateBoundsCallback != null) {