summaryrefslogtreecommitdiff
path: root/tests/framework/base/windowmanager/src/android/server/wm/MultiWindowTests.java
diff options
context:
space:
mode:
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.java31
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();
});