diff options
| author | 2025-03-14 11:07:46 -0700 | |
|---|---|---|
| committer | 2025-03-14 11:13:27 -0700 | |
| commit | 9654cfd8fd8a8a06e562116723ffd98a511312d4 (patch) | |
| tree | 709fe6066426fe7a34cba61735cb912afd047faf | |
| parent | 35b49cfff5a4e6346f80690c936321d14d53365c (diff) | |
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
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipController.java | 10 |
1 files changed, 9 insertions, 1 deletions
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()); } |