diff options
author | bsears <bsears@google.com> | 2019-08-08 17:51:11 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-08-08 17:51:11 +0000 |
commit | c5568f9aac5c64456d3d085db77cf9751f55a7bb (patch) | |
tree | f1f1718b4cc541b08edcfee687971b84918a7fca | |
parent | a1bf282e43e20e5224b0d8c6f32ee76fcbee716f (diff) | |
parent | a37999be9c44f8d09610c6f569585df4580ebd80 (diff) | |
download | base-c5568f9aac5c64456d3d085db77cf9751f55a7bb.tar.gz |
Merge "Avoid using secondary displays as launch params when not support" into qt-dev
-rw-r--r-- | services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java | 4 | ||||
-rw-r--r-- | services/tests/wmtests/src/com/android/server/wm/TaskLaunchParamsModifierTests.java | 16 |
2 files changed, 20 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java b/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java index 14585c531203..19fbfedfc251 100644 --- a/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java +++ b/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java @@ -292,6 +292,10 @@ class TaskLaunchParamsModifier implements LaunchParamsModifier { private int getPreferredLaunchDisplay(@Nullable TaskRecord task, @Nullable ActivityOptions options, ActivityRecord source, LaunchParams currentParams) { + if (!mSupervisor.mService.mSupportsMultiDisplay) { + return DEFAULT_DISPLAY; + } + int displayId = INVALID_DISPLAY; final int optionLaunchId = options != null ? options.getLaunchDisplayId() : INVALID_DISPLAY; if (optionLaunchId != INVALID_DISPLAY) { 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 f918149e6781..58614c650363 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TaskLaunchParamsModifierTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/TaskLaunchParamsModifierTests.java @@ -1225,6 +1225,22 @@ public class TaskLaunchParamsModifierTests extends ActivityTestsBase { assertEquals(startingBounds, adjustedBounds); } + @Test + public void testNoMultiDisplaySupports() { + final boolean orgValue = mService.mSupportsMultiDisplay; + final TestActivityDisplay display = createNewActivityDisplay(WINDOWING_MODE_FULLSCREEN); + mCurrent.mPreferredDisplayId = display.mDisplayId; + + try { + mService.mSupportsMultiDisplay = false; + assertEquals(RESULT_CONTINUE, mTarget.onCalculate(/* task */ null, /* layout */ null, + mActivity, /* source */ null, /* options */ null, mCurrent, mResult)); + assertEquals(DEFAULT_DISPLAY, mResult.mPreferredDisplayId); + } finally { + mService.mSupportsMultiDisplay = orgValue; + } + } + private TestActivityDisplay createNewActivityDisplay(int windowingMode) { final TestActivityDisplay display = addNewActivityDisplayAt(ActivityDisplay.POSITION_TOP); display.setWindowingMode(windowingMode); |