summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/policy/PhoneWindowManager.java15
-rw-r--r--services/core/java/com/android/server/wm/ActivityStackSupervisor.java7
-rw-r--r--services/core/java/com/android/server/wm/ActivityTaskManagerService.java7
-rw-r--r--services/tests/wmtests/Android.mk7
-rw-r--r--services/tests/wmtests/AndroidManifest.xml2
-rw-r--r--services/tests/wmtests/src/com/android/server/policy/PhoneWindowManagerTestBase.java40
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/ActivityDisplayTests.java11
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/ActivityMetricsLaunchObserverTests.java8
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java6
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/ActivityStackSupervisorTests.java16
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/ActivityStackTests.java8
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/ActivityStartControllerTests.java12
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/ActivityStartInterceptorTest.java2
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java18
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/ActivityTestsBase.java197
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/AssistDataRequesterTest.java6
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/ClientLifecycleManagerTests.java8
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/LaunchParamsControllerTests.java18
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java6
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/LockTaskControllerTest.java14
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java27
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/RecentsAnimationTest.java54
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/TaskLaunchParamsModifierTests.java2
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/WindowAnimationSpecTest.java4
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/WindowTestUtils.java57
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/WindowTracingTest.java8
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;