diff options
26 files changed, 260 insertions, 300 deletions
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 282746af2784..dc8ee0aba720 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -1925,8 +1925,13 @@ public class PhoneWindowManager implements WindowManagerPolicy { @Override public void setDefaultDisplay(DisplayContentInfo displayContentInfo) { - mDefaultDisplay = displayContentInfo.getDisplay(); - mDefaultDisplayRotation = displayContentInfo.getDisplayRotation(); + setDefaultDisplay(displayContentInfo.getDisplay(), displayContentInfo.getDisplayRotation()); + } + + @VisibleForTesting + void setDefaultDisplay(Display display, DisplayRotation displayRotation) { + mDefaultDisplay = display; + mDefaultDisplayRotation = displayRotation; mDefaultDisplayPolicy = mDefaultDisplayRotation.getDisplayPolicy(); mDefaultOrientationListener = mDefaultDisplayRotation.getOrientationListener(); } @@ -2663,7 +2668,11 @@ public class PhoneWindowManager implements WindowManagerPolicy { @Override public void onConfigurationChanged(DisplayContentInfo displayContentInfo) { - final DisplayRotation displayRotation = displayContentInfo.getDisplayRotation(); + onConfigurationChanged(displayContentInfo.getDisplayRotation()); + } + + @VisibleForTesting + void onConfigurationChanged(DisplayRotation displayRotation) { // TODO(multi-display): Define policy for secondary displays. if (!displayRotation.isDefaultDisplay) { return; diff --git a/services/core/java/com/android/server/wm/ActivityStackSupervisor.java b/services/core/java/com/android/server/wm/ActivityStackSupervisor.java index 082f5213cb5d..cd708b9aad6d 100644 --- a/services/core/java/com/android/server/wm/ActivityStackSupervisor.java +++ b/services/core/java/com/android/server/wm/ActivityStackSupervisor.java @@ -315,7 +315,7 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D /** The number of distinct task ids that can be assigned to the tasks of a single user */ private static final int MAX_TASK_IDS_PER_USER = UserHandle.PER_USER_RANGE; - ActivityTaskManagerService mService; + final ActivityTaskManagerService mService; /** The historial list of recent tasks including inactive tasks */ RecentTasks mRecentTasks; @@ -618,11 +618,6 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D } @VisibleForTesting - void setService(ActivityTaskManagerService service) { - mService = service; - } - - @VisibleForTesting void setWindowContainerController(RootWindowContainerController controller) { mWindowContainerController = controller; } diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java index 1d0007545d78..30eb500a5b5e 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java +++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java @@ -341,7 +341,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { ActivityManagerInternal mAmInternal; UriGrantsManagerInternal mUgmInternal; private PackageManagerInternal mPmInternal; - private ActivityTaskManagerInternal mInternal; + @VisibleForTesting + final ActivityTaskManagerInternal mInternal; PowerManagerInternal mPowerManagerInternal; private UsageStatsManagerInternal mUsageStatsInternal; @@ -643,6 +644,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { mSystemThread = ActivityThread.currentActivityThread(); mUiContext = mSystemThread.getSystemUiContext(); mLifecycleManager = new ClientLifecycleManager(); + mInternal = new LocalService(); GL_ES_VERSION = SystemProperties.getInt("ro.opengles.version", GL_ES_VERSION_UNDEFINED); } @@ -893,7 +895,6 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { } private void start() { - mInternal = new LocalService(); LocalServices.addService(ActivityTaskManagerInternal.class, mInternal); } @@ -6870,4 +6871,4 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { } } } -}
\ No newline at end of file +} diff --git a/services/tests/wmtests/Android.mk b/services/tests/wmtests/Android.mk index 9655b3d1e258..81cb602387a2 100644 --- a/services/tests/wmtests/Android.mk +++ b/services/tests/wmtests/Android.mk @@ -18,7 +18,7 @@ LOCAL_STATIC_JAVA_LIBRARIES := \ services.core \ androidx.test.runner \ androidx.test.rules \ - mockito-target-minus-junit4 \ + mockito-target-extended-minus-junit4 \ platform-test-annotations \ truth-prebuilt \ testables \ @@ -36,6 +36,11 @@ LOCAL_COMPATIBILITY_SUITE := device-tests LOCAL_CERTIFICATE := platform +# These are not normally accessible from apps so they must be explicitly included. +LOCAL_JNI_SHARED_LIBRARIES := \ + libdexmakerjvmtiagent \ + libstaticjvmtiagent \ + LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk LOCAL_JACK_FLAGS := --multi-dex native diff --git a/services/tests/wmtests/AndroidManifest.xml b/services/tests/wmtests/AndroidManifest.xml index ff8480373f4e..ba3dc52772b9 100644 --- a/services/tests/wmtests/AndroidManifest.xml +++ b/services/tests/wmtests/AndroidManifest.xml @@ -35,7 +35,7 @@ <uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER" /> <uses-permission android:name="android.permission.READ_FRAME_BUFFER" /> - <application android:testOnly="true"> + <application android:testOnly="true" android:debuggable="true"> <activity android:name="com.android.server.wm.TaskStackChangedListenerTest$ActivityA" /> <activity android:name="com.android.server.wm.TaskStackChangedListenerTest$ActivityB" /> <activity android:name="com.android.server.wm.TaskStackChangedListenerTest$ActivityRequestedOrientationChange" /> diff --git a/services/tests/wmtests/src/com/android/server/policy/PhoneWindowManagerTestBase.java b/services/tests/wmtests/src/com/android/server/policy/PhoneWindowManagerTestBase.java index fc8fe2377bf0..6521cf5de8f5 100644 --- a/services/tests/wmtests/src/com/android/server/policy/PhoneWindowManagerTestBase.java +++ b/services/tests/wmtests/src/com/android/server/policy/PhoneWindowManagerTestBase.java @@ -28,10 +28,11 @@ import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR; import static android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock; +import static com.android.server.wm.WindowTestUtils.createTestDisplayRotation; import static com.android.server.wm.utils.CoordinateTransforms.transformPhysicalToLogicalCoordinates; import static org.junit.Assert.assertEquals; -import static org.mockito.Mockito.mock; import android.content.Context; import android.content.ContextWrapper; @@ -59,6 +60,7 @@ import androidx.test.InstrumentationRegistry; import com.android.server.policy.keyguard.KeyguardServiceDelegate; import com.android.server.wm.DisplayFrames; +import com.android.server.wm.DisplayRotation; import com.android.server.wm.WindowTestUtils.TestDisplayContent; import com.android.server.wm.utils.WmDisplayCutout; @@ -95,7 +97,8 @@ class PhoneWindowManagerTestBase { mContext.getResourceMocker().addOverride( com.android.internal.R.dimen.navigation_bar_width, NAV_BAR_HEIGHT); - mPolicy = TestablePhoneWindowManager.create(mContext); + InstrumentationRegistry.getInstrumentation().runOnMainSync( + () -> mPolicy = new TestablePhoneWindowManager(mContext)); updateDisplayFrames(); } @@ -232,9 +235,21 @@ class PhoneWindowManagerTestBase { } } - static class TestablePhoneWindowManager extends PhoneWindowManager { + class TestablePhoneWindowManager extends PhoneWindowManager { - TestablePhoneWindowManager() { + TestablePhoneWindowManager(Context context) { + mContext = context; + mKeyguardDelegate = mock(KeyguardServiceDelegate.class); + mAccessibilityManager = new AccessibilityManager(context, + mock(IAccessibilityManager.class), UserHandle.USER_CURRENT); + mSystemGestures = mock(SystemGesturesPointerEventListener.class); + + final TestDisplayContent displayContent = mock(TestDisplayContent.class); + final DisplayRotation displayRotation = + createTestDisplayRotation(mContext, displayContent); + + setDefaultDisplay(displayContent.getDisplay(), displayRotation); + onConfigurationChanged(displayRotation); } @Override @@ -256,22 +271,5 @@ class PhoneWindowManagerTestBase { adjustWindowParamsLw(state, state.getAttrs(), true /* hasStatusBarPermission */); assertEquals(WindowManagerGlobal.ADD_OKAY, prepareAddWindowLw(state, state.getAttrs())); } - - public static TestablePhoneWindowManager create(Context context) { - TestablePhoneWindowManager[] policy = new TestablePhoneWindowManager[1]; - InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> { - policy[0] = new TestablePhoneWindowManager(); - policy[0].mContext = context; - policy[0].mKeyguardDelegate = mock(KeyguardServiceDelegate.class); - policy[0].mAccessibilityManager = new AccessibilityManager(context, - mock(IAccessibilityManager.class), UserHandle.USER_CURRENT); - policy[0].mSystemGestures = mock(SystemGesturesPointerEventListener.class); - - final TestDisplayContent displayContent = TestDisplayContent.create(context); - policy[0].setDefaultDisplay(displayContent); - policy[0].onConfigurationChanged(displayContent); - }); - return policy[0]; - } } } diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityDisplayTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityDisplayTests.java index 7a9c8dc27e7d..41ed3b580cd9 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityDisplayTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityDisplayTests.java @@ -23,20 +23,19 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED; import static android.content.pm.ActivityInfo.FLAG_ALWAYS_FOCUSABLE; import static android.content.pm.ActivityInfo.FLAG_SHOW_WHEN_LOCKED; +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.reset; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.spy; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify; import static com.android.server.wm.ActivityStackSupervisor.ON_TOP; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.reset; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; import android.platform.test.annotations.Presubmit; - import androidx.test.filters.SmallTest; import org.junit.Before; diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityMetricsLaunchObserverTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityMetricsLaunchObserverTests.java index 215c51d79abc..c7f0521adb7b 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityMetricsLaunchObserverTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityMetricsLaunchObserverTests.java @@ -21,11 +21,12 @@ import static android.app.ActivityManager.START_TASK_TO_FRONT; import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD; import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN; +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.verifyNoMoreInteractions; + import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyNoMoreInteractions; import android.content.Intent; import android.os.SystemClock; @@ -34,7 +35,6 @@ import android.util.SparseIntArray; import androidx.test.filters.FlakyTest; import androidx.test.filters.SmallTest; -import androidx.test.runner.AndroidJUnit4; import org.junit.Before; import org.junit.Test; diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java index b865772a4192..0e2974e2be69 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java @@ -32,9 +32,9 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.any; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.when; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.any; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.doAnswer; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.when; import android.app.ActivityOptions; import android.app.servertransaction.ClientTransaction; diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityStackSupervisorTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityStackSupervisorTests.java index 16dd92f5f6c3..f75503529c23 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityStackSupervisorTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityStackSupervisorTests.java @@ -44,14 +44,14 @@ import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.contains; import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.reset; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.doAnswer; +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.never; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.reset; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.spy; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.times; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify; import android.app.ActivityOptions; import android.app.WaitResult; diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityStackTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityStackTests.java index 62767e33b3bf..b4d9c16365dd 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityStackTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityStackTests.java @@ -44,10 +44,10 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; +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.spy; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify; import android.content.pm.ActivityInfo; import android.os.UserHandle; diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityStartControllerTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityStartControllerTests.java index e8de05cf4935..9d93c85480bc 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityStartControllerTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityStartControllerTests.java @@ -19,12 +19,12 @@ package com.android.server.wm; import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD; import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.eq; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.eq; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.spy; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.times; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify; import android.app.IApplicationThread; import android.content.Intent; diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityStartInterceptorTest.java b/services/tests/wmtests/src/com/android/server/wm/ActivityStartInterceptorTest.java index dda077ecf20d..2bad8027d1be 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityStartInterceptorTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityStartInterceptorTest.java @@ -25,7 +25,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.nullable; -import static org.mockito.Mockito.when; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.when; import android.app.ActivityManagerInternal; import android.app.KeyguardManager; diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java index 88479ec432c5..80f30e323f44 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java @@ -48,15 +48,15 @@ import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyObject; import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.clearInvocations; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.doNothing; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.clearInvocations; +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.mock; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.never; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.spy; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.times; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify; import android.app.ActivityOptions; import android.app.IApplicationThread; diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityTestsBase.java b/services/tests/wmtests/src/com/android/server/wm/ActivityTestsBase.java index 26286e2652e0..cbb8ecbd316f 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityTestsBase.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityTestsBase.java @@ -29,15 +29,16 @@ import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentat import static com.android.server.wm.ActivityStack.REMOVE_TASK_MODE_DESTROYING; import static com.android.server.wm.ActivityStackSupervisor.ON_TOP; -import static org.mockito.Mockito.any; -import static org.mockito.Mockito.anyBoolean; -import static org.mockito.Mockito.anyInt; -import static org.mockito.Mockito.anyString; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.doNothing; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.any; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.anyBoolean; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.anyInt; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.anyString; +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.mock; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.spy; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn; import android.app.ActivityManagerInternal; import android.app.ActivityOptions; @@ -67,6 +68,8 @@ import com.android.server.AppOpsService; import com.android.server.AttributeCache; import com.android.server.ServiceThread; import com.android.server.am.ActivityManagerService; +import com.android.server.am.PendingIntentController; +import com.android.server.firewall.IntentFirewall; import com.android.server.uri.UriGrantsManagerInternal; import org.junit.After; @@ -116,27 +119,13 @@ class ActivityTestsBase { } ActivityTaskManagerService createActivityTaskManagerService() { - final TestActivityTaskManagerService atm = - spy(new TestActivityTaskManagerService(mContext)); - setupActivityManagerService(atm); - return atm; - } - - void setupActivityTaskManagerService() { - mService = createActivityTaskManagerService(); + mService = new TestActivityTaskManagerService(mContext); mSupervisor = mService.mStackSupervisor; + return mService; } - ActivityManagerService createActivityManagerService() { - final TestActivityTaskManagerService atm = - spy(new TestActivityTaskManagerService(mContext)); - return setupActivityManagerService(atm); - } - - ActivityManagerService setupActivityManagerService(TestActivityTaskManagerService atm) { - final TestActivityManagerService am = spy(new TestActivityManagerService(mTestInjector)); - setupActivityManagerService(am, atm); - return am; + void setupActivityTaskManagerService() { + createActivityTaskManagerService(); } /** Creates a {@link TestActivityDisplay}. */ @@ -155,32 +144,6 @@ class ActivityTestsBase { return display; } - void setupActivityManagerService( - TestActivityManagerService am, TestActivityTaskManagerService atm) { - atm.setActivityManagerService(am.mIntentFirewall, am.mPendingIntentController); - atm.mAmInternal = am.getLocalService(); - am.mAtmInternal = atm.getLocalService(); - // Makes sure the supervisor is using with the spy object. - atm.mStackSupervisor.setService(atm); - doReturn(mock(IPackageManager.class)).when(am).getPackageManager(); - doReturn(mock(IPackageManager.class)).when(atm).getPackageManager(); - PackageManagerInternal mockPackageManager = mock(PackageManagerInternal.class); - doReturn(mockPackageManager).when(am).getPackageManagerInternalLocked(); - doReturn(null).when(mockPackageManager).getDefaultHomeActivity(anyInt()); - doNothing().when(am).grantEphemeralAccessLocked(anyInt(), any(), anyInt(), anyInt()); - am.mActivityTaskManager = atm; - am.mWindowManager = prepareMockWindowManager(); - atm.setWindowManager(am.mWindowManager); - - // Put a home stack on the default display, so that we'll always have something focusable. - final TestActivityStackSupervisor supervisor = - (TestActivityStackSupervisor) atm.mStackSupervisor; - supervisor.mDisplay.createStack(WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_HOME, ON_TOP); - final TaskRecord task = new TaskBuilder(atm.mStackSupervisor) - .setStack(supervisor.getDefaultDisplay().getHomeStack()).build(); - new ActivityBuilder(atm).setTask(task).build(); - } - /** * Builder for creating new activities. */ @@ -406,37 +369,57 @@ class ActivityTestsBase { } } - protected static class TestActivityTaskManagerService extends ActivityTaskManagerService { - private LockTaskController mLockTaskController; - private ActivityTaskManagerInternal mInternal; + protected class TestActivityTaskManagerService extends ActivityTaskManagerService { private PackageManagerInternal mPmInternal; // ActivityStackSupervisor may be created more than once while setting up AMS and ATMS. // We keep the reference in order to prevent creating it twice. - private ActivityStackSupervisor mTestStackSupervisor; + ActivityStackSupervisor mTestStackSupervisor; TestActivityTaskManagerService(Context context) { super(context); + + mUgmInternal = mock(UriGrantsManagerInternal.class); + mSupportsMultiWindow = true; mSupportsMultiDisplay = true; mSupportsSplitScreenMultiWindow = true; mSupportsFreeformWindowManagement = true; mSupportsPictureInPicture = true; - mUgmInternal = mock(UriGrantsManagerInternal.class); + + final TestActivityManagerService am = + new TestActivityManagerService(mTestInjector, this); + // TODO: Get some odd native errors when I put the 2 lines below in + // TestActivityManagerService which should be okay...but it isn't. + spyOn(am); + am.initMocks(); + + // Put a home stack on the default display, so that we'll always have something + // focusable. + final TestActivityStackSupervisor supervisor = + (TestActivityStackSupervisor) mStackSupervisor; + supervisor.mDisplay.createStack(WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_HOME, ON_TOP); + final TaskRecord task = new TaskBuilder(mStackSupervisor) + .setStack(supervisor.getDefaultDisplay().getHomeStack()).build(); + new ActivityBuilder(this).setTask(task).build(); + + spyOn(this); + spyOn(getLifecycleManager()); + spyOn(getLockTaskController()); + doReturn(mock(IPackageManager.class)).when(this).getPackageManager(); } - @Override - int handleIncomingUser(int callingPid, int callingUid, int userId, String name) { - return userId; + void setActivityManagerService(IntentFirewall intentFirewall, + PendingIntentController intentController, ActivityManagerInternal amInternal, + WindowManagerService wm) { + mAmInternal = amInternal; + setActivityManagerService(intentFirewall, intentController); + setWindowManager(wm); } @Override - public LockTaskController getLockTaskController() { - if (mLockTaskController == null) { - mLockTaskController = spy(super.getLockTaskController()); - } - - return mLockTaskController; + int handleIncomingUser(int callingPid, int callingUid, int userId, String name) { + return userId; } @Override @@ -444,41 +427,13 @@ class ActivityTestsBase { } @Override - protected final ActivityStackSupervisor createStackSupervisor() { + protected ActivityStackSupervisor createStackSupervisor() { if (mTestStackSupervisor == null) { - final ActivityStackSupervisor supervisor = spy(createTestSupervisor()); - final KeyguardController keyguardController = mock(KeyguardController.class); - - // Invoked during {@link ActivityStack} creation. - doNothing().when(supervisor).updateUIDsPresentOnDisplay(); - // Always keep things awake. - doReturn(true).when(supervisor).hasAwakeDisplay(); - // Called when moving activity to pinned stack. - doNothing().when(supervisor).ensureActivitiesVisibleLocked(any(), anyInt(), - anyBoolean()); - // Do not schedule idle timeouts - doNothing().when(supervisor).scheduleIdleTimeoutLocked(any()); - // unit test version does not handle launch wake lock - doNothing().when(supervisor).acquireLaunchWakelock(); - doReturn(keyguardController).when(supervisor).getKeyguardController(); - - supervisor.initialize(); - mTestStackSupervisor = supervisor; + mTestStackSupervisor = new TestActivityStackSupervisor(this, mH.getLooper()); } return mTestStackSupervisor; } - protected ActivityStackSupervisor createTestSupervisor() { - return new TestActivityStackSupervisor(this, mH.getLooper()); - } - - ActivityTaskManagerInternal getLocalService() { - if (mInternal == null) { - mInternal = new ActivityTaskManagerService.LocalService(); - } - return mInternal; - } - @Override PackageManagerInternal getPackageManagerInternalLocked() { if (mPmInternal == null) { @@ -529,20 +484,27 @@ class ActivityTestsBase { * An {@link ActivityManagerService} subclass which provides a test * {@link ActivityStackSupervisor}. */ - static class TestActivityManagerService extends ActivityManagerService { + class TestActivityManagerService extends ActivityManagerService { - private ActivityManagerInternal mInternal; - - TestActivityManagerService(TestInjector testInjector) { + TestActivityManagerService(TestInjector testInjector, TestActivityTaskManagerService atm) { super(testInjector, testInjector.mHandlerThread); + + mWindowManager = prepareMockWindowManager(); mUgmInternal = mock(UriGrantsManagerInternal.class); + + atm.setActivityManagerService(mIntentFirewall, mPendingIntentController, + new LocalService(), mWindowManager); + + mActivityTaskManager = atm; + mAtmInternal = atm.mInternal; } - ActivityManagerInternal getLocalService() { - if (mInternal == null) { - mInternal = new LocalService(); - } - return mInternal; + void initMocks() { + doReturn(mock(IPackageManager.class)).when(this).getPackageManager(); + PackageManagerInternal mockPackageManager = mock(PackageManagerInternal.class); + doReturn(mockPackageManager).when(this).getPackageManagerInternalLocked(); + doReturn(null).when(mockPackageManager).getDefaultHomeActivity(anyInt()); + doNothing().when(this).grantEphemeralAccessLocked(anyInt(), any(), anyInt(), anyInt()); } } @@ -550,23 +512,40 @@ class ActivityTestsBase { * An {@link ActivityStackSupervisor} which stubs out certain methods that depend on * setup not available in the test environment. Also specifies an injector for */ - protected static class TestActivityStackSupervisor extends ActivityStackSupervisor { + protected class TestActivityStackSupervisor extends ActivityStackSupervisor { private ActivityDisplay mDisplay; private KeyguardController mKeyguardController; - public TestActivityStackSupervisor(ActivityTaskManagerService service, Looper looper) { + TestActivityStackSupervisor(ActivityTaskManagerService service, Looper looper) { super(service, looper); + spyOn(this); mDisplayManager = (DisplayManager) mService.mContext.getSystemService(Context.DISPLAY_SERVICE); mWindowManager = prepareMockWindowManager(); mKeyguardController = mock(KeyguardController.class); setWindowContainerController(mock(RootWindowContainerController.class)); + + // Invoked during {@link ActivityStack} creation. + doNothing().when(this).updateUIDsPresentOnDisplay(); + // Always keep things awake. + doReturn(true).when(this).hasAwakeDisplay(); + // Called when moving activity to pinned stack. + doNothing().when(this).ensureActivitiesVisibleLocked(any(), anyInt(), + anyBoolean()); + // Do not schedule idle timeouts + doNothing().when(this).scheduleIdleTimeoutLocked(any()); + // unit test version does not handle launch wake lock + doNothing().when(this).acquireLaunchWakelock(); + doReturn(mKeyguardController).when(this).getKeyguardController(); + + initialize(); } @Override public void initialize() { super.initialize(); - mDisplay = spy(TestActivityDisplay.create(this, DEFAULT_DISPLAY)); + mDisplay = TestActivityDisplay.create(this, DEFAULT_DISPLAY); + spyOn(mDisplay); addChild(mDisplay, ActivityDisplay.POSITION_TOP); } diff --git a/services/tests/wmtests/src/com/android/server/wm/AssistDataRequesterTest.java b/services/tests/wmtests/src/com/android/server/wm/AssistDataRequesterTest.java index c6c1c5261b17..9e1d88be5f93 100644 --- a/services/tests/wmtests/src/com/android/server/wm/AssistDataRequesterTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/AssistDataRequesterTest.java @@ -32,9 +32,9 @@ import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.doAnswer; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock; import android.app.AppOpsManager; import android.app.IActivityManager; diff --git a/services/tests/wmtests/src/com/android/server/wm/ClientLifecycleManagerTests.java b/services/tests/wmtests/src/com/android/server/wm/ClientLifecycleManagerTests.java index f1d840d0dc52..28dd458a786c 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ClientLifecycleManagerTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ClientLifecycleManagerTests.java @@ -16,10 +16,10 @@ package com.android.server.wm; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.spy; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.times; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify; import android.app.IApplicationThread; import android.app.servertransaction.ClientTransaction; diff --git a/services/tests/wmtests/src/com/android/server/wm/LaunchParamsControllerTests.java b/services/tests/wmtests/src/com/android/server/wm/LaunchParamsControllerTests.java index f8d64e993731..62693f38c818 100644 --- a/services/tests/wmtests/src/com/android/server/wm/LaunchParamsControllerTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/LaunchParamsControllerTests.java @@ -28,15 +28,15 @@ import static com.android.server.wm.LaunchParamsController.LaunchParamsModifier. import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; -import static org.mockito.Mockito.any; -import static org.mockito.Mockito.anyInt; -import static org.mockito.Mockito.doNothing; -import static org.mockito.Mockito.eq; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.any; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.anyInt; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.doNothing; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.eq; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.never; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.spy; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.times; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify; import android.app.ActivityOptions; import android.content.ComponentName; 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 59e9ce3338ee..42bce75b053f 100644 --- a/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java @@ -26,9 +26,9 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Matchers.any; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; +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; import android.content.ComponentName; import android.content.pm.PackageList; diff --git a/services/tests/wmtests/src/com/android/server/wm/LockTaskControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/LockTaskControllerTest.java index 6b613ed96761..73eebb616677 100644 --- a/services/tests/wmtests/src/com/android/server/wm/LockTaskControllerTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/LockTaskControllerTest.java @@ -44,13 +44,13 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.reset; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.doAnswer; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.never; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.reset; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.times; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.when; import android.app.StatusBarManager; import android.app.admin.DevicePolicyManager; diff --git a/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java b/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java index 26241d2e2e6f..c24b493e0544 100644 --- a/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java @@ -38,8 +38,8 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.spy; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.spy; import static java.lang.Integer.MAX_VALUE; @@ -109,9 +109,7 @@ public class RecentTasksTest extends ActivityTestsBase { @Before public void setUp() throws Exception { mTaskPersister = new TestTaskPersister(mContext.getFilesDir()); - mTestService = spy(new MyTestActivityTaskManagerService(mContext)); - final TestActivityManagerService am = spy(new MyTestActivityManagerService()); - setupActivityManagerService(am, mTestService); + mTestService = new MyTestActivityTaskManagerService(mContext); mRecentTasks = (TestRecentTasks) mTestService.getRecentTasks(); mRecentTasks.loadParametersFromResources(mContext.getResources()); mHomeStack = mTestService.mStackSupervisor.getDefaultDisplay().getOrCreateStack( @@ -867,20 +865,11 @@ public class RecentTasksTest extends ActivityTestsBase { } @Override - protected ActivityStackSupervisor createTestSupervisor() { - return new MyTestActivityStackSupervisor(this, mH.getLooper()); - } - - } - - private class MyTestActivityManagerService extends TestActivityManagerService { - MyTestActivityManagerService() { - super(mTestInjector); - } - - @Override - public boolean isUserRunning(int userId, int flags) { - return true; + protected ActivityStackSupervisor createStackSupervisor() { + if (mTestStackSupervisor == null) { + mTestStackSupervisor = new MyTestActivityStackSupervisor(this, mH.getLooper()); + } + return mTestStackSupervisor; } } diff --git a/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationTest.java b/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationTest.java index a01a3d90f7c6..93152f1e88cc 100644 --- a/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationTest.java @@ -22,13 +22,14 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN; import static com.android.server.wm.RecentsAnimationController.REORDER_KEEP_IN_PLACE; -import static org.mockito.Mockito.any; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.eq; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.any; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.eq; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.spy; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.times; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify; import android.content.ComponentName; import android.content.Context; @@ -51,61 +52,50 @@ import org.junit.Test; public class RecentsAnimationTest extends ActivityTestsBase { private Context mContext = InstrumentationRegistry.getContext(); - private TestActivityTaskManagerService mTestService; private ComponentName mRecentsComponent; @Before public void setUp() throws Exception { mRecentsComponent = new ComponentName(mContext.getPackageName(), "RecentsActivity"); - mTestService = spy(new MyTestActivityTaskManagerService(mContext)); - setupActivityManagerService(mTestService); + mService = new TestActivityTaskManagerService(mContext); + + final RecentTasks recentTasks = mService.getRecentTasks(); + spyOn(recentTasks); + mRecentsComponent = new ComponentName(mContext.getPackageName(), "RecentsActivity"); + doReturn(mRecentsComponent).when(recentTasks).getRecentsComponent(); } @Test public void testCancelAnimationOnStackOrderChange() { ActivityStack fullscreenStack = - mTestService.mStackSupervisor.getDefaultDisplay().createStack( + mService.mStackSupervisor.getDefaultDisplay().createStack( WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD, true /* onTop */); - ActivityStack recentsStack = mTestService.mStackSupervisor.getDefaultDisplay().createStack( + ActivityStack recentsStack = mService.mStackSupervisor.getDefaultDisplay().createStack( WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_RECENTS, true /* onTop */); - ActivityRecord recentsActivity = new ActivityBuilder(mTestService) + ActivityRecord recentsActivity = new ActivityBuilder(mService) .setComponent(mRecentsComponent) .setCreateTask(true) .setStack(recentsStack) .build(); ActivityStack fullscreenStack2 = - mTestService.mStackSupervisor.getDefaultDisplay().createStack( + mService.mStackSupervisor.getDefaultDisplay().createStack( WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD, true /* onTop */); - ActivityRecord fsActivity = new ActivityBuilder(mTestService) + ActivityRecord fsActivity = new ActivityBuilder(mService) .setComponent(new ComponentName(mContext.getPackageName(), "App1")) .setCreateTask(true) .setStack(fullscreenStack2) .build(); - doReturn(true).when(mTestService.mWindowManager).canStartRecentsAnimation(); + doReturn(true).when(mService.mWindowManager).canStartRecentsAnimation(); // Start the recents animation Intent recentsIntent = new Intent(); recentsIntent.setComponent(mRecentsComponent); - mTestService.startRecentsActivity(recentsIntent, null, mock(IRecentsAnimationRunner.class)); + mService.startRecentsActivity(recentsIntent, null, mock(IRecentsAnimationRunner.class)); fullscreenStack.moveToFront("Activity start"); // Ensure that the recents animation was canceled - verify(mTestService.mWindowManager, times(1)).cancelRecentsAnimationSynchronously( + verify(mService.mWindowManager, times(1)).cancelRecentsAnimationSynchronously( eq(REORDER_KEEP_IN_PLACE), any()); } - - private class MyTestActivityTaskManagerService extends TestActivityTaskManagerService { - MyTestActivityTaskManagerService(Context context) { - super(context); - } - - @Override - protected RecentTasks createRecentTasks() { - RecentTasks recents = mock(RecentTasks.class); - doReturn(mRecentsComponent).when(recents).getRecentsComponent(); - System.out.println(mRecentsComponent); - return recents; - } - } } diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskLaunchParamsModifierTests.java b/services/tests/wmtests/src/com/android/server/wm/TaskLaunchParamsModifierTests.java index 2168fabb97e5..63258c7b7f07 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TaskLaunchParamsModifierTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/TaskLaunchParamsModifierTests.java @@ -32,7 +32,7 @@ import static com.android.server.wm.LaunchParamsController.LaunchParamsModifier. import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.when; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.when; import android.app.ActivityOptions; import android.content.pm.ActivityInfo; diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowAnimationSpecTest.java b/services/tests/wmtests/src/com/android/server/wm/WindowAnimationSpecTest.java index 21e5d991b63b..0447e8ae46e8 100644 --- a/services/tests/wmtests/src/com/android/server/wm/WindowAnimationSpecTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/WindowAnimationSpecTest.java @@ -22,8 +22,8 @@ import static com.android.server.wm.WindowStateAnimator.STACK_CLIP_NONE; import static org.mockito.ArgumentMatchers.argThat; import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify; import android.graphics.Point; import android.graphics.Rect; diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowTestUtils.java b/services/tests/wmtests/src/com/android/server/wm/WindowTestUtils.java index 3b4ab3839146..ab9a35d6eddc 100644 --- a/services/tests/wmtests/src/com/android/server/wm/WindowTestUtils.java +++ b/services/tests/wmtests/src/com/android/server/wm/WindowTestUtils.java @@ -16,14 +16,14 @@ package com.android.server.wm; -import static org.mockito.Mockito.any; -import static org.mockito.Mockito.anyBoolean; -import static org.mockito.Mockito.anyFloat; -import static org.mockito.Mockito.anyInt; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.any; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.anyBoolean; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.anyFloat; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.anyInt; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.doAnswer; +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.when; import android.content.Context; import android.content.res.Configuration; @@ -46,34 +46,29 @@ public class WindowTestUtils { WallpaperController wallpaperController, DisplayWindowController controller) { super(display, service, wallpaperController, controller); } + } - /** Create a mocked default {@link DisplayContent}. */ - public static TestDisplayContent create(Context context) { - final TestDisplayContent displayContent = mock(TestDisplayContent.class); - displayContent.isDefaultDisplay = true; - - final DisplayPolicy displayPolicy = mock(DisplayPolicy.class); - when(displayPolicy.navigationBarCanMove()).thenReturn(true); - when(displayPolicy.hasNavigationBar()).thenReturn(true); + public static DisplayRotation createTestDisplayRotation( + Context context, TestDisplayContent displayContent) { + displayContent.isDefaultDisplay = true; - final DisplayRotation displayRotation = new DisplayRotation( - mock(WindowManagerService.class), displayContent, displayPolicy, - context, new Object()); - displayRotation.mPortraitRotation = Surface.ROTATION_0; - displayRotation.mLandscapeRotation = Surface.ROTATION_90; - displayRotation.mUpsideDownRotation = Surface.ROTATION_180; - displayRotation.mSeascapeRotation = Surface.ROTATION_270; + final DisplayPolicy displayPolicy = mock(DisplayPolicy.class); + doReturn(true).when(displayPolicy).navigationBarCanMove(); + doReturn(true).when(displayPolicy).hasNavigationBar(); - when(displayContent.getDisplayRotation()).thenReturn(displayRotation); + final DisplayRotation displayRotation = new DisplayRotation( + mock(WindowManagerService.class), displayContent, displayPolicy, + context, new Object()); + displayRotation.mPortraitRotation = Surface.ROTATION_0; + displayRotation.mLandscapeRotation = Surface.ROTATION_90; + displayRotation.mUpsideDownRotation = Surface.ROTATION_180; + displayRotation.mSeascapeRotation = Surface.ROTATION_270; - return displayContent; - } + return displayRotation; } - /** - * Creates a mock instance of {@link StackWindowController}. - */ - public static StackWindowController createMockStackWindowContainerController() { + /** Creates a mock instance of {@link StackWindowController}. */ + static StackWindowController createMockStackWindowContainerController() { StackWindowController controller = mock(StackWindowController.class); controller.mContainer = mock(TestTaskStack.class); @@ -94,7 +89,7 @@ public class WindowTestUtils { * An extension of {@link TestTaskStack}, which overrides package scoped methods that would not * normally be mocked out. */ - public static class TestTaskStack extends TaskStack { + static class TestTaskStack extends TaskStack { TestTaskStack(WindowManagerService service, int stackId) { super(service, stackId, null); } diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowTracingTest.java b/services/tests/wmtests/src/com/android/server/wm/WindowTracingTest.java index 0445ea03da73..274c560ee79b 100644 --- a/services/tests/wmtests/src/com/android/server/wm/WindowTracingTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/WindowTracingTest.java @@ -24,10 +24,10 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyZeroInteractions; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.doAnswer; +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.verifyZeroInteractions; import android.content.Context; import android.platform.test.annotations.Presubmit; |