Merge "Convert TestActivityDisplay.create to Builder"
This commit is contained in:
committed by
Android (Google) Code Review
commit
baa22d597c
@@ -134,10 +134,9 @@ public class ActivityDisplayTests extends ActivityTestsBase {
|
||||
public void testNotResumeHomeStackOnRemovingDisplay() {
|
||||
// Create a display which supports system decoration and allows reparenting stacks to
|
||||
// another display when the display is removed.
|
||||
final ActivityDisplay display = createNewActivityDisplay();
|
||||
final ActivityDisplay display = new TestActivityDisplay.Builder(
|
||||
mService, 1000, 1500).setSystemDecorations(true).build();
|
||||
doReturn(false).when(display).shouldDestroyContentOnRemove();
|
||||
doReturn(true).when(display).supportsSystemDecorations();
|
||||
mRootActivityContainer.addChild(display, ActivityDisplay.POSITION_TOP);
|
||||
|
||||
// Put home stack on the display.
|
||||
final ActivityStack homeStack = new StackBuilder(mRootActivityContainer)
|
||||
|
||||
@@ -760,8 +760,9 @@ public class ActivityStarterTests extends ActivityTestsBase {
|
||||
false /* mockGetLaunchStack */);
|
||||
|
||||
// Create a secondary display at bottom.
|
||||
final TestActivityDisplay secondaryDisplay = createNewActivityDisplay();
|
||||
mRootActivityContainer.addChild(secondaryDisplay, POSITION_BOTTOM);
|
||||
final TestActivityDisplay secondaryDisplay =
|
||||
new TestActivityDisplay.Builder(mService, 1000, 1500)
|
||||
.setPosition(POSITION_BOTTOM).build();
|
||||
final ActivityStack stack = secondaryDisplay.createStack(WINDOWING_MODE_FULLSCREEN,
|
||||
ACTIVITY_TYPE_STANDARD, true /* onTop */);
|
||||
|
||||
@@ -798,7 +799,8 @@ public class ActivityStarterTests extends ActivityTestsBase {
|
||||
false /* mockGetLaunchStack */);
|
||||
|
||||
// Create a secondary display with an activity.
|
||||
final TestActivityDisplay secondaryDisplay = createNewActivityDisplay();
|
||||
final TestActivityDisplay secondaryDisplay =
|
||||
new TestActivityDisplay.Builder(mService, 1000, 1500).build();
|
||||
mRootActivityContainer.addChild(secondaryDisplay, POSITION_TOP);
|
||||
final ActivityRecord singleTaskActivity = createSingleTaskActivityOn(
|
||||
secondaryDisplay.createStack(WINDOWING_MODE_FULLSCREEN,
|
||||
|
||||
@@ -43,7 +43,6 @@ import android.content.res.Configuration;
|
||||
import android.os.Build;
|
||||
import android.os.UserHandle;
|
||||
import android.service.voice.IVoiceInteractionSession;
|
||||
import android.view.DisplayInfo;
|
||||
|
||||
import com.android.server.AttributeCache;
|
||||
|
||||
@@ -78,27 +77,9 @@ class ActivityTestsBase extends SystemServiceTestsBase {
|
||||
mRootActivityContainer = mService.mRootActivityContainer;
|
||||
}
|
||||
|
||||
/** Creates a {@link TestActivityDisplay}. */
|
||||
TestActivityDisplay createNewActivityDisplay() {
|
||||
return TestActivityDisplay.create(mSupervisor);
|
||||
}
|
||||
|
||||
TestActivityDisplay createNewActivityDisplay(DisplayInfo info) {
|
||||
return TestActivityDisplay.create(mSupervisor, info);
|
||||
}
|
||||
|
||||
/** Creates and adds a {@link TestActivityDisplay} to supervisor at the given position. */
|
||||
TestActivityDisplay addNewActivityDisplayAt(int position) {
|
||||
final TestActivityDisplay display = createNewActivityDisplay();
|
||||
mRootActivityContainer.addChild(display, position);
|
||||
return display;
|
||||
}
|
||||
|
||||
/** Creates and adds a {@link TestActivityDisplay} to supervisor at the given position. */
|
||||
TestActivityDisplay addNewActivityDisplayAt(DisplayInfo info, int position) {
|
||||
final TestActivityDisplay display = createNewActivityDisplay(info);
|
||||
mRootActivityContainer.addChild(display, position);
|
||||
return display;
|
||||
return new TestActivityDisplay.Builder(mService, 1000, 1500).setPosition(position).build();
|
||||
}
|
||||
|
||||
/** Sets the default minimum task size to 1 so that tests can use small task sizes */
|
||||
|
||||
@@ -36,7 +36,6 @@ import android.content.pm.PackageManagerInternal;
|
||||
import android.graphics.Rect;
|
||||
import android.os.UserHandle;
|
||||
import android.platform.test.annotations.Presubmit;
|
||||
import android.view.DisplayInfo;
|
||||
|
||||
import androidx.test.InstrumentationRegistry;
|
||||
import androidx.test.filters.MediumTest;
|
||||
@@ -103,11 +102,8 @@ public class LaunchParamsPersisterTests extends ActivityTestsBase {
|
||||
deleteRecursively(mFolder);
|
||||
|
||||
mDisplayUniqueId = "test:" + Integer.toString(sNextUniqueId++);
|
||||
final DisplayInfo info = new DisplayInfo();
|
||||
mService.mContext.getDisplay().getDisplayInfo(info);
|
||||
info.uniqueId = mDisplayUniqueId;
|
||||
mTestDisplay = createNewActivityDisplay(info);
|
||||
mRootActivityContainer.addChild(mTestDisplay, ActivityDisplay.POSITION_TOP);
|
||||
mTestDisplay = new TestActivityDisplay.Builder(mService, 1000, 1500)
|
||||
.setUniqueId(mDisplayUniqueId).build();
|
||||
when(mRootActivityContainer.getActivityDisplay(eq(mDisplayUniqueId)))
|
||||
.thenReturn(mTestDisplay);
|
||||
|
||||
|
||||
@@ -35,7 +35,6 @@ 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 static com.android.server.wm.ActivityDisplay.POSITION_TOP;
|
||||
import static com.android.server.wm.ActivityStackSupervisor.ON_TOP;
|
||||
import static com.android.server.wm.RootActivityContainer.MATCH_TASK_IN_STACKS_OR_RECENT_TASKS_AND_RESTORE;
|
||||
|
||||
@@ -61,7 +60,6 @@ import android.content.res.Resources;
|
||||
import android.graphics.Rect;
|
||||
import android.platform.test.annotations.Presubmit;
|
||||
import android.util.Pair;
|
||||
import android.view.DisplayInfo;
|
||||
|
||||
import androidx.test.filters.MediumTest;
|
||||
|
||||
@@ -518,9 +516,9 @@ public class RootActivityContainerTests extends ActivityTestsBase {
|
||||
mockResolveSecondaryHomeActivity();
|
||||
|
||||
// Create secondary displays.
|
||||
final TestActivityDisplay secondDisplay = createNewActivityDisplay();
|
||||
mRootActivityContainer.addChild(secondDisplay, POSITION_TOP);
|
||||
doReturn(true).when(secondDisplay).supportsSystemDecorations();
|
||||
final TestActivityDisplay secondDisplay =
|
||||
new TestActivityDisplay.Builder(mService, 1000, 1500)
|
||||
.setSystemDecorations(true).build();
|
||||
|
||||
doReturn(true).when(mRootActivityContainer)
|
||||
.ensureVisibilityAndConfig(any(), anyInt(), anyBoolean(), anyBoolean());
|
||||
@@ -585,10 +583,10 @@ public class RootActivityContainerTests extends ActivityTestsBase {
|
||||
@Test
|
||||
public void testStartSecondaryHomeOnDisplayWithUserKeyLocked() {
|
||||
// Create secondary displays.
|
||||
final TestActivityDisplay secondDisplay = createNewActivityDisplay();
|
||||
mRootActivityContainer.addChild(secondDisplay, POSITION_TOP);
|
||||
final TestActivityDisplay secondDisplay =
|
||||
new TestActivityDisplay.Builder(mService, 1000, 1500)
|
||||
.setSystemDecorations(true).build();
|
||||
|
||||
doReturn(true).when(secondDisplay).supportsSystemDecorations();
|
||||
// Use invalid user id to let StorageManager.isUserKeyUnlocked() return false.
|
||||
final int currentUser = mRootActivityContainer.mCurrentUser;
|
||||
mRootActivityContainer.mCurrentUser = -1;
|
||||
@@ -611,9 +609,9 @@ public class RootActivityContainerTests extends ActivityTestsBase {
|
||||
@Test
|
||||
public void testStartSecondaryHomeOnDisplayWithoutSysDecorations() {
|
||||
// Create secondary displays.
|
||||
final TestActivityDisplay secondDisplay = createNewActivityDisplay();
|
||||
mRootActivityContainer.addChild(secondDisplay, POSITION_TOP);
|
||||
doReturn(false).when(secondDisplay).supportsSystemDecorations();
|
||||
final TestActivityDisplay secondDisplay =
|
||||
new TestActivityDisplay.Builder(mService, 1000, 1500)
|
||||
.setSystemDecorations(false).build();
|
||||
|
||||
mRootActivityContainer.startHomeOnDisplay(0 /* userId */, "testStartSecondaryHome",
|
||||
secondDisplay.mDisplayId, true /* allowInstrumenting */, true /* fromHomeKey */);
|
||||
@@ -834,12 +832,9 @@ public class RootActivityContainerTests extends ActivityTestsBase {
|
||||
@Test
|
||||
public void testGetLaunchStackWithRealCallerId() {
|
||||
// Create a non-system owned virtual display.
|
||||
final DisplayInfo info = new DisplayInfo();
|
||||
mSupervisor.mService.mContext.getDisplay().getDisplayInfo(info);
|
||||
info.type = TYPE_VIRTUAL;
|
||||
info.ownerUid = 100;
|
||||
final TestActivityDisplay secondaryDisplay = TestActivityDisplay.create(mSupervisor, info);
|
||||
mRootActivityContainer.addChild(secondaryDisplay, POSITION_TOP);
|
||||
final TestActivityDisplay secondaryDisplay =
|
||||
new TestActivityDisplay.Builder(mService, 1000, 1500)
|
||||
.setType(TYPE_VIRTUAL).setOwnerUid(100).build();
|
||||
|
||||
// Create an activity with specify the original launch pid / uid.
|
||||
final ActivityRecord r = new ActivityBuilder(mService).setLaunchedFromPid(200)
|
||||
|
||||
@@ -18,7 +18,6 @@ package com.android.server.wm;
|
||||
|
||||
import static android.app.WindowConfiguration.ACTIVITY_TYPE_UNDEFINED;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
|
||||
import static android.view.Display.DEFAULT_DISPLAY;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
@@ -59,13 +58,15 @@ public class RunningTasksTest extends ActivityTestsBase {
|
||||
public void testCollectTasksByLastActiveTime() {
|
||||
// Create a number of stacks with tasks (of incrementing active time)
|
||||
final ArrayList<ActivityDisplay> displays = new ArrayList<>();
|
||||
final ActivityDisplay display = TestActivityDisplay.create(mSupervisor, DEFAULT_DISPLAY);
|
||||
final ActivityDisplay display =
|
||||
new TestActivityDisplay.Builder(mService, 1000, 2500).build();
|
||||
displays.add(display);
|
||||
|
||||
final int numStacks = 2;
|
||||
for (int stackIndex = 0; stackIndex < numStacks; stackIndex++) {
|
||||
final ActivityStack stack = new StackBuilder(mRootActivityContainer)
|
||||
.setCreateActivity(false)
|
||||
.setDisplay(display)
|
||||
.setOnTop(false)
|
||||
.build();
|
||||
}
|
||||
|
||||
@@ -37,7 +37,6 @@ import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn;
|
||||
import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
|
||||
import static com.android.server.policy.WindowManagerPolicy.USER_ROTATION_FREE;
|
||||
import static com.android.server.wm.DisplayRotation.FIXED_TO_USER_ROTATION_ENABLED;
|
||||
import static com.android.server.wm.WindowContainer.POSITION_TOP;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
@@ -266,11 +265,8 @@ public class TaskRecordTests extends ActivityTestsBase {
|
||||
public void testFullscreenBoundsForcedOrientation() {
|
||||
final Rect fullScreenBounds = new Rect(0, 0, 1920, 1080);
|
||||
final Rect fullScreenBoundsPort = new Rect(0, 0, 1080, 1920);
|
||||
DisplayInfo info = new DisplayInfo();
|
||||
mService.mContext.getDisplay().getDisplayInfo(info);
|
||||
info.logicalWidth = fullScreenBounds.width();
|
||||
info.logicalHeight = fullScreenBounds.height();
|
||||
ActivityDisplay display = addNewActivityDisplayAt(info, POSITION_TOP);
|
||||
ActivityDisplay display = new TestActivityDisplay.Builder(
|
||||
mService, fullScreenBounds.width(), fullScreenBounds.height()).build();
|
||||
assertTrue(mRootActivityContainer.getActivityDisplay(display.mDisplayId) != null);
|
||||
// Fix the display orientation to landscape which is the natural rotation (0) for the test
|
||||
// display.
|
||||
@@ -332,11 +328,8 @@ public class TaskRecordTests extends ActivityTestsBase {
|
||||
@Test
|
||||
public void testIgnoresForcedOrientationWhenParentHandles() {
|
||||
final Rect fullScreenBounds = new Rect(0, 0, 1920, 1080);
|
||||
DisplayInfo info = new DisplayInfo();
|
||||
mService.mContext.getDisplay().getDisplayInfo(info);
|
||||
info.logicalWidth = fullScreenBounds.width();
|
||||
info.logicalHeight = fullScreenBounds.height();
|
||||
ActivityDisplay display = addNewActivityDisplayAt(info, POSITION_TOP);
|
||||
ActivityDisplay display = new TestActivityDisplay.Builder(
|
||||
mService, fullScreenBounds.width(), fullScreenBounds.height()).build();
|
||||
|
||||
display.getRequestedOverrideConfiguration().orientation =
|
||||
Configuration.ORIENTATION_LANDSCAPE;
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
package com.android.server.wm;
|
||||
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
|
||||
import static android.view.Display.DEFAULT_DISPLAY;
|
||||
import static android.view.DisplayAdjustments.DEFAULT_DISPLAY_ADJUSTMENTS;
|
||||
|
||||
import static com.android.dx.mockito.inline.extended.ExtendedMockito.anyBoolean;
|
||||
@@ -39,36 +38,6 @@ import android.view.DisplayInfo;
|
||||
class TestActivityDisplay extends ActivityDisplay {
|
||||
private final ActivityStackSupervisor mSupervisor;
|
||||
|
||||
static TestActivityDisplay create(ActivityStackSupervisor supervisor) {
|
||||
return create(supervisor, SystemServicesTestRule.sNextDisplayId++);
|
||||
}
|
||||
|
||||
static TestActivityDisplay create(ActivityStackSupervisor supervisor, DisplayInfo info) {
|
||||
return create(supervisor, SystemServicesTestRule.sNextDisplayId++, info);
|
||||
}
|
||||
|
||||
static TestActivityDisplay create(ActivityStackSupervisor supervisor, int displayId) {
|
||||
final DisplayInfo info = new DisplayInfo();
|
||||
supervisor.mService.mContext.getDisplay().getDisplayInfo(info);
|
||||
return create(supervisor, displayId, info);
|
||||
}
|
||||
|
||||
static TestActivityDisplay create(ActivityStackSupervisor supervisor, int displayId,
|
||||
DisplayInfo info) {
|
||||
if (displayId == DEFAULT_DISPLAY) {
|
||||
synchronized (supervisor.mService.mGlobalLock) {
|
||||
return new TestActivityDisplay(supervisor,
|
||||
supervisor.mRootActivityContainer.mDisplayManager.getDisplay(displayId));
|
||||
}
|
||||
}
|
||||
final Display display = new Display(DisplayManagerGlobal.getInstance(), displayId,
|
||||
info, DEFAULT_DISPLAY_ADJUSTMENTS);
|
||||
|
||||
synchronized (supervisor.mService.mGlobalLock) {
|
||||
return new TestActivityDisplay(supervisor, display);
|
||||
}
|
||||
}
|
||||
|
||||
private TestActivityDisplay(ActivityStackSupervisor supervisor, Display display) {
|
||||
super(supervisor.mService.mRootActivityContainer, display);
|
||||
// Normally this comes from display-properties as exposed by WM. Without that, just
|
||||
|
||||
@@ -18,8 +18,6 @@ package com.android.server.wm;
|
||||
|
||||
import static android.view.Display.INVALID_DISPLAY;
|
||||
|
||||
import static com.android.server.wm.ActivityDisplay.POSITION_TOP;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
@@ -132,8 +130,6 @@ public class WindowProcessControllerTests extends ActivityTestsBase {
|
||||
}
|
||||
|
||||
private TestActivityDisplay createTestActivityDisplayInContainer() {
|
||||
final TestActivityDisplay testActivityDisplay = createNewActivityDisplay();
|
||||
mRootActivityContainer.addChild(testActivityDisplay, POSITION_TOP);
|
||||
return testActivityDisplay;
|
||||
return new TestActivityDisplay.Builder(mService, 1000, 1500).build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,8 +36,6 @@ import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER;
|
||||
|
||||
import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
|
||||
|
||||
import static com.android.server.wm.ActivityDisplay.POSITION_TOP;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
import android.content.Context;
|
||||
@@ -343,8 +341,7 @@ class WindowTestsBase extends SystemServiceTestsBase {
|
||||
/** Creates a {@link DisplayContent} and adds it to the system. */
|
||||
DisplayContent createNewDisplay(DisplayInfo info) {
|
||||
final ActivityDisplay display =
|
||||
TestActivityDisplay.create(mWm.mAtmService.mStackSupervisor, info);
|
||||
mWm.mAtmService.mRootActivityContainer.addChild(display, POSITION_TOP);
|
||||
new TestActivityDisplay.Builder(mWm.mAtmService, info).build();
|
||||
return display.mDisplayContent;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user