From 9654cfd8fd8a8a06e562116723ffd98a511312d4 Mon Sep 17 00:00:00 2001 From: Hongwei Wang Date: Fri, 14 Mar 2025 11:07:46 -0700 Subject: Log terrible failure on null PiP task token Log an extra terrible failure for the null PiP task token in PipController#onDisplayChange. We are not able to reproduce the original NPE, adding extra log here to help further investigation. Flag: com.android.wm.shell.enable_pip2 Bug: 378743431 Test: N/A log-only Change-Id: Iacf3714e7cd201bdaac44a379049119d2c343dc6 --- .../src/com/android/wm/shell/pip2/phone/PipController.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipController.java index 4e341ac9b7eb..0e974ef9083b 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipController.java @@ -31,6 +31,8 @@ import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.graphics.Rect; import android.os.Bundle; +import android.os.Debug; +import android.util.Log; import android.view.SurfaceControl; import android.window.DesktopExperienceFlags; import android.window.DisplayAreaInfo; @@ -369,7 +371,13 @@ public class PipController implements ConfigurationChangeListener, mPipBoundsAlgorithm.applySnapFraction(toBounds, snapFraction); mPipBoundsState.setBounds(toBounds); } - t.setBounds(mPipTransitionState.getPipTaskToken(), mPipBoundsState.getBounds()); + if (mPipTransitionState.getPipTaskToken() == null) { + Log.wtf(TAG, "PipController.onDisplayChange no PiP task token" + + " state=" + mPipTransitionState.getState() + + " callers=\n" + Debug.getCallers(4, " ")); + } else { + t.setBounds(mPipTransitionState.getPipTaskToken(), mPipBoundsState.getBounds()); + } // Update the size spec in PipBoundsState afterwards. mPipBoundsState.updateMinMaxSize(mPipBoundsState.getAspectRatio()); } -- cgit v1.2.3-59-g8ed1b