Merge "Make the tests permissive for Q set changing 1 << 20 to a value that would never reasonably be used for an extension APN type bitmask Bug:135512687 Test: cherry picked from partner CL" into qt-dev
diff --git a/tests/framework/base/windowmanager/backgroundactivity/src/android/server/wm/BackgroundActivityLaunchTest.java b/tests/framework/base/windowmanager/backgroundactivity/src/android/server/wm/BackgroundActivityLaunchTest.java
index 04e6395..1734a4e 100644
--- a/tests/framework/base/windowmanager/backgroundactivity/src/android/server/wm/BackgroundActivityLaunchTest.java
+++ b/tests/framework/base/windowmanager/backgroundactivity/src/android/server/wm/BackgroundActivityLaunchTest.java
@@ -78,6 +78,9 @@
 
     private static final int ACTIVITY_FOCUS_TIMEOUT_MS = 3000;
 
+    private static final String TEST_PACKAGE_APP_A = "android.server.wm.backgroundactivity.appa";
+    private static final String TEST_PACKAGE_APP_B = "android.server.wm.backgroundactivity.appb";
+
     @Before
     public void setUp() throws Exception {
         mContext = InstrumentationRegistry.getContext();
@@ -99,6 +102,8 @@
 
     @After
     public void tearDown() throws Exception {
+        stopTestPackage(TEST_PACKAGE_APP_A);
+        stopTestPackage(TEST_PACKAGE_APP_B);
         pressHomeButton();
         mAmWmState.waitForHomeActivityVisible();
         runWithShellPermissionIdentity(() -> {
@@ -111,9 +116,6 @@
 
     @Test
     public void testBackgroundActivityBlocked() throws Exception {
-        mAmWmState.getAmState().computeState();
-        int stackCount = mAmWmState.getAmState().getStackCount();
-
         // Start AppA background activity and blocked
         Intent intent = new Intent();
         intent.setComponent(APP_A_START_ACTIVITY_RECEIVER);
@@ -121,7 +123,16 @@
         boolean result = waitForActivityFocused(APP_A_BACKGROUND_ACTIVITY);
         assertFalse("Should not able to launch background activity", result);
         assertTaskStack(null, APP_A_BACKGROUND_ACTIVITY);
-        assertEquals(stackCount, mAmWmState.getAmState().getStackCount());
+
+        // Make sure aborting activity starts won't have any empty task/stack leaks.
+        List<ActivityManagerState.ActivityStack> stacks = mAmWmState.getAmState().getStacks();
+        for (ActivityManagerState.ActivityStack stack : stacks) {
+            assertThat(stack.getTopTask()).isNotNull();
+            List<ActivityManagerState.ActivityTask> tasks = stack.getTasks();
+            for (ActivityManagerState.ActivityTask task : tasks) {
+                assertThat(task.getActivities().size()).isGreaterThan(0);
+            }
+        }
     }
 
     @Test
diff --git a/tests/tests/carrierapi/src/android/carrierapi/cts/CarrierApiTest.java b/tests/tests/carrierapi/src/android/carrierapi/cts/CarrierApiTest.java
index c7d5bcf..9abaa00 100644
--- a/tests/tests/carrierapi/src/android/carrierapi/cts/CarrierApiTest.java
+++ b/tests/tests/carrierapi/src/android/carrierapi/cts/CarrierApiTest.java
@@ -60,7 +60,9 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicReference;
@@ -114,8 +116,10 @@
     private static final String STATUS_WARNING_A = "62";
     private static final String STATUS_WARNING_B = "63";
     private static final String STATUS_FILE_NOT_FOUND = "6a82";
-    private static final String STATUS_FUNCTION_NOT_SUPPORTED = "6a81";
     private static final String STATUS_INCORRECT_PARAMETERS = "6a86";
+    private static final String STATUS_WRONG_PARAMETERS = "6b00";
+    private static final Set<String> INVALID_PARAMETERS_STATUSES =
+            new HashSet<>(Arrays.asList(STATUS_INCORRECT_PARAMETERS, STATUS_WRONG_PARAMETERS));
     private static final String STATUS_WRONG_CLASS = "6e00";
     // File ID for the EF ICCID. TS 102 221
     private static final String ICCID_FILE_ID = "2FE2";
@@ -719,7 +723,7 @@
         String data = "";
         String response = mTelephonyManager
                 .iccTransmitApduLogicalChannel(channel, cla, COMMAND_STATUS, p1, p2, p3, data);
-        assertEquals(STATUS_INCORRECT_PARAMETERS, response);
+        assertTrue(INVALID_PARAMETERS_STATUSES.contains(response));
 
         // Select a file that doesn't exist
         cla = CLA_SELECT;
@@ -739,7 +743,7 @@
         data = "";
         response = mTelephonyManager
             .iccTransmitApduLogicalChannel(channel, cla, COMMAND_MANAGE_CHANNEL, p1, p2, p3, data);
-        assertEquals(STATUS_FUNCTION_NOT_SUPPORTED, response);
+        assertTrue(isErrorResponse(response));
 
         // Use an incorrect class byte for Status apdu
         cla = 0xFF;