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);