diff options
3 files changed, 18 insertions, 15 deletions
diff --git a/services/tests/wmtests/src/com/android/server/wm/DisplayRotationCompatPolicyTests.java b/services/tests/wmtests/src/com/android/server/wm/DisplayRotationCompatPolicyTests.java index e7ac33fc6a1a..76018683c987 100644 --- a/services/tests/wmtests/src/com/android/server/wm/DisplayRotationCompatPolicyTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/DisplayRotationCompatPolicyTests.java @@ -30,6 +30,7 @@ import static android.view.Surface.ROTATION_0; import static android.view.Surface.ROTATION_90; import static com.android.dx.mockito.inline.extended.ExtendedMockito.doAnswer; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.doNothing; import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; import static com.android.dx.mockito.inline.extended.ExtendedMockito.never; import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn; @@ -130,13 +131,17 @@ public final class DisplayRotationCompatPolicyTests extends WindowTestsBase { }); mDisplayRotationCompatPolicy = new DisplayRotationCompatPolicy( mDisplayContent, mMockHandler); + + // Do not show the real toast. + spyOn(mDisplayRotationCompatPolicy); + doNothing().when(mDisplayRotationCompatPolicy).showToast(anyInt()); + doNothing().when(mDisplayRotationCompatPolicy).showToast(anyInt(), anyString()); } @Test public void testOpenedCameraInSplitScreen_showToast() throws Exception { configureActivity(SCREEN_ORIENTATION_PORTRAIT); spyOn(mTask); - spyOn(mDisplayRotationCompatPolicy); doReturn(WINDOWING_MODE_MULTI_WINDOW).when(mActivity).getWindowingMode(); doReturn(WINDOWING_MODE_MULTI_WINDOW).when(mTask).getWindowingMode(); @@ -160,7 +165,6 @@ public final class DisplayRotationCompatPolicyTests extends WindowTestsBase { public void testOpenedCameraInSplitScreen_orientationNotFixed_doNotShowToast() { configureActivity(SCREEN_ORIENTATION_UNSPECIFIED); spyOn(mTask); - spyOn(mDisplayRotationCompatPolicy); doReturn(WINDOWING_MODE_MULTI_WINDOW).when(mActivity).getWindowingMode(); doReturn(WINDOWING_MODE_MULTI_WINDOW).when(mTask).getWindowingMode(); @@ -175,7 +179,6 @@ public final class DisplayRotationCompatPolicyTests extends WindowTestsBase { public void testOnScreenRotationAnimationFinished_treatmentNotEnabled_doNotShowToast() { when(mLetterboxConfiguration.isCameraCompatTreatmentEnabled()) .thenReturn(false); - spyOn(mDisplayRotationCompatPolicy); mDisplayRotationCompatPolicy.onScreenRotationAnimationFinished(); @@ -185,8 +188,6 @@ public final class DisplayRotationCompatPolicyTests extends WindowTestsBase { @Test public void testOnScreenRotationAnimationFinished_noOpenCamera_doNotShowToast() { - spyOn(mDisplayRotationCompatPolicy); - mDisplayRotationCompatPolicy.onScreenRotationAnimationFinished(); verify(mDisplayRotationCompatPolicy, never()).showToast( @@ -197,7 +198,6 @@ public final class DisplayRotationCompatPolicyTests extends WindowTestsBase { public void testOnScreenRotationAnimationFinished_notFullscreen_doNotShowToast() { configureActivity(SCREEN_ORIENTATION_PORTRAIT); doReturn(true).when(mActivity).inMultiWindowMode(); - spyOn(mDisplayRotationCompatPolicy); mCameraAvailabilityCallback.onCameraOpened(CAMERA_ID_1, TEST_PACKAGE_1); @@ -211,7 +211,6 @@ public final class DisplayRotationCompatPolicyTests extends WindowTestsBase { public void testOnScreenRotationAnimationFinished_orientationNotFixed_doNotShowToast() { configureActivity(SCREEN_ORIENTATION_UNSPECIFIED); mCameraAvailabilityCallback.onCameraOpened(CAMERA_ID_1, TEST_PACKAGE_1); - spyOn(mDisplayRotationCompatPolicy); mDisplayRotationCompatPolicy.onScreenRotationAnimationFinished(); @@ -223,7 +222,6 @@ public final class DisplayRotationCompatPolicyTests extends WindowTestsBase { public void testOnScreenRotationAnimationFinished_showToast() { configureActivity(SCREEN_ORIENTATION_PORTRAIT); mCameraAvailabilityCallback.onCameraOpened(CAMERA_ID_1, TEST_PACKAGE_1); - spyOn(mDisplayRotationCompatPolicy); mDisplayRotationCompatPolicy.onScreenRotationAnimationFinished(); diff --git a/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java b/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java index 2b19ad97e90c..1be61c36f272 100644 --- a/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java @@ -20,6 +20,7 @@ import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD; import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM; import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock; import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify; import static com.android.dx.mockito.inline.extended.ExtendedMockito.when; @@ -114,8 +115,7 @@ public class LaunchParamsPersisterTests extends WindowTestsBase { mDisplayUniqueId = "test:" + sNextUniqueId++; mTestDisplay = new TestDisplayContent.Builder(mAtm, 1000, 1500) .setUniqueId(mDisplayUniqueId).build(); - when(mRootWindowContainer.getDisplayContent(eq(mDisplayUniqueId))) - .thenReturn(mTestDisplay); + doReturn(mTestDisplay).when(mRootWindowContainer).getDisplayContent(mDisplayUniqueId); Task rootTask = mTestDisplay.getDefaultTaskDisplayArea() .createRootTask(TEST_WINDOWING_MODE, ACTIVITY_TYPE_STANDARD, /* onTop */ true); @@ -200,7 +200,7 @@ public class LaunchParamsPersisterTests extends WindowTestsBase { public void testReturnsEmptyDisplayIfDisplayIsNotFound() { mTarget.saveTask(mTestTask); - when(mRootWindowContainer.getDisplayContent(eq(mDisplayUniqueId))).thenReturn(null); + doReturn(null).when(mRootWindowContainer).getDisplayContent(eq(mDisplayUniqueId)); mTarget.getLaunchParams(mTestTask, null, mResult); diff --git a/services/tests/wmtests/src/com/android/server/wm/SystemServicesTestRule.java b/services/tests/wmtests/src/com/android/server/wm/SystemServicesTestRule.java index 5738d246dea9..b1def8d0b3a6 100644 --- a/services/tests/wmtests/src/com/android/server/wm/SystemServicesTestRule.java +++ b/services/tests/wmtests/src/com/android/server/wm/SystemServicesTestRule.java @@ -38,6 +38,7 @@ import static com.android.dx.mockito.inline.extended.ExtendedMockito.nullable; import static com.android.dx.mockito.inline.extended.ExtendedMockito.spy; import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn; +import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.Mockito.CALLS_REAL_METHODS; import static org.mockito.Mockito.when; import static org.mockito.Mockito.withSettings; @@ -57,7 +58,7 @@ import android.content.pm.IPackageManager; import android.content.pm.PackageManagerInternal; import android.database.ContentObserver; import android.hardware.devicestate.DeviceStateManager; -import android.hardware.display.DisplayManager; +import android.hardware.display.DisplayManagerGlobal; import android.hardware.display.DisplayManagerInternal; import android.net.Uri; import android.os.Handler; @@ -102,6 +103,7 @@ import org.mockito.quality.Strictness; import org.mockito.stubbing.Answer; import java.util.ArrayList; +import java.util.concurrent.Executor; import java.util.concurrent.atomic.AtomicBoolean; /** @@ -240,6 +242,12 @@ public class SystemServicesTestRule implements TestRule { doNothing().when(contentResolver) .registerContentObserver(any(Uri.class), anyBoolean(), any(ContentObserver.class), anyInt()); + + // Unit test should not register listener to the real service. + final DisplayManagerGlobal dmg = DisplayManagerGlobal.getInstance(); + spyOn(dmg); + doNothing().when(dmg).registerDisplayListener( + any(), any(Executor.class), anyLong(), anyString()); } private void setUpLocalServices() { @@ -383,9 +391,6 @@ public class SystemServicesTestRule implements TestRule { mWmService.onInitReady(); mAtmService.setWindowManager(mWmService); - // Avoid real display events interfering with the test. Also avoid leaking registration. - mContext.getSystemService(DisplayManager.class) - .unregisterDisplayListener(mAtmService.mRootWindowContainer); mWmService.mDisplayEnabled = true; mWmService.mDisplayReady = true; mAtmService.getTransitionController().mIsWaitingForDisplayEnabled = false; |