Merge "Remove legacy InstrumentationTestRunner from cts media tests, so they run with proper AndroidJUnitRunner."
diff --git a/tests/app/src/android/app/cts/NotificationTest.java b/tests/app/src/android/app/cts/NotificationTest.java
index 1cdcadb..907b6c7 100644
--- a/tests/app/src/android/app/cts/NotificationTest.java
+++ b/tests/app/src/android/app/cts/NotificationTest.java
@@ -615,25 +615,29 @@
 
     public void testBubbleMetadataBuilder() {
         PendingIntent bubbleIntent = PendingIntent.getActivity(mContext, 0, new Intent(), 0);
+        PendingIntent deleteIntent = PendingIntent.getActivity(mContext, 0, new Intent(), 0);
         Icon icon = Icon.createWithResource(mContext, 1);
         Notification.BubbleMetadata.Builder metadataBuilder =
                 new Notification.BubbleMetadata.Builder()
                 .setDesiredHeight(BUBBLE_HEIGHT)
                 .setTitle(BUBBLE_TITLE)
                 .setIcon(icon)
-                .setIntent(bubbleIntent);
+                .setIntent(bubbleIntent)
+                .setDeleteIntent(deleteIntent);
 
         Notification.BubbleMetadata data = metadataBuilder.build();
         assertEquals(BUBBLE_HEIGHT, data.getDesiredHeight());
         assertEquals(BUBBLE_TITLE, data.getTitle());
         assertEquals(icon, data.getIcon());
         assertEquals(bubbleIntent, data.getIntent());
+        assertEquals(deleteIntent, data.getDeleteIntent());
         assertFalse(data.getSuppressInitialNotification());
         assertFalse(data.getAutoExpandBubble());
     }
 
     public void testBubbleMetadata_parcel() {
         PendingIntent bubbleIntent = PendingIntent.getActivity(mContext, 0, new Intent(), 0);
+        PendingIntent deleteIntent = PendingIntent.getActivity(mContext, 0, new Intent(), 0);
         Icon icon = Icon.createWithResource(mContext, 1);
         Notification.BubbleMetadata metadata =
                 new Notification.BubbleMetadata.Builder()
@@ -643,6 +647,7 @@
                         .setSuppressInitialNotification(true)
                         .setIcon(icon)
                         .setIntent(bubbleIntent)
+                        .setDeleteIntent(deleteIntent)
                         .build();
 
         writeAndReadParcelable(metadata);
@@ -650,6 +655,7 @@
         assertEquals(BUBBLE_HEIGHT, metadata.getDesiredHeight());
         assertEquals(icon, metadata.getIcon());
         assertEquals(bubbleIntent, metadata.getIntent());
+        assertEquals(deleteIntent, metadata.getDeleteIntent());
         assertTrue(metadata.getAutoExpandBubble());
         assertTrue(metadata.getSuppressInitialNotification());
 
@@ -755,6 +761,7 @@
 
     private Notification.BubbleMetadata makeBubbleMetadata() {
         PendingIntent bubbleIntent = PendingIntent.getActivity(mContext, 0, new Intent(), 0);
+
         return new Notification.BubbleMetadata.Builder()
                         .setIntent(bubbleIntent)
                         .setTitle(BUBBLE_TITLE)
diff --git a/tests/contentcaptureservice/src/android/contentcaptureservice/cts/AbstractContentCaptureIntegrationTest.java b/tests/contentcaptureservice/src/android/contentcaptureservice/cts/AbstractContentCaptureIntegrationTest.java
index 0659b0b..53d9f59 100644
--- a/tests/contentcaptureservice/src/android/contentcaptureservice/cts/AbstractContentCaptureIntegrationTest.java
+++ b/tests/contentcaptureservice/src/android/contentcaptureservice/cts/AbstractContentCaptureIntegrationTest.java
@@ -26,6 +26,7 @@
 import static com.android.compatibility.common.util.ShellUtils.runShellCommand;
 
 import android.app.Application;
+import android.content.ContentCaptureOptions;
 import android.content.Intent;
 import android.contentcaptureservice.cts.CtsContentCaptureService.ServiceWatcher;
 import android.contentcaptureservice.cts.common.ActivitiesWatcher;
@@ -130,6 +131,26 @@
         mActivityClass = activityClass;
     }
 
+    /**
+     * Hack to make sure ContentCapture is available for the CTS test package.
+     *
+     * <p>It must be set here because when the application starts it queries the server, at which
+     * point our service is not set yet.
+     */
+    // TODO: remove this hack if we ever split the CTS module in multiple APKs
+    @BeforeClass
+    public static void whitelistSelf() {
+        final ContentCaptureOptions options = ContentCaptureOptions.forWhitelistingItself();
+        Log.v(TAG, "@BeforeClass: whitelistSelf(): options=" + options);
+        sContext.getApplicationContext().setContentCaptureOptions(options);
+    }
+
+    @AfterClass
+    public static void unWhitelistSelf() {
+        Log.v(TAG, "@afterClass: unWhitelistSelf()");
+        sContext.getApplicationContext().setContentCaptureOptions(null);
+    }
+
     @BeforeClass
     public static void disableDefaultService() {
         Log.v(TAG, "@BeforeClass: disableDefaultService()");
diff --git a/tests/framework/base/activitymanager/AndroidManifest.xml b/tests/framework/base/activitymanager/AndroidManifest.xml
index e8a023a..ad17a9b 100644
--- a/tests/framework/base/activitymanager/AndroidManifest.xml
+++ b/tests/framework/base/activitymanager/AndroidManifest.xml
@@ -72,6 +72,22 @@
             android:label="MinAspectRatioUnsetActivity"
             android:resizeableActivity="false" />
 
+        <activity
+            android:name="android.server.am.AspectRatioTests$MinAspectRatioLandscapeActivity"
+            android:label="MinAspectRatioLandscapeActivity"
+            android:minWidth="1dp"
+            android:minAspectRatio="3.0"
+            android:resizeableActivity="false"
+            android:screenOrientation="landscape" />
+
+        <activity
+            android:name="android.server.am.AspectRatioTests$MinAspectRatioPortraitActivity"
+            android:label="MinAspectRatioPortraitActivity"
+            android:minWidth="1dp"
+            android:minAspectRatio="3.0"
+            android:resizeableActivity="false"
+            android:screenOrientation="portrait" />
+
         <activity android:name="android.server.am.ActivityManagerTestBase$SideActivity"
                   android:resizeableActivity="true"
                   android:taskAffinity="nobody.but.SideActivity"/>
diff --git a/tests/framework/base/activitymanager/src/android/server/am/AspectRatioTests.java b/tests/framework/base/activitymanager/src/android/server/am/AspectRatioTests.java
index c996ebd..c26c3d4 100644
--- a/tests/framework/base/activitymanager/src/android/server/am/AspectRatioTests.java
+++ b/tests/framework/base/activitymanager/src/android/server/am/AspectRatioTests.java
@@ -16,6 +16,7 @@
 
 package android.server.am;
 
+import static org.hamcrest.Matchers.greaterThan;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.lessThanOrEqualTo;
 import static org.junit.Assert.assertThat;
@@ -72,6 +73,16 @@
     public static class MinAspectRatioUnsetActivity extends Activity {
     }
 
+    // Test target activity that has minAspectRatio="true", resizeableActivity="false",
+    // and screenOrientation="landscape".
+    public static class MinAspectRatioLandscapeActivity extends Activity {
+    }
+
+    // Test target activity that has minAspectRatio="true", resizeableActivity="false",
+    // and screenOrientation="portrait".
+    public static class MinAspectRatioPortraitActivity extends Activity {
+    }
+
     @Rule
     public ActivityTestRule<MaxAspectRatioActivity> mMaxAspectRatioActivity =
             new ActivityTestRule<>(MaxAspectRatioActivity.class,
@@ -107,10 +118,20 @@
             new ActivityTestRule<>(MinAspectRatioUnsetActivity.class,
                     false /* initialTouchMode */, false /* launchActivity */);
 
+    @Rule
+    public ActivityTestRule<MinAspectRatioLandscapeActivity> mMinAspectRatioLandscapeActivity =
+            new ActivityTestRule<>(MinAspectRatioLandscapeActivity.class,
+                    false /* initialTouchMode */, false /* launchActivity */);
+
+    @Rule
+    public ActivityTestRule<MinAspectRatioPortraitActivity> mMinAspectRatioPortraitActivity =
+            new ActivityTestRule<>(MinAspectRatioPortraitActivity.class,
+                    false /* initialTouchMode */, false /* launchActivity */);
+
     @Test
     public void testMaxAspectRatio() {
         // Activity has a maxAspectRatio, assert that the actual ratio is less than that.
-        runAspectRatioTest(mMaxAspectRatioActivity, (actual, displayId) -> {
+        runAspectRatioTest(mMaxAspectRatioActivity, (actual, displayId, size) -> {
             assertThat(actual, lessThanOrEqualTo(MAX_ASPECT_RATIO));
         });
     }
@@ -118,7 +139,7 @@
     @Test
     public void testMetaDataMaxAspectRatio() {
         // Activity has a maxAspectRatio, assert that the actual ratio is less than that.
-        runAspectRatioTest(mMetaDataMaxAspectRatioActivity, (actual, displayId) -> {
+        runAspectRatioTest(mMetaDataMaxAspectRatioActivity, (actual, displayId, size) -> {
             assertThat(actual, lessThanOrEqualTo(MAX_ASPECT_RATIO));
         });
     }
@@ -126,7 +147,7 @@
     @Test
     public void testMaxAspectRatioResizeableActivity() {
         // Since this activity is resizeable, its max aspect ratio should be ignored.
-        runAspectRatioTest(mMaxAspectRatioResizeableActivity, (actual, displayId) -> {
+        runAspectRatioTest(mMaxAspectRatioResizeableActivity, (actual, displayId, size) -> {
             // TODO(b/69982434): Add ability to get native aspect ratio non-default display.
             assumeThat(displayId, is(Display.DEFAULT_DISPLAY));
 
@@ -139,7 +160,7 @@
     public void testMaxAspectRatioUnsetActivity() {
         // Since this activity didn't set an explicit maxAspectRatio, there should be no such
         // ratio enforced.
-        runAspectRatioTest(mMaxAspectRatioUnsetActivity, (actual, displayId) -> {
+        runAspectRatioTest(mMaxAspectRatioUnsetActivity, (actual, displayId, size) -> {
             // TODO(b/69982434): Add ability to get native aspect ratio non-default display.
             assumeThat(displayId, is(Display.DEFAULT_DISPLAY));
 
@@ -150,7 +171,7 @@
     @Test
     public void testMinAspectRatio() {
         // Activity has a minAspectRatio, assert the ratio is at least that.
-        runAspectRatioTest(mMinAspectRatioActivity, (actual, displayId) -> {
+        runAspectRatioTest(mMinAspectRatioActivity, (actual, displayId, size) -> {
             assertThat(actual, greaterThanOrEqualToInexact(MIN_ASPECT_RATIO));
         });
     }
@@ -158,7 +179,7 @@
     @Test
     public void testMinAspectRatioResizeableActivity() {
         // Since this activity is resizeable, the minAspectRatio should be ignored.
-        runAspectRatioTest(mMinAspectRatioResizeableActivity, (actual, displayId) -> {
+        runAspectRatioTest(mMinAspectRatioResizeableActivity, (actual, displayId, size) -> {
             // TODO(b/69982434): Add ability to get native aspect ratio non-default display.
             assumeThat(displayId, is(Display.DEFAULT_DISPLAY));
 
@@ -170,11 +191,29 @@
     public void testMinAspectRatioUnsetActivity() {
         // Since this activity didn't set an explicit minAspectRatio, there should be no such
         // ratio enforced.
-        runAspectRatioTest(mMinAspectRatioUnsetActivity, (actual, displayId) -> {
+        runAspectRatioTest(mMinAspectRatioUnsetActivity, (actual, displayId, size) -> {
             // TODO(b/69982434): Add ability to get native aspect ratio non-default display.
             assumeThat(displayId, is(Display.DEFAULT_DISPLAY));
 
             assertThat(actual, lessThanOrEqualToInexact(getDefaultDisplayAspectRatio()));
         });
     }
+
+    @Test
+    public void testMinAspectLandscapeActivity() {
+        // Activity has requested a fixed orientation, assert the orientation is that.
+        runAspectRatioTest(mMinAspectRatioLandscapeActivity, (actual, displayId, size) -> {
+            assertThat(actual, greaterThanOrEqualToInexact(MIN_ASPECT_RATIO));
+            assertThat(size.x, greaterThan(size.y));
+        });
+    }
+
+    @Test
+    public void testMinAspectPortraitActivity() {
+        // Activity has requested a fixed orientation, assert the orientation is that.
+        runAspectRatioTest(mMinAspectRatioPortraitActivity, (actual, displayId, size) -> {
+            assertThat(actual, greaterThanOrEqualToInexact(MIN_ASPECT_RATIO));
+            assertThat(size.y, greaterThan(size.x));
+        });
+    }
 }
diff --git a/tests/framework/base/activitymanager/src/android/server/am/AspectRatioTestsBase.java b/tests/framework/base/activitymanager/src/android/server/am/AspectRatioTestsBase.java
index 97d344e..559bbf6 100644
--- a/tests/framework/base/activitymanager/src/android/server/am/AspectRatioTestsBase.java
+++ b/tests/framework/base/activitymanager/src/android/server/am/AspectRatioTestsBase.java
@@ -37,7 +37,7 @@
     private static final float FLOAT_EQUALITY_DELTA = .01f;
 
     interface AssertAspectRatioCallback {
-        void assertAspectRatio(float actual, int displayId);
+        void assertAspectRatio(float actual, int displayId, Point size);
     }
 
     void runAspectRatioTest(final ActivityTestRule activityRule,
@@ -46,7 +46,8 @@
         PollingCheck.waitFor(activity::hasWindowFocus);
         try {
             callback.assertAspectRatio(getActivityAspectRatio(activity),
-                    getDisplay(activity).getDisplayId());
+                    getDisplay(activity).getDisplayId(),
+                    getActivitySize(activity));
         } finally {
             finishActivity(activityRule);
         }
@@ -68,10 +69,16 @@
                 WindowManager.class).getDefaultDisplay());
     }
 
-    static float getActivityAspectRatio(Activity activity) {
+    private static float getActivityAspectRatio(Activity activity) {
         return getAspectRatio(getDisplay(activity));
     }
 
+    private static Point getActivitySize(Activity activity) {
+        final Point size = new Point();
+        getDisplay(activity).getSize(size);
+        return size;
+    }
+
     private static Display getDisplay(Activity activity) {
         return activity.getWindow().peekDecorView().getDisplay();
     }
diff --git a/tests/framework/base/activitymanager/testsdk25/src/android/server/am/AspectRatioSdk25Tests.java b/tests/framework/base/activitymanager/testsdk25/src/android/server/am/AspectRatioSdk25Tests.java
index 89313c99..b84aea1 100644
--- a/tests/framework/base/activitymanager/testsdk25/src/android/server/am/AspectRatioSdk25Tests.java
+++ b/tests/framework/base/activitymanager/testsdk25/src/android/server/am/AspectRatioSdk25Tests.java
@@ -46,7 +46,7 @@
 
     @Test
     public void testMaxAspectRatioPreOActivity() {
-        runAspectRatioTest(mSdk25MaxAspectRatioActivity, (actual, displayId) -> {
+        runAspectRatioTest(mSdk25MaxAspectRatioActivity, (actual, displayId, size) -> {
             assertThat(actual, lessThanOrEqualToInexact(MAX_PRE_O_ASPECT_RATIO));
         });
     }
diff --git a/tests/framework/base/activitymanager/testsdk28/src/android/server/am/AspectRatioSdk28Tests.java b/tests/framework/base/activitymanager/testsdk28/src/android/server/am/AspectRatioSdk28Tests.java
index 377cbf5..019580a 100644
--- a/tests/framework/base/activitymanager/testsdk28/src/android/server/am/AspectRatioSdk28Tests.java
+++ b/tests/framework/base/activitymanager/testsdk28/src/android/server/am/AspectRatioSdk28Tests.java
@@ -56,7 +56,7 @@
                 .hasSystemFeature(FEATURE_WATCH);
         float minAspectRatio = isWatch ? MIN_WATCH_DEVICE_ASPECT_RATIO : MIN_DEVICE_ASPECT_RATIO;
 
-        runAspectRatioTest(mSdk28MinAspectRatioActivity, (actual, displayId) -> {
+        runAspectRatioTest(mSdk28MinAspectRatioActivity, (actual, displayId, size) -> {
             assertThat(actual, greaterThanOrEqualToInexact(minAspectRatio));
         });
     }
diff --git a/tests/signature/api-check/hidden-api-blacklist-27-api/AndroidTest.xml b/tests/signature/api-check/hidden-api-blacklist-27-api/AndroidTest.xml
index 4413824..e19f874 100644
--- a/tests/signature/api-check/hidden-api-blacklist-27-api/AndroidTest.xml
+++ b/tests/signature/api-check/hidden-api-blacklist-27-api/AndroidTest.xml
@@ -16,6 +16,8 @@
 <configuration description="Config for CTS Hidden API Signature test cases">
     <option name="test-suite-tag" value="cts" />
     <option name="config-descriptor:metadata" key="component" value="systems" />
+    <option name="config-descriptor:metadata" key="parameter" value="not_instant_app" />
+    <option name="config-descriptor:metadata" key="parameter" value="not_multi_abi" />
     <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
         <option name="run-command" value="mkdir -p /data/local/tmp/signature-test" />
         <option name="teardown-command" value="rm -rf /data/local/tmp/signature-test" />
diff --git a/tests/signature/api-check/hidden-api-blacklist-28/Android.mk b/tests/signature/api-check/hidden-api-blacklist-28-api/Android.mk
similarity index 100%
rename from tests/signature/api-check/hidden-api-blacklist-28/Android.mk
rename to tests/signature/api-check/hidden-api-blacklist-28-api/Android.mk
diff --git a/tests/signature/api-check/hidden-api-blacklist-28/AndroidManifest.xml b/tests/signature/api-check/hidden-api-blacklist-28-api/AndroidManifest.xml
similarity index 100%
rename from tests/signature/api-check/hidden-api-blacklist-28/AndroidManifest.xml
rename to tests/signature/api-check/hidden-api-blacklist-28-api/AndroidManifest.xml
diff --git a/tests/signature/api-check/hidden-api-blacklist-28/AndroidTest.xml b/tests/signature/api-check/hidden-api-blacklist-28-api/AndroidTest.xml
similarity index 92%
rename from tests/signature/api-check/hidden-api-blacklist-28/AndroidTest.xml
rename to tests/signature/api-check/hidden-api-blacklist-28-api/AndroidTest.xml
index 6bebfe1..3c407b3 100644
--- a/tests/signature/api-check/hidden-api-blacklist-28/AndroidTest.xml
+++ b/tests/signature/api-check/hidden-api-blacklist-28-api/AndroidTest.xml
@@ -16,6 +16,8 @@
 <configuration description="Config for CTS Hidden API Signature test cases">
     <option name="test-suite-tag" value="cts" />
     <option name="config-descriptor:metadata" key="component" value="systems" />
+    <option name="config-descriptor:metadata" key="parameter" value="not_instant_app" />
+    <option name="config-descriptor:metadata" key="parameter" value="not_multi_abi" />
     <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
         <option name="run-command" value="mkdir -p /data/local/tmp/signature-test" />
         <option name="teardown-command" value="rm -rf /data/local/tmp/signature-test" />
diff --git a/tests/signature/api-check/hidden-api-blacklist-28/src/android/signature/cts/api/api28/HiddenApiTest.java b/tests/signature/api-check/hidden-api-blacklist-28-api/src/android/signature/cts/api/api28/HiddenApiTest.java
similarity index 100%
rename from tests/signature/api-check/hidden-api-blacklist-28/src/android/signature/cts/api/api28/HiddenApiTest.java
rename to tests/signature/api-check/hidden-api-blacklist-28-api/src/android/signature/cts/api/api28/HiddenApiTest.java
diff --git a/tests/signature/api-check/hidden-api-blacklist-current-api/AndroidTest.xml b/tests/signature/api-check/hidden-api-blacklist-current-api/AndroidTest.xml
index 6f14d96..904f2f1 100644
--- a/tests/signature/api-check/hidden-api-blacklist-current-api/AndroidTest.xml
+++ b/tests/signature/api-check/hidden-api-blacklist-current-api/AndroidTest.xml
@@ -16,6 +16,8 @@
 <configuration description="Config for CTS Hidden API Signature test cases">
     <option name="test-suite-tag" value="cts" />
     <option name="config-descriptor:metadata" key="component" value="systems" />
+    <option name="config-descriptor:metadata" key="parameter" value="not_instant_app" />
+    <option name="config-descriptor:metadata" key="parameter" value="not_multi_abi" />
     <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
         <option name="run-command" value="mkdir -p /data/local/tmp/signature-test" />
         <option name="teardown-command" value="rm -rf /data/local/tmp/signature-test" />
diff --git a/tests/signature/api-check/hidden-api-blacklist-debug-class/AndroidTest.xml b/tests/signature/api-check/hidden-api-blacklist-debug-class/AndroidTest.xml
index 090d69b..9209d59 100644
--- a/tests/signature/api-check/hidden-api-blacklist-debug-class/AndroidTest.xml
+++ b/tests/signature/api-check/hidden-api-blacklist-debug-class/AndroidTest.xml
@@ -16,6 +16,8 @@
 <configuration description="Config for CTS Hidden API Signature test cases">
     <option name="test-suite-tag" value="cts" />
     <option name="config-descriptor:metadata" key="component" value="systems" />
+    <option name="config-descriptor:metadata" key="parameter" value="not_instant_app" />
+    <option name="config-descriptor:metadata" key="parameter" value="not_multi_abi" />
     <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
         <option name="run-command" value="mkdir -p /data/local/tmp/signature-test" />
         <option name="teardown-command" value="rm -rf /data/local/tmp/signature-test" />
diff --git a/tests/signature/api-check/hidden-api-killswitch-debug-class/AndroidTest.xml b/tests/signature/api-check/hidden-api-killswitch-debug-class/AndroidTest.xml
index 837dde8..7f144c0 100644
--- a/tests/signature/api-check/hidden-api-killswitch-debug-class/AndroidTest.xml
+++ b/tests/signature/api-check/hidden-api-killswitch-debug-class/AndroidTest.xml
@@ -16,6 +16,8 @@
 <configuration description="Config for CTS Hidden API Signature test cases">
     <option name="test-suite-tag" value="cts" />
     <option name="config-descriptor:metadata" key="component" value="systems" />
+    <option name="config-descriptor:metadata" key="parameter" value="not_instant_app" />
+    <option name="config-descriptor:metadata" key="parameter" value="not_multi_abi" />
     <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
         <option name="cleanup-apks" value="true" />
         <option name="test-file-name" value="CtsHiddenApiKillswitchDebugClassTestCases.apk" />
diff --git a/tests/signature/api-check/hidden-api-killswitch-whitelist/AndroidTest.xml b/tests/signature/api-check/hidden-api-killswitch-whitelist/AndroidTest.xml
index 720f16f..b34d6ba 100644
--- a/tests/signature/api-check/hidden-api-killswitch-whitelist/AndroidTest.xml
+++ b/tests/signature/api-check/hidden-api-killswitch-whitelist/AndroidTest.xml
@@ -16,6 +16,8 @@
 <configuration description="Config for CTS Hidden API Signature test cases">
     <option name="test-suite-tag" value="cts" />
     <option name="config-descriptor:metadata" key="component" value="systems" />
+    <option name="config-descriptor:metadata" key="parameter" value="not_instant_app" />
+    <option name="config-descriptor:metadata" key="parameter" value="not_multi_abi" />
     <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
         <!-- Whitelist all APIs before running the test, then reset this afterwards. The test
              is intended to verify the behaviour when all APIs are whitelisted. -->
diff --git a/tests/signature/api-check/hidden-api-killswitch-wildcard/AndroidTest.xml b/tests/signature/api-check/hidden-api-killswitch-wildcard/AndroidTest.xml
index bb726bb..ef41dcc 100644
--- a/tests/signature/api-check/hidden-api-killswitch-wildcard/AndroidTest.xml
+++ b/tests/signature/api-check/hidden-api-killswitch-wildcard/AndroidTest.xml
@@ -16,6 +16,8 @@
 <configuration description="Config for CTS Hidden API Signature test cases">
     <option name="test-suite-tag" value="cts" />
     <option name="config-descriptor:metadata" key="component" value="systems" />
+    <option name="config-descriptor:metadata" key="parameter" value="not_instant_app" />
+    <option name="config-descriptor:metadata" key="parameter" value="not_multi_abi" />
     <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
         <!-- Enable the killswitch before running the test, then disable it afterwards. The test
              is intended to verify the behaviour when the killswitch is enabled. -->
diff --git a/tests/tests/classloaderfactory/test-memcl/AndroidTest.xml b/tests/tests/classloaderfactory/test-memcl/AndroidTest.xml
index 4ea2064..0fc0478 100644
--- a/tests/tests/classloaderfactory/test-memcl/AndroidTest.xml
+++ b/tests/tests/classloaderfactory/test-memcl/AndroidTest.xml
@@ -16,6 +16,8 @@
 <configuration description="Configuration for app Tests">
     <option name="test-suite-tag" value="cts" />
     <option name="config-descriptor:metadata" key="component" value="misc" />
+    <option name="config-descriptor:metadata" key="parameter" value="not_instant_app" />
+    <option name="config-descriptor:metadata" key="parameter" value="not_multi_abi" />
     <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
         <option name="run-command" value="mkdir -p /data/local/tmp/classloaderfactory-test" />
         <option name="teardown-command" value="rm -rf /data/local/tmp/classloaderfactory-test" />
diff --git a/tests/tests/classloaderfactory/test-pathcl/AndroidTest.xml b/tests/tests/classloaderfactory/test-pathcl/AndroidTest.xml
index 3b3817c..3f4da3d 100644
--- a/tests/tests/classloaderfactory/test-pathcl/AndroidTest.xml
+++ b/tests/tests/classloaderfactory/test-pathcl/AndroidTest.xml
@@ -16,6 +16,8 @@
 <configuration description="Configuration for app Tests">
     <option name="test-suite-tag" value="cts" />
     <option name="config-descriptor:metadata" key="component" value="misc" />
+    <option name="config-descriptor:metadata" key="parameter" value="not_instant_app" />
+    <option name="config-descriptor:metadata" key="parameter" value="not_multi_abi" />
     <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
         <option name="run-command" value="mkdir -p /data/local/tmp/classloaderfactory-test" />
         <option name="teardown-command" value="rm -rf /data/local/tmp/classloaderfactory-test" />
diff --git a/tests/tests/content/src/android/content/cts/ContentResolverTest.java b/tests/tests/content/src/android/content/cts/ContentResolverTest.java
index 53ff636..bbf88d7 100644
--- a/tests/tests/content/src/android/content/cts/ContentResolverTest.java
+++ b/tests/tests/content/src/android/content/cts/ContentResolverTest.java
@@ -1263,6 +1263,27 @@
         latch.await(10, TimeUnit.SECONDS);
     }
 
+    public void testGetTypeInfo() throws Exception {
+        for (String mimeType : new String[] {
+                "image/png",
+                "IMage/PnG",
+                "image/x-custom",
+                "application/x-flac",
+                "application/rdf+xml",
+                "x-custom/x-custom",
+        }) {
+            assertNotNull(mContentResolver.getTypeInfo(mimeType));
+        }
+    }
+
+    public void testGetTypeInfo_Invalid() throws Exception {
+        try {
+            mContentResolver.getTypeInfo(null);
+            fail("Expected exception for null");
+        } catch (NullPointerException expected) {
+        }
+    }
+
     private class MockContentObserver extends ContentObserver {
         private boolean mHadOnChanged = false;
 
diff --git a/tests/tests/graphics/Android.mk b/tests/tests/graphics/Android.mk
index 51496e5..9030a13 100644
--- a/tests/tests/graphics/Android.mk
+++ b/tests/tests/graphics/Android.mk
@@ -46,9 +46,6 @@
 # Enforce public / test api only
 LOCAL_SDK_VERSION := test_current
 
-# TODO(b/77530630): remove when this test passes with aapt2
-LOCAL_USE_AAPT2 := false
-
 include $(BUILD_CTS_PACKAGE)
 
 include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/tests/graphics/res/drawable/ninepatch_0.9.png b/tests/tests/graphics/res/drawable/ninepatch_0.9.png
index 24019d8..13a12cb 100644
--- a/tests/tests/graphics/res/drawable/ninepatch_0.9.png
+++ b/tests/tests/graphics/res/drawable/ninepatch_0.9.png
Binary files differ
diff --git a/tests/tests/net/AndroidTest.xml b/tests/tests/net/AndroidTest.xml
index 76ff167..ff93afc 100644
--- a/tests/tests/net/AndroidTest.xml
+++ b/tests/tests/net/AndroidTest.xml
@@ -26,5 +26,6 @@
         <option name="package" value="android.net.cts" />
         <option name="runtime-hint" value="9m4s" />
         <option name="hidden-api-checks" value="false" />
+        <option name="isolated-storage" value="false" />
     </test>
 </configuration>
diff --git a/tests/tests/packageinstaller/adminpackageinstaller/AndroidTest.xml b/tests/tests/packageinstaller/adminpackageinstaller/AndroidTest.xml
index 1dfe8ec..6daad25 100644
--- a/tests/tests/packageinstaller/adminpackageinstaller/AndroidTest.xml
+++ b/tests/tests/packageinstaller/adminpackageinstaller/AndroidTest.xml
@@ -19,6 +19,7 @@
     <option name="config-descriptor:metadata" key="component" value="framework" />
     <!-- Device Owner-specific tests are not applicable to instant apps. -->
     <option name="config-descriptor:metadata" key="parameter" value="not_instant_app" />
+    <option name="config-descriptor:metadata" key="parameter" value="multi_abi" />
 
     <target_preparer class="com.android.tradefed.targetprep.SwitchUserTargetPreparer">
         <option name="user-type" value="system"/>