Loading libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PhonePipMenuController.java +18 −0 Original line number Diff line number Diff line Loading @@ -121,6 +121,19 @@ public class PhonePipMenuController implements PipMenuController { } }; private final float[] mTmpValues = new float[9]; private final Runnable mUpdateEmbeddedMatrix = () -> { if (mPipMenuView == null || mPipMenuView.getViewRootImpl() == null) { return; } mMoveTransform.getValues(mTmpValues); try { mPipMenuView.getViewRootImpl().getAccessibilityEmbeddedConnection() .setScreenMatrix(mTmpValues); } catch (RemoteException e) { } }; public PhonePipMenuController(Context context, PipMediaController mediaController, SystemWindows systemWindows, ShellExecutor mainExecutor, Handler mainHandler) { Loading Loading @@ -306,6 +319,11 @@ public class PhonePipMenuController implements PipMenuController { } else { mApplier.scheduleApply(params); } if (mPipMenuView.getViewRootImpl() != null) { mPipMenuView.getHandler().removeCallbacks(mUpdateEmbeddedMatrix); mPipMenuView.getHandler().post(mUpdateEmbeddedMatrix); } } /** Loading libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/helpers/PipAppHelper.kt +2 −6 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.wm.shell.flicker.helpers import android.app.Instrumentation import android.graphics.Point import android.media.session.MediaController import android.media.session.MediaSessionManager import android.os.SystemClock Loading Loading @@ -135,11 +134,8 @@ class PipAppHelper(instrumentation: Instrumentation) : BaseAppHelper( expandPipWindow(wmHelper) val exitPipObject = uiDevice.findObject(By.res(SYSTEMUI_PACKAGE, "dismiss")) requireNotNull(exitPipObject) { "PIP window dismiss button not found" } val coordinatesInWindow = exitPipObject.visibleBounds val windowOffset = wmHelper.getWindowRegion(component).bounds val newCoordinates = Point(windowOffset.left + coordinatesInWindow.centerX(), windowOffset.top + coordinatesInWindow.centerY()) uiDevice.click(newCoordinates.x, newCoordinates.y) val dismissButtonBounds = exitPipObject.visibleBounds uiDevice.click(dismissButtonBounds.centerX(), dismissButtonBounds.centerY()) } // Wait for animation to complete. Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PhonePipMenuController.java +18 −0 Original line number Diff line number Diff line Loading @@ -121,6 +121,19 @@ public class PhonePipMenuController implements PipMenuController { } }; private final float[] mTmpValues = new float[9]; private final Runnable mUpdateEmbeddedMatrix = () -> { if (mPipMenuView == null || mPipMenuView.getViewRootImpl() == null) { return; } mMoveTransform.getValues(mTmpValues); try { mPipMenuView.getViewRootImpl().getAccessibilityEmbeddedConnection() .setScreenMatrix(mTmpValues); } catch (RemoteException e) { } }; public PhonePipMenuController(Context context, PipMediaController mediaController, SystemWindows systemWindows, ShellExecutor mainExecutor, Handler mainHandler) { Loading Loading @@ -306,6 +319,11 @@ public class PhonePipMenuController implements PipMenuController { } else { mApplier.scheduleApply(params); } if (mPipMenuView.getViewRootImpl() != null) { mPipMenuView.getHandler().removeCallbacks(mUpdateEmbeddedMatrix); mPipMenuView.getHandler().post(mUpdateEmbeddedMatrix); } } /** Loading
libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/helpers/PipAppHelper.kt +2 −6 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.wm.shell.flicker.helpers import android.app.Instrumentation import android.graphics.Point import android.media.session.MediaController import android.media.session.MediaSessionManager import android.os.SystemClock Loading Loading @@ -135,11 +134,8 @@ class PipAppHelper(instrumentation: Instrumentation) : BaseAppHelper( expandPipWindow(wmHelper) val exitPipObject = uiDevice.findObject(By.res(SYSTEMUI_PACKAGE, "dismiss")) requireNotNull(exitPipObject) { "PIP window dismiss button not found" } val coordinatesInWindow = exitPipObject.visibleBounds val windowOffset = wmHelper.getWindowRegion(component).bounds val newCoordinates = Point(windowOffset.left + coordinatesInWindow.centerX(), windowOffset.top + coordinatesInWindow.centerY()) uiDevice.click(newCoordinates.x, newCoordinates.y) val dismissButtonBounds = exitPipObject.visibleBounds uiDevice.click(dismissButtonBounds.centerX(), dismissButtonBounds.centerY()) } // Wait for animation to complete. Loading