diff options
Diffstat (limited to 'tests/framework/base/windowmanager/src/android/server/wm/MultiWindowTests.java')
-rw-r--r-- | tests/framework/base/windowmanager/src/android/server/wm/MultiWindowTests.java | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/tests/framework/base/windowmanager/src/android/server/wm/MultiWindowTests.java b/tests/framework/base/windowmanager/src/android/server/wm/MultiWindowTests.java index e6e1e81acaf..06ca39f12dc 100644 --- a/tests/framework/base/windowmanager/src/android/server/wm/MultiWindowTests.java +++ b/tests/framework/base/windowmanager/src/android/server/wm/MultiWindowTests.java @@ -457,21 +457,24 @@ public class MultiWindowTests extends ActivityManagerTestBase { mAm.getLockTaskModeState() != LOCK_TASK_MODE_NONE); // Verify specifying non-fullscreen windowing mode will fail. - boolean exceptionThrown = false; - try { - runWithShellPermission(() -> { - final WindowContainerTransaction wct = new WindowContainerTransaction() - .setWindowingMode( - mTaskOrganizer.getTaskInfo(task.mTaskId).getToken(), - WINDOWING_MODE_MULTI_WINDOW); - mTaskOrganizer.applyTransaction(wct); - }); - } catch (UnsupportedOperationException e) { - exceptionThrown = true; - } - assertTrue("Not allowed to specify windowing mode while in locked task mode.", - exceptionThrown); + runWithShellPermission(() -> { + final WindowContainerTransaction wct = new WindowContainerTransaction() + .setWindowingMode( + mTaskOrganizer.getTaskInfo(task.mTaskId).getToken(), + WINDOWING_MODE_MULTI_WINDOW); + mTaskOrganizer.applyTransaction(wct); + }); + } catch (UnsupportedOperationException e) { + // Non-fullscreen windowing mode change can cause an exception. } finally { + // The default behavior in T is to throw an exception, but this has changed in U+ to + // ensure Core won't crash with some timing issues. Thus, in T, we allow both throwing + // and not throwing an exception in this case, but at least the windowing mode change + // must be rejected. + mWmState.computeState(TEST_ACTIVITY); + assertEquals(WINDOWING_MODE_FULLSCREEN, + mWmState.getWindowState(TEST_ACTIVITY).getWindowingMode()); + runWithShellPermission(() -> { mAtm.stopSystemLockTaskMode(); }); |