Loading services/core/java/com/android/server/am/ActivityDisplay.java +0 −5 Original line number Diff line number Diff line Loading @@ -126,11 +126,6 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> private final FindTaskResult mTmpFindTaskResult = new FindTaskResult(); @VisibleForTesting ActivityDisplay(ActivityStackSupervisor supervisor, int displayId) { this(supervisor, supervisor.mDisplayManager.getDisplay(displayId)); } ActivityDisplay(ActivityStackSupervisor supervisor, Display display) { mSupervisor = supervisor; mDisplayId = display.getDisplayId(); Loading services/core/java/com/android/server/am/ActivityStarter.java +15 −8 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ import static android.content.pm.ActivityInfo.LAUNCH_SINGLE_TASK; import static android.content.pm.ActivityInfo.LAUNCH_SINGLE_TOP; import static android.view.Display.DEFAULT_DISPLAY; import static android.view.Display.INVALID_DISPLAY; import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_CONFIGURATION; import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_FOCUS; import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_PERMISSIONS_REVIEW; Loading Loading @@ -1901,14 +1902,20 @@ class ActivityStarter { // except... well, with SINGLE_TASK_LAUNCH it's not entirely clear. We'd like to have // the same behavior as if a new instance was being started, which means not bringing it // to the front if the caller is not itself in the front. final ActivityStack focusStack = mSupervisor.getTopDisplayFocusedStack(); ActivityRecord curTop = (focusStack == null) final boolean differentTopTask; if (mPreferredDisplayId == mTargetStack.mDisplayId) { final ActivityStack focusStack = mTargetStack.getDisplay().getFocusedStack(); final ActivityRecord curTop = (focusStack == null) ? null : focusStack.topRunningNonDelayedActivityLocked(mNotTop); final TaskRecord topTask = curTop != null ? curTop.getTask() : null; if (topTask != null && (topTask != intentActivity.getTask() || topTask != focusStack.topTask()) && !mAvoidMoveToFront) { differentTopTask = topTask != null && (topTask != intentActivity.getTask() || topTask != focusStack.topTask()); } else { // The existing task should always be different from those in other displays. differentTopTask = true; } if (differentTopTask && !mAvoidMoveToFront) { mStartActivity.intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT); if (mSourceRecord == null || (mSourceStack.getTopActivity() != null && mSourceStack.getTopActivity().getTask() == mSourceRecord.getTask())) { Loading services/tests/servicestests/src/com/android/server/am/ActivityRecordTests.java +3 −4 Original line number Diff line number Diff line Loading @@ -69,7 +69,6 @@ import org.mockito.invocation.InvocationOnMock; @Presubmit @RunWith(AndroidJUnit4.class) public class ActivityRecordTests extends ActivityTestsBase { private ActivityTaskManagerService mService; private TestActivityStack mStack; private TaskRecord mTask; private ActivityRecord mActivity; Loading @@ -79,10 +78,10 @@ public class ActivityRecordTests extends ActivityTestsBase { public void setUp() throws Exception { super.setUp(); mService = createActivityTaskManagerService(); mStack = mService.mStackSupervisor.getDefaultDisplay().createStack( setupActivityTaskManagerService(); mStack = mSupervisor.getDefaultDisplay().createStack( WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD, true /* onTop */); mTask = new TaskBuilder(mService.mStackSupervisor).setStack(mStack).build(); mTask = new TaskBuilder(mSupervisor).setStack(mStack).build(); mActivity = new ActivityBuilder(mService).setTask(mTask).build(); } Loading services/tests/servicestests/src/com/android/server/am/ActivityStackSupervisorTests.java +1 −4 Original line number Diff line number Diff line Loading @@ -64,8 +64,6 @@ import java.util.ArrayList; @Presubmit @RunWith(AndroidJUnit4.class) public class ActivityStackSupervisorTests extends ActivityTestsBase { private ActivityTaskManagerService mService; private ActivityStackSupervisor mSupervisor; private ActivityStack mFullscreenStack; @Before Loading @@ -73,8 +71,7 @@ public class ActivityStackSupervisorTests extends ActivityTestsBase { public void setUp() throws Exception { super.setUp(); mService = createActivityTaskManagerService(); mSupervisor = mService.mStackSupervisor; setupActivityTaskManagerService(); mFullscreenStack = mService.mStackSupervisor.getDefaultDisplay().createStack( WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD, true /* onTop */); } Loading services/tests/servicestests/src/com/android/server/am/ActivityStackTests.java +2 −5 Original line number Diff line number Diff line Loading @@ -60,8 +60,6 @@ import org.junit.runner.RunWith; @Presubmit @RunWith(AndroidJUnit4.class) public class ActivityStackTests extends ActivityTestsBase { private ActivityTaskManagerService mService; private ActivityStackSupervisor mSupervisor; private ActivityDisplay mDefaultDisplay; private ActivityStack mStack; private TaskRecord mTask; Loading @@ -71,9 +69,8 @@ public class ActivityStackTests extends ActivityTestsBase { public void setUp() throws Exception { super.setUp(); mService = createActivityTaskManagerService(); mSupervisor = mService.mStackSupervisor; mDefaultDisplay = mService.mStackSupervisor.getDefaultDisplay(); setupActivityTaskManagerService(); mDefaultDisplay = mSupervisor.getDefaultDisplay(); mStack = mDefaultDisplay.createStack(WINDOWING_MODE_UNDEFINED, ACTIVITY_TYPE_STANDARD, true /* onTop */); mTask = new TaskBuilder(mSupervisor).setStack(mStack).build(); Loading Loading
services/core/java/com/android/server/am/ActivityDisplay.java +0 −5 Original line number Diff line number Diff line Loading @@ -126,11 +126,6 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> private final FindTaskResult mTmpFindTaskResult = new FindTaskResult(); @VisibleForTesting ActivityDisplay(ActivityStackSupervisor supervisor, int displayId) { this(supervisor, supervisor.mDisplayManager.getDisplay(displayId)); } ActivityDisplay(ActivityStackSupervisor supervisor, Display display) { mSupervisor = supervisor; mDisplayId = display.getDisplayId(); Loading
services/core/java/com/android/server/am/ActivityStarter.java +15 −8 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ import static android.content.pm.ActivityInfo.LAUNCH_SINGLE_TASK; import static android.content.pm.ActivityInfo.LAUNCH_SINGLE_TOP; import static android.view.Display.DEFAULT_DISPLAY; import static android.view.Display.INVALID_DISPLAY; import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_CONFIGURATION; import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_FOCUS; import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_PERMISSIONS_REVIEW; Loading Loading @@ -1901,14 +1902,20 @@ class ActivityStarter { // except... well, with SINGLE_TASK_LAUNCH it's not entirely clear. We'd like to have // the same behavior as if a new instance was being started, which means not bringing it // to the front if the caller is not itself in the front. final ActivityStack focusStack = mSupervisor.getTopDisplayFocusedStack(); ActivityRecord curTop = (focusStack == null) final boolean differentTopTask; if (mPreferredDisplayId == mTargetStack.mDisplayId) { final ActivityStack focusStack = mTargetStack.getDisplay().getFocusedStack(); final ActivityRecord curTop = (focusStack == null) ? null : focusStack.topRunningNonDelayedActivityLocked(mNotTop); final TaskRecord topTask = curTop != null ? curTop.getTask() : null; if (topTask != null && (topTask != intentActivity.getTask() || topTask != focusStack.topTask()) && !mAvoidMoveToFront) { differentTopTask = topTask != null && (topTask != intentActivity.getTask() || topTask != focusStack.topTask()); } else { // The existing task should always be different from those in other displays. differentTopTask = true; } if (differentTopTask && !mAvoidMoveToFront) { mStartActivity.intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT); if (mSourceRecord == null || (mSourceStack.getTopActivity() != null && mSourceStack.getTopActivity().getTask() == mSourceRecord.getTask())) { Loading
services/tests/servicestests/src/com/android/server/am/ActivityRecordTests.java +3 −4 Original line number Diff line number Diff line Loading @@ -69,7 +69,6 @@ import org.mockito.invocation.InvocationOnMock; @Presubmit @RunWith(AndroidJUnit4.class) public class ActivityRecordTests extends ActivityTestsBase { private ActivityTaskManagerService mService; private TestActivityStack mStack; private TaskRecord mTask; private ActivityRecord mActivity; Loading @@ -79,10 +78,10 @@ public class ActivityRecordTests extends ActivityTestsBase { public void setUp() throws Exception { super.setUp(); mService = createActivityTaskManagerService(); mStack = mService.mStackSupervisor.getDefaultDisplay().createStack( setupActivityTaskManagerService(); mStack = mSupervisor.getDefaultDisplay().createStack( WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD, true /* onTop */); mTask = new TaskBuilder(mService.mStackSupervisor).setStack(mStack).build(); mTask = new TaskBuilder(mSupervisor).setStack(mStack).build(); mActivity = new ActivityBuilder(mService).setTask(mTask).build(); } Loading
services/tests/servicestests/src/com/android/server/am/ActivityStackSupervisorTests.java +1 −4 Original line number Diff line number Diff line Loading @@ -64,8 +64,6 @@ import java.util.ArrayList; @Presubmit @RunWith(AndroidJUnit4.class) public class ActivityStackSupervisorTests extends ActivityTestsBase { private ActivityTaskManagerService mService; private ActivityStackSupervisor mSupervisor; private ActivityStack mFullscreenStack; @Before Loading @@ -73,8 +71,7 @@ public class ActivityStackSupervisorTests extends ActivityTestsBase { public void setUp() throws Exception { super.setUp(); mService = createActivityTaskManagerService(); mSupervisor = mService.mStackSupervisor; setupActivityTaskManagerService(); mFullscreenStack = mService.mStackSupervisor.getDefaultDisplay().createStack( WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD, true /* onTop */); } Loading
services/tests/servicestests/src/com/android/server/am/ActivityStackTests.java +2 −5 Original line number Diff line number Diff line Loading @@ -60,8 +60,6 @@ import org.junit.runner.RunWith; @Presubmit @RunWith(AndroidJUnit4.class) public class ActivityStackTests extends ActivityTestsBase { private ActivityTaskManagerService mService; private ActivityStackSupervisor mSupervisor; private ActivityDisplay mDefaultDisplay; private ActivityStack mStack; private TaskRecord mTask; Loading @@ -71,9 +69,8 @@ public class ActivityStackTests extends ActivityTestsBase { public void setUp() throws Exception { super.setUp(); mService = createActivityTaskManagerService(); mSupervisor = mService.mStackSupervisor; mDefaultDisplay = mService.mStackSupervisor.getDefaultDisplay(); setupActivityTaskManagerService(); mDefaultDisplay = mSupervisor.getDefaultDisplay(); mStack = mDefaultDisplay.createStack(WINDOWING_MODE_UNDEFINED, ACTIVITY_TYPE_STANDARD, true /* onTop */); mTask = new TaskBuilder(mSupervisor).setStack(mStack).build(); Loading