diff options
| author | 2021-04-02 06:18:44 +0000 | |
|---|---|---|
| committer | 2021-04-02 06:18:44 +0000 | |
| commit | 6b7f69ef38b24ca36e8b89a300fc84ffe6af7807 (patch) | |
| tree | d6e00720c340bf2c02333696ead4c074704f5ed3 /libs | |
| parent | c680b0950dc9557f52d58a27fc19204e7a24553b (diff) | |
| parent | 265b7d336f74f9e8227adf806b9306d07a668693 (diff) | |
Merge "Make PipMotionHelper injectable" into sc-dev
Diffstat (limited to 'libs')
5 files changed, 15 insertions, 13 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipBoundsAlgorithm.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipBoundsAlgorithm.java index 702385ecc3d2..7b834b294bb9 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipBoundsAlgorithm.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipBoundsAlgorithm.java @@ -57,9 +57,10 @@ public class PipBoundsAlgorithm { private int mOverridableMinSize; private Point mScreenEdgeInsets; - public PipBoundsAlgorithm(Context context, @NonNull PipBoundsState pipBoundsState) { + public PipBoundsAlgorithm(Context context, @NonNull PipBoundsState pipBoundsState, + @NonNull PipSnapAlgorithm pipSnapAlgorithm) { mPipBoundsState = pipBoundsState; - mSnapAlgorithm = new PipSnapAlgorithm(); + mSnapAlgorithm = pipSnapAlgorithm; reloadResources(context); // Initialize the aspect ratio to the default aspect ratio. Don't do this in reload // resources as it would clobber mAspectRatio when entering PiP from fullscreen which diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java index d474b6638e4a..f29d4f59493e 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java @@ -53,7 +53,6 @@ import com.android.wm.shell.pip.PipAnimationController; import com.android.wm.shell.pip.PipBoundsAlgorithm; import com.android.wm.shell.pip.PipBoundsState; import com.android.wm.shell.pip.PipTaskOrganizer; -import com.android.wm.shell.pip.PipTransitionController; import com.android.wm.shell.pip.PipUiEventLogger; import java.io.PrintWriter; @@ -158,7 +157,7 @@ public class PipTouchHandler { PipBoundsAlgorithm pipBoundsAlgorithm, @NonNull PipBoundsState pipBoundsState, PipTaskOrganizer pipTaskOrganizer, - PipTransitionController pipTransitionController, + PipMotionHelper pipMotionHelper, FloatingContentCoordinator floatingContentCoordinator, PipUiEventLogger pipUiEventLogger, ShellExecutor mainExecutor) { @@ -173,9 +172,7 @@ public class PipTouchHandler { mFloatingContentCoordinator = floatingContentCoordinator; mMenuController.addListener(new PipMenuListener()); mGesture = new DefaultPipTouchGesture(); - mMotionHelper = new PipMotionHelper(mContext, pipBoundsState, pipTaskOrganizer, - mMenuController, mPipBoundsAlgorithm.getSnapAlgorithm(), pipTransitionController, - floatingContentCoordinator); + mMotionHelper = pipMotionHelper; mPipDismissTargetHandler = new PipDismissTargetHandler(context, pipUiEventLogger, mMotionHelper, mainExecutor); mPipResizeGestureHandler = diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/PipBoundsAlgorithmTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/PipBoundsAlgorithmTest.java index babfc5ca20cf..a0c6d1138698 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/PipBoundsAlgorithmTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/PipBoundsAlgorithmTest.java @@ -24,7 +24,6 @@ import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; import android.testing.TestableResources; import android.util.Size; -import android.view.Display; import android.view.DisplayInfo; import android.view.Gravity; @@ -58,11 +57,13 @@ public class PipBoundsAlgorithmTest extends ShellTestCase { private DisplayInfo mDefaultDisplayInfo; private PipBoundsState mPipBoundsState; + @Before public void setUp() throws Exception { initializeMockResources(); mPipBoundsState = new PipBoundsState(mContext); - mPipBoundsAlgorithm = new PipBoundsAlgorithm(mContext, mPipBoundsState); + mPipBoundsAlgorithm = new PipBoundsAlgorithm(mContext, mPipBoundsState, + new PipSnapAlgorithm()); mPipBoundsState.setDisplayLayout( new DisplayLayout(mDefaultDisplayInfo, mContext.getResources(), true, true)); diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/PipTaskOrganizerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/PipTaskOrganizerTest.java index d687e8d76d91..5df391f919a7 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/PipTaskOrganizerTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/PipTaskOrganizerTest.java @@ -88,7 +88,8 @@ public class PipTaskOrganizerTest extends ShellTestCase { mComponent1 = new ComponentName(mContext, "component1"); mComponent2 = new ComponentName(mContext, "component2"); mPipBoundsState = new PipBoundsState(mContext); - mPipBoundsAlgorithm = new PipBoundsAlgorithm(mContext, mPipBoundsState); + mPipBoundsAlgorithm = new PipBoundsAlgorithm(mContext, mPipBoundsState, + new PipSnapAlgorithm()); mMainExecutor = new TestShellExecutor(); mSpiedPipTaskOrganizer = spy(new PipTaskOrganizer(mContext, mMockSyncTransactionQueue, mPipBoundsState, diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/phone/PipTouchHandlerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/phone/PipTouchHandlerTest.java index 75ea4ac94257..74519eaf3ebf 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/phone/PipTouchHandlerTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/phone/PipTouchHandlerTest.java @@ -99,12 +99,14 @@ public class PipTouchHandlerTest extends ShellTestCase { public void setUp() throws Exception { MockitoAnnotations.initMocks(this); mPipBoundsState = new PipBoundsState(mContext); - mPipBoundsAlgorithm = new PipBoundsAlgorithm(mContext, mPipBoundsState); - mPipSnapAlgorithm = mPipBoundsAlgorithm.getSnapAlgorithm(); mPipSnapAlgorithm = new PipSnapAlgorithm(); + mPipBoundsAlgorithm = new PipBoundsAlgorithm(mContext, mPipBoundsState, mPipSnapAlgorithm); + PipMotionHelper pipMotionHelper = new PipMotionHelper(mContext, mPipBoundsState, + mPipTaskOrganizer, mPhonePipMenuController, mPipSnapAlgorithm, + mMockPipTransitionController, mFloatingContentCoordinator); mPipTouchHandler = new PipTouchHandler(mContext, mPhonePipMenuController, mPipBoundsAlgorithm, mPipBoundsState, mPipTaskOrganizer, - mMockPipTransitionController, mFloatingContentCoordinator, mPipUiEventLogger, + pipMotionHelper, mFloatingContentCoordinator, mPipUiEventLogger, mMainExecutor); mPipTouchHandler.init(); mMotionHelper = Mockito.spy(mPipTouchHandler.getMotionHelper()); |