Use TestTaskOrganizer in ActivityLifecycleFreeformTests
Use TestTaskOrganizer in
ActivityLifecycleFreeformTests#testMultiLaunchInFreeform() to bypass
ShellTaskOrganizer, so that a window limit implemented in
ShellTaskOrganizer doesn't cause that test to fail.
Note testMultiLaunchInFreeform() opens 3 freeform windows at once,
whereas some other tests in ActivityLifecycleFreeformTests open 2.
Therefore, a device that implements a window limit of 1, through some
other means than ShellTaskOrganizer, will still fail tests in
ActivityLifecycleFreeformTests with this CL applied.
Bug: 420517536
Bug: 419110819
Flag: EXEMPT cts test
Test: atest ActivityLifecycleFreeformTests
Change-Id: I8965c12312ee11020b9180e0c3c8398d8085d4f1
diff --git a/tests/framework/base/windowmanager/src/android/server/wm/activity/lifecycle/ActivityLifecycleFreeformTests.java b/tests/framework/base/windowmanager/src/android/server/wm/activity/lifecycle/ActivityLifecycleFreeformTests.java
index 436ed51..3713558 100644
--- a/tests/framework/base/windowmanager/src/android/server/wm/activity/lifecycle/ActivityLifecycleFreeformTests.java
+++ b/tests/framework/base/windowmanager/src/android/server/wm/activity/lifecycle/ActivityLifecycleFreeformTests.java
@@ -34,7 +34,9 @@
import static android.server.wm.activity.lifecycle.TransitionVerifier.assertSequence;
import static android.server.wm.app27.Components.SDK_27_LAUNCHING_ACTIVITY;
import static android.server.wm.app27.Components.SDK_27_TEST_ACTIVITY;
+
import static com.google.common.truth.Truth.assertThat;
+
import static org.junit.Assert.assertFalse;
import static org.junit.Assume.assumeTrue;
@@ -44,11 +46,14 @@
import android.os.Bundle;
import android.platform.test.annotations.Presubmit;
import android.server.wm.WindowManagerState;
+
import androidx.test.filters.MediumTest;
-import java.util.Collections;
+
import org.junit.Before;
import org.junit.Test;
+import java.util.Collections;
+
/**
* Build/Install/Run:
* atest CtsWindowManagerDeviceActivity:ActivityLifecycleFreeformTests
@@ -86,6 +91,9 @@
@Test
public void testMultiLaunchInFreeform() throws Exception {
+ // Mock the TaskOrganizer here so we don't trigger ShellTaskOrganizer and potential task
+ // limit logic - since a task limit of 2 or below breaks this test (that opens 3 tasks).
+ mTaskOrganizer.registerOrganizerIfNeeded();
// Launch a fullscreen activity, mainly to prevent setting pending due to task switching.
launchActivityInFullscreenAndWait(CallbackTrackingActivity.class);