From b5e0878776ec7a435f82ffb402f83b289a89d1a1 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Tue, 11 Jan 2022 00:22:42 +0000 Subject: [PATCH] Ensure only single pip dismiss magnetized target exists - If init() is called multiple times, the previous magnetized targets can cause the wrong target position to be calculated when trying (or not trying) to dismiss Bug: 213348722 Test: Manual Change-Id: Ic1f972cc60eafca2302ad168065c974c8a0ee924 --- .../com/android/wm/shell/pip/phone/PipDismissTargetHandler.java | 1 + 1 file changed, 1 insertion(+) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipDismissTargetHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipDismissTargetHandler.java index 92a3598910035..915c5939c34b6 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipDismissTargetHandler.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipDismissTargetHandler.java @@ -140,6 +140,7 @@ public class PipDismissTargetHandler implements ViewTreeObserver.OnPreDrawListen }); mMagnetizedPip = mMotionHelper.getMagnetizedPip(); + mMagnetizedPip.clearAllTargets(); mMagneticTarget = mMagnetizedPip.addTarget(mTargetView, 0); updateMagneticTargetSize();