diff --git a/ads/ads-identifier-benchmark/src/androidTest/AndroidManifest.xml b/ads/ads-identifier-benchmark/src/androidTest/AndroidManifest.xml
index e50ddd3..066d67e 100644
--- a/ads/ads-identifier-benchmark/src/androidTest/AndroidManifest.xml
+++ b/ads/ads-identifier-benchmark/src/androidTest/AndroidManifest.xml
@@ -16,9 +16,9 @@
   -->
 <manifest
     xmlns:android="http://schemas.android.com/apk/res/android"
-    package="androidx.ads.identifier.benchmark">
+    package="androidx.ads.identifier.benchmark.test">
     <application
-        android:name=".AdsIdentifierBenchmarkApplication">
+        android:name="androidx.ads.identifier.benchmark.AdsIdentifierBenchmarkApplication">
         <!-- enable profiling by shell for non-intrusive profiling tools -->
         <profileable android:shell="true"/>
     </application>
diff --git a/annotation/annotation-experimental-lint/integration-tests/lint-baseline.xml b/annotation/annotation-experimental-lint/integration-tests/lint-baseline.xml
index 9f5f5d8..ff3d158 100644
--- a/annotation/annotation-experimental-lint/integration-tests/lint-baseline.xml
+++ b/annotation/annotation-experimental-lint/integration-tests/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-beta02" type="baseline" client="cli" dependencies="false" name="AGP (7.1.0-beta02)" variant="all" version="7.1.0-beta02">
+<issues format="6" by="lint 7.3.0-alpha01" type="baseline" client="gradle" dependencies="false" name="AGP (7.3.0-alpha01)" variant="all" version="7.3.0-alpha01">
 
     <issue
         id="ExperimentalAnnotationRetention"
@@ -510,6 +510,50 @@
     <issue
         id="UnsafeOptInUsageError"
         message="This declaration is opt-in and its usage should be marked with `@sample.experimental.foo.ExperimentalPackage` or `@OptIn(markerClass = sample.experimental.foo.ExperimentalPackage.class)`"
+        errorLine1="        Bar bar = new Bar();"
+        errorLine2="                  ~~~~~~~~~">
+        <location
+            file="src/main/java/sample/experimental/UseJavaPackageFromJava.java"
+            line="28"
+            column="19"/>
+    </issue>
+
+    <issue
+        id="UnsafeOptInUsageError"
+        message="This declaration is opt-in and its usage should be marked with `@sample.experimental.foo.ExperimentalPackage` or `@OptIn(markerClass = sample.experimental.foo.ExperimentalPackage.class)`"
+        errorLine1="        bar.baz();"
+        errorLine2="            ~~~">
+        <location
+            file="src/main/java/sample/experimental/UseJavaPackageFromJava.java"
+            line="29"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="UnsafeOptInUsageError"
+        message="This declaration is opt-in and its usage should be marked with `@sample.optin.ExperimentalJavaAnnotation` or `@OptIn(markerClass = sample.optin.ExperimentalJavaAnnotation.class)`"
+        errorLine1="        AnnotatedJavaPackage experimentalObject = new AnnotatedJavaPackage();"
+        errorLine2="                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/sample/optin/UseJavaPackageFromJava.java"
+            line="33"
+            column="51"/>
+    </issue>
+
+    <issue
+        id="UnsafeOptInUsageError"
+        message="This declaration is opt-in and its usage should be marked with `@sample.optin.ExperimentalJavaAnnotation` or `@OptIn(markerClass = sample.optin.ExperimentalJavaAnnotation.class)`"
+        errorLine1="        experimentalObject.method();"
+        errorLine2="                           ~~~~~~">
+        <location
+            file="src/main/java/sample/optin/UseJavaPackageFromJava.java"
+            line="34"
+            column="28"/>
+    </issue>
+
+    <issue
+        id="UnsafeOptInUsageError"
+        message="This declaration is opt-in and its usage should be marked with `@sample.experimental.foo.ExperimentalPackage` or `@OptIn(markerClass = sample.experimental.foo.ExperimentalPackage.class)`"
         errorLine1="        callPackageExperimental();"
         errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -531,6 +575,50 @@
 
     <issue
         id="UnsafeOptInUsageError"
+        message="This declaration is opt-in and its usage should be marked with `@sample.optin.ExperimentalJavaAnnotation` or `@OptIn(markerClass = sample.optin.ExperimentalJavaAnnotation.class)`"
+        errorLine1="        val experimentalObject = AnnotatedJavaPackage()"
+        errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/sample/optin/UseJavaPackageFromKt.kt"
+            line="30"
+            column="34"/>
+    </issue>
+
+    <issue
+        id="UnsafeOptInUsageError"
+        message="This declaration is opt-in and its usage should be marked with `@sample.optin.ExperimentalJavaAnnotation` or `@OptIn(markerClass = sample.optin.ExperimentalJavaAnnotation.class)`"
+        errorLine1="        experimentalObject.method()"
+        errorLine2="                           ~~~~~~">
+        <location
+            file="src/main/java/sample/optin/UseJavaPackageFromKt.kt"
+            line="31"
+            column="28"/>
+    </issue>
+
+    <issue
+        id="UnsafeOptInUsageError"
+        message="This declaration is opt-in and its usage should be marked with `@sample.experimental.foo.ExperimentalPackage` or `@OptIn(markerClass = sample.experimental.foo.ExperimentalPackage.class)`"
+        errorLine1="        val bar = Bar()"
+        errorLine2="                  ~~~">
+        <location
+            file="src/main/java/sample/experimental/UseJavaPackageFromKt.kt"
+            line="32"
+            column="19"/>
+    </issue>
+
+    <issue
+        id="UnsafeOptInUsageError"
+        message="This declaration is opt-in and its usage should be marked with `@sample.experimental.foo.ExperimentalPackage` or `@OptIn(markerClass = sample.experimental.foo.ExperimentalPackage.class)`"
+        errorLine1="        bar.baz()"
+        errorLine2="            ~~~">
+        <location
+            file="src/main/java/sample/experimental/UseJavaPackageFromKt.kt"
+            line="33"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="UnsafeOptInUsageError"
         message="This declaration is opt-in and its usage should be marked with `@sample.experimental.foo.ExperimentalPackage` or `@OptIn(markerClass = sample.experimental.foo.ExperimentalPackage.class)`"
         errorLine1="        callPackageExperimental()"
         errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~">
diff --git a/appsearch/appsearch-local-storage/build.gradle b/appsearch/appsearch-local-storage/build.gradle
index 1e4fca1..ae507e5 100644
--- a/appsearch/appsearch-local-storage/build.gradle
+++ b/appsearch/appsearch-local-storage/build.gradle
@@ -75,6 +75,7 @@
     implementation(project(":appsearch:appsearch"))
     implementation("androidx.concurrent:concurrent-futures:1.0.0")
     implementation("androidx.core:core:1.2.0")
+    implementation('androidx.collection:collection:1.0.0')
 
     androidTestImplementation project(':appsearch:appsearch-test-util')
     androidTestImplementation(libs.multidex)
diff --git a/appsearch/appsearch/build.gradle b/appsearch/appsearch/build.gradle
index 86a1f1e..d91e47c 100644
--- a/appsearch/appsearch/build.gradle
+++ b/appsearch/appsearch/build.gradle
@@ -35,6 +35,7 @@
 
     implementation('androidx.concurrent:concurrent-futures:1.0.0')
     implementation('androidx.core:core:1.2.0')
+    implementation('androidx.collection:collection:1.0.0')
 
     androidTestAnnotationProcessor project(':appsearch:appsearch-compiler')
     androidTestImplementation project(':appsearch:appsearch-local-storage')
diff --git a/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/AndroidManifest.xml b/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/AndroidManifest.xml
index 7622f47..7883dfb 100644
--- a/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/AndroidManifest.xml
+++ b/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/AndroidManifest.xml
@@ -16,12 +16,12 @@
   -->
 <manifest
     xmlns:android="http://schemas.android.com/apk/res/android"
-    package="androidx.compose.runtime.benchmark">
+    package="androidx.compose.runtime.benchmark.test">
     <application>
         <!-- enable profiling by shell for non-intrusive profiling tools -->
         <profileable android:shell="true"/>
 
         <activity
-            android:name=".ComposeActivity"/>
+            android:name="androidx.compose.runtime.benchmark.ComposeActivity"/>
     </application>
 </manifest>
diff --git a/compose/ui/ui-test-junit4/src/androidAndroidTest/AndroidManifest.xml b/compose/ui/ui-test-junit4/src/androidAndroidTest/AndroidManifest.xml
index b0777ee..b5891be 100644
--- a/compose/ui/ui-test-junit4/src/androidAndroidTest/AndroidManifest.xml
+++ b/compose/ui/ui-test-junit4/src/androidAndroidTest/AndroidManifest.xml
@@ -15,7 +15,7 @@
   ~ limitations under the License.
   -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="androidx.compose.ui.test.junit4">
+    package="androidx.compose.ui.test.junit4.test">
     <application>
         <activity android:name="androidx.compose.ui.test.junit4.CustomActivity"
             android:theme="@android:style/Theme.Material.NoActionBar.Fullscreen" />
@@ -26,8 +26,8 @@
         <activity android:name="androidx.compose.ui.test.junit4.MultipleActivitiesFirstDrawTest$Activity1" />
         <activity android:name="androidx.compose.ui.test.junit4.MultipleActivitiesFirstDrawTest$Activity2" />
         <activity android:name="androidx.compose.ui.test.junit4.LateSetContentTest$Activity" />
-        <activity android:name=".MultipleActivitiesWithoutComposeTest$Activity1" />
-        <activity android:name=".MultipleActivitiesWithoutComposeTest$Activity2" />
-        <activity android:name=".MultipleActivitiesWithoutComposeTest$Activity3" />
+        <activity android:name="androidx.compose.ui.test.junit4.MultipleActivitiesWithoutComposeTest$Activity1" />
+        <activity android:name="androidx.compose.ui.test.junit4.MultipleActivitiesWithoutComposeTest$Activity2" />
+        <activity android:name="androidx.compose.ui.test.junit4.MultipleActivitiesWithoutComposeTest$Activity3" />
     </application>
 </manifest>
diff --git a/compose/ui/ui-text/build.gradle b/compose/ui/ui-text/build.gradle
index cebbec7..ba793b3 100644
--- a/compose/ui/ui-text/build.gradle
+++ b/compose/ui/ui-text/build.gradle
@@ -45,6 +45,7 @@
         implementation(project(":compose:ui:ui-util"))
         implementation(libs.kotlinStdlib)
         implementation("androidx.core:core:1.5.0")
+        implementation('androidx.collection:collection:1.0.0')
 
         testImplementation(project(":compose:ui:ui-test-font"))
         testImplementation(libs.testRules)
@@ -122,6 +123,7 @@
             androidMain.dependencies {
                 api("androidx.annotation:annotation:1.1.0")
                 implementation("androidx.core:core:1.5.0")
+                implementation('androidx.collection:collection:1.0.0')
             }
 
             androidMain.kotlin.srcDirs("../../../text/text/src/main/java")
diff --git a/compose/ui/ui/build.gradle b/compose/ui/ui/build.gradle
index 0ddeaae..2ea6eba 100644
--- a/compose/ui/ui/build.gradle
+++ b/compose/ui/ui/build.gradle
@@ -57,6 +57,8 @@
         implementation("androidx.autofill:autofill:1.0.0")
         implementation(libs.kotlinCoroutinesAndroid)
 
+        implementation("androidx.core:core:1.5.0")
+        implementation('androidx.collection:collection:1.0.0')
         implementation("androidx.savedstate:savedstate:1.1.0")
         implementation("androidx.lifecycle:lifecycle-common-java8:2.3.0")
         implementation("androidx.lifecycle:lifecycle-runtime:2.3.0")
diff --git a/core/core-splashscreen/samples/build.gradle b/core/core-splashscreen/samples/build.gradle
index 05baf9f..10d6bd4 100644
--- a/core/core-splashscreen/samples/build.gradle
+++ b/core/core-splashscreen/samples/build.gradle
@@ -38,6 +38,7 @@
     implementation project(":annotation:annotation")
     implementation(project(":core:core-splashscreen"))
     implementation(project(":core:core-ktx"))
+    implementation(project(":interpolator:interpolator"))
     compileOnly(project(":annotation:annotation-sampled"))
 }
 
diff --git a/development/build_log_simplifier/messages.ignore b/development/build_log_simplifier/messages.ignore
index e4a9051..cc3fedc 100644
--- a/development/build_log_simplifier/messages.ignore
+++ b/development/build_log_simplifier/messages.ignore
@@ -320,7 +320,7 @@
 \$CHECKOUT/prebuilts/androidx/external/org/jetbrains/kotlin/kotlin\-stdlib\-jdk[0-9]+/[0-9]+\.[0-9]+\.[0-9]+-?[\-A-Z0-9]*/kotlin\-stdlib\-jdk[0-9]+\-[0-9]+\.[0-9]+\.[0-9]+-?[\-A-Z0-9]*\.jar \(version [0-9]+\.[0-9]+-?[\-A-Z0-9]*\)
 # > Task :compose:ui:ui:processDebugAndroidTestManifest
 \$OUT_DIR/androidx/compose/ui/ui/build/intermediates/tmp/manifest/androidTest/debug/tempFile[0-9]+ProcessTestManifest[0-9]+\.xml Warning:
-Package name 'androidx\.compose\.ui\.test' used in: tempFile[0-9]+ProcessTestManifest[0-9]+\.xml, :compose:ui:ui\-test\.
+Namespace 'androidx\.compose\.ui\.test' used in: tempFile[0-9]+ProcessTestManifest[0-9]+\.xml, :compose:ui:ui\-test\.
 # > Task :buildSrc:build UP-TO-DATE
 See the profiling report at\: file\:\/\/\$OUT_DIR\/buildSrc\/build\/reports\/profile\/profile\-[0-9]+\-[0-9]+\-[0-9]+\-[0-9]+\-[0-9]+\-[0-9]+\.html
 A fine\-grained performance profile is available\: use the \-\-scan option\.
@@ -595,9 +595,9 @@
 # > Task :car:app:app:generateProtocolApi
 \- Task `:car:app:app:generateProtocolApi` of type `GenerateProtocolApiTask`: invocation of 'Task\.project' at execution time is unsupported\.
 # > Tasks configureCMakeRelWithDebInfo or configureCMakeDebug
-C/C\+\+: (debug|release)\|(x86_64|x86|arm64\-v8a|armeabi\-v7a) :Building ver\.\: [0-9]+\.[0-9]+\.[0-9]+
-C/C\+\+: (debug|release)\|(x86_64|x86|arm64\-v8a|armeabi\-v7a) :Packaging for\: (amd\-[0-9]+|armhf\-[0-9]+|x86\-[0-9]+)
-C/C\+\+: (debug|release)\|(x86_64|x86|arm64\-v8a|armeabi\-v7a) :Compiling for ARM
+C/C\+\+: Building ver\.\: [0-9]+\.[0-9]+\.[0-9]+
+C/C\+\+: Packaging for\: (amd\-[0-9]+|armhf\-[0-9]+|x86\-[0-9]+)
+C/C\+\+: Compiling for ARM
 # > Task :glance:glance:reportLibraryMetrics
 Info: Stripped invalid locals information from [0-9]+ method\.
 Info: Methods with invalid locals information:
diff --git a/development/update_studio.sh b/development/update_studio.sh
index 1b9bdd9..fda43d5 100755
--- a/development/update_studio.sh
+++ b/development/update_studio.sh
@@ -1,7 +1,7 @@
 #!/bin/bash
 # Get versions
-AGP_VERSION=${1:-7.2.0-alpha07}
-STUDIO_VERSION_STRING=${2:-"Android Studio Chipmunk (2021.2.1) Canary 7"}
+AGP_VERSION=${1:-7.3.0-alpha01}
+STUDIO_VERSION_STRING=${2:-"Android Studio Dolphin (2021.3.1) Canary 1"}
 STUDIO_IFRAME_LINK=`curl "https://developer.android.com/studio/archive.html" | grep iframe | sed "s/.*src=\"\([a-zA-Z0-9\/\._]*\)\".*/https:\/\/android-dot-devsite-v2-prod.appspot.com\1/g"`
 STUDIO_LINK=`curl -s $STUDIO_IFRAME_LINK | grep -C30 "$STUDIO_VERSION_STRING" | grep Linux | tail -n 1 | sed 's/.*a href="\(.*\).*"/\1/g'`
 STUDIO_VERSION=`echo $STUDIO_LINK | sed "s/.*ide-zips\/\(.*\)\/android-studio-.*/\1/g"`
@@ -28,14 +28,13 @@
 
 # Pull all UTP artifacts for ADT version
 ADT_VERSION=${3:-$LINT_VERSION}
-curl -sL "https://dl.google.com/android/maven2/com/android/tools/utp/group-index.xml" \
-  | tail -n +3 \
-  | head -n -1 \
-  | while read line
+while read line
     do
     ARTIFACT=`echo $line | sed 's/<\([[:lower:]-]\+\).*/\1/g'`
     ARTIFACTS_TO_DOWNLOAD+="com.android.tools.utp:$ARTIFACT:$ADT_VERSION,"
-  done
+  done < <(curl -sL "https://dl.google.com/android/maven2/com/android/tools/utp/group-index.xml" \
+             | tail -n +3 \
+             | head -n -1)
 
 ATP_VERSION=${4:-0.0.8-alpha07}
 ARTIFACTS_TO_DOWNLOAD+="com.google.testing.platform:android-test-plugin:$ATP_VERSION,"
@@ -44,5 +43,4 @@
 ARTIFACTS_TO_DOWNLOAD+="com.google.testing.platform:core:$ATP_VERSION"
 
 # Download all the artifacts
-echo $ARTIFACTS_TO_DOWNLOAD
-./development/importMaven/import_maven_artifacts.py -n $ARTIFACTS_TO_DOWNLOAD
\ No newline at end of file
+./development/importMaven/import_maven_artifacts.py -n "$ARTIFACTS_TO_DOWNLOAD"
\ No newline at end of file
diff --git a/draganddrop/draganddrop/src/androidTest/AndroidManifest.xml b/draganddrop/draganddrop/src/androidTest/AndroidManifest.xml
index 8ffc93e..ba8b531 100644
--- a/draganddrop/draganddrop/src/androidTest/AndroidManifest.xml
+++ b/draganddrop/draganddrop/src/androidTest/AndroidManifest.xml
@@ -13,7 +13,7 @@
   -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
-    package="androidx.draganddrop">
+    package="androidx.draganddrop.test">
 
     <application
         android:allowBackup="true"
@@ -21,7 +21,7 @@
         android:supportsRtl="true"
         android:theme="@style/Theme.AppCompat.Light.NoActionBar"
         tools:ignore="AllowBackup,GoogleAppIndexingWarning,MissingApplicationIcon">
-        <activity android:name=".DragAndDropActivity" android:exported="true">
+        <activity android:name="androidx.draganddrop.DragAndDropActivity" android:exported="true">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN"/>
                 <category android:name="android.intent.category.DEFAULT"/>
diff --git a/emoji/emoji/src/androidTest/AndroidManifest.xml b/emoji/emoji/src/androidTest/AndroidManifest.xml
index beba93e..1c1136d 100644
--- a/emoji/emoji/src/androidTest/AndroidManifest.xml
+++ b/emoji/emoji/src/androidTest/AndroidManifest.xml
@@ -14,10 +14,10 @@
      limitations under the License.
 -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-          package="androidx.emoji.text">
+          package="androidx.emoji.test">
 
     <application>
-        <activity android:name=".TestActivity"/>
+        <activity android:name="androidx.emoji.text.TestActivity"/>
     </application>
 
 </manifest>
\ No newline at end of file
diff --git a/emoji2/emoji2-bundled/src/androidTest/AndroidManifest.xml b/emoji2/emoji2-bundled/src/androidTest/AndroidManifest.xml
index 29ed14a..8873b81 100644
--- a/emoji2/emoji2-bundled/src/androidTest/AndroidManifest.xml
+++ b/emoji2/emoji2-bundled/src/androidTest/AndroidManifest.xml
@@ -15,10 +15,10 @@
 -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
-    package="androidx.emoji2.bundled">
+    package="androidx.emoji2.bundled.test">
 
     <application>
-        <activity android:name=".TestActivity"/>
+        <activity android:name="androidx.emoji2.bundled.TestActivity"/>
         <provider
             android:name="androidx.startup.InitializationProvider"
             android:authorities="${applicationId}.androidx-startup"
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 9a2124da..f4ae799 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -2,13 +2,13 @@
 # -----------------------------------------------------------------------------
 # All of the following should be updated in sync.
 # -----------------------------------------------------------------------------
-androidGradlePlugin = "7.2.0-alpha07"
+androidGradlePlugin = "7.3.0-alpha01"
 # NOTE: When updating the lint version we also need to update the `api` version
 # supported by `IssueRegistry`'s.' For e.g. r.android.com/1331903
-androidLint = "30.2.0-alpha07"
+androidLint = "30.3.0-alpha01"
 # Once you have a chosen version of AGP to upgrade to, go to
 # https://developer.android.com/studio/archive and find the matching version of Studio.
-androidStudio = "2021.2.1.7"
+androidStudio = "2021.3.1.1"
 # -----------------------------------------------------------------------------
 
 androidGradlePluginMin = "7.0.4"
diff --git a/leanback/leanback/src/main/java/androidx/leanback/widget/ClassPresenterSelector.java b/leanback/leanback/src/main/java/androidx/leanback/widget/ClassPresenterSelector.java
index f202a1f..ab6df8e 100644
--- a/leanback/leanback/src/main/java/androidx/leanback/widget/ClassPresenterSelector.java
+++ b/leanback/leanback/src/main/java/androidx/leanback/widget/ClassPresenterSelector.java
@@ -51,9 +51,10 @@
             PresenterSelector presenterSelector) {
         mClassMap.put(cls, presenterSelector);
         Presenter[] innerPresenters = presenterSelector.getPresenters();
-        for (int i = 0; i < innerPresenters.length; i++)
-        if (!mPresenters.contains(innerPresenters[i])) {
-            mPresenters.add(innerPresenters[i]);
+        for (int i = 0; i < innerPresenters.length; i++) {
+            if (!mPresenters.contains(innerPresenters[i])) {
+                mPresenters.add(innerPresenters[i]);
+            }
         }
         return this;
     }
diff --git a/leanback/leanback/src/main/java/androidx/leanback/widget/SearchBar.java b/leanback/leanback/src/main/java/androidx/leanback/widget/SearchBar.java
index c875a1b..90a0442 100644
--- a/leanback/leanback/src/main/java/androidx/leanback/widget/SearchBar.java
+++ b/leanback/leanback/src/main/java/androidx/leanback/widget/SearchBar.java
@@ -276,15 +276,15 @@
                     }, 500);
                 } else if (EditorInfo.IME_ACTION_GO == action) {
                     if (DEBUG) Log.v(TAG, "Voice Clicked");
-                        hideNativeKeyboard();
-                        mHandler.postDelayed(new Runnable() {
-                            @Override
-                            public void run() {
-                                if (DEBUG) Log.v(TAG, "Delayed action handling (voice_mode)");
-                                mAutoStartRecognition = true;
-                                mSpeechOrbView.requestFocus();
-                            }
-                        }, 500);
+                    hideNativeKeyboard();
+                    mHandler.postDelayed(new Runnable() {
+                        @Override
+                        public void run() {
+                            if (DEBUG) Log.v(TAG, "Delayed action handling (voice_mode)");
+                            mAutoStartRecognition = true;
+                            mSpeechOrbView.requestFocus();
+                        }
+                    }, 500);
                 } else {
                     handled = false;
                 }
diff --git a/navigation/navigation-runtime/build.gradle b/navigation/navigation-runtime/build.gradle
index f52b59c..2e16806 100644
--- a/navigation/navigation-runtime/build.gradle
+++ b/navigation/navigation-runtime/build.gradle
@@ -30,6 +30,7 @@
     api(projectOrArtifact(":lifecycle:lifecycle-runtime-ktx"))
     api(projectOrArtifact(":lifecycle:lifecycle-viewmodel-ktx"))
     api("androidx.annotation:annotation-experimental:1.1.0")
+    implementation('androidx.collection:collection:1.0.0')
 
     api(libs.kotlinStdlib)
     androidTestImplementation(projectOrArtifact(":lifecycle:lifecycle-runtime-testing"))
diff --git a/viewpager2/integration-tests/testapp/lint-baseline.xml b/viewpager2/integration-tests/testapp/lint-baseline.xml
index c6d03d2..2261b3c 100644
--- a/viewpager2/integration-tests/testapp/lint-baseline.xml
+++ b/viewpager2/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+<issues format="6" by="lint 7.3.0-alpha01" type="baseline" client="gradle" dependencies="false" name="AGP (7.3.0-alpha01)" variant="all" version="7.3.0-alpha01">
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 19 (current min is 14): `java.lang.AssertionError()`"
+        errorLine1="                throw AssertionError(&quot;Block hit bad state $n times&quot;, e)"
+        errorLine2="                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidTest/java/androidx/viewpager2/integration/testapp/test/util/RetryBlock.kt"
+            line="50"
+            column="23"/>
+    </issue>
 
     <issue
         id="ClassVerificationFailure"
@@ -23,26 +34,4 @@
             column="25"/>
     </issue>
 
-    <issue
-        id="UnknownNullness"
-        message="Should explicitly declare type here since implicit type does not specify nullness"
-        errorLine1="    fun removeAt(position: Int) = items.removeAt(position)"
-        errorLine2="        ~~~~~~~~">
-        <location
-            file="src/main/java/androidx/viewpager2/integration/testapp/MutableCollectionBaseActivity.kt"
-            line="146"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Should explicitly declare type here since implicit type does not specify nullness"
-        errorLine1="        fun create(itemText: String) ="
-        errorLine2="            ~~~~~~">
-        <location
-            file="src/main/java/androidx/viewpager2/integration/testapp/MutableCollectionFragmentActivity.kt"
-            line="98"
-            column="13"/>
-    </issue>
-
 </issues>
diff --git a/viewpager2/viewpager2/lint-baseline.xml b/viewpager2/viewpager2/lint-baseline.xml
index 045f63a..3b2356d 100644
--- a/viewpager2/viewpager2/lint-baseline.xml
+++ b/viewpager2/viewpager2/lint-baseline.xml
@@ -1,5 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-beta02" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-beta02)" variant="all" version="7.1.0-beta02">
+<issues format="6" by="lint 7.3.0-alpha01" type="baseline" client="gradle" dependencies="false" name="AGP (7.3.0-alpha01)" variant="all" version="7.3.0-alpha01">
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 19 (current min is 14): `java.lang.AssertionError()`"
+        errorLine1="                throw AssertionError(&quot;Block hit bad state $n times&quot;, e)"
+        errorLine2="                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidTest/java/androidx/viewpager2/widget/BaseTest.kt"
+            line="737"
+            column="23"/>
+    </issue>
 
     <issue
         id="NewApi"
@@ -19,7 +30,7 @@
         errorLine2="               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager2/widget/ViewPager2.java"
-            line="579"
+            line="582"
             column="16"/>
     </issue>
 
@@ -30,7 +41,7 @@
         errorLine2="        ~~~~~">
         <location
             file="src/main/java/androidx/viewpager2/widget/ViewPager2.java"
-            line="181"
+            line="183"
             column="9"/>
     </issue>
 
@@ -41,129 +52,8 @@
         errorLine2="            ~~~~~">
         <location
             file="src/main/java/androidx/viewpager2/widget/ViewPager2.java"
-            line="391"
+            line="393"
             column="13"/>
     </issue>
 
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 21; however, the containing class androidx.viewpager2.widget.ViewPager2 is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="        if (applied.isConsumed()) {"
-        errorLine2="                    ~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/viewpager2/widget/ViewPager2.java"
-            line="972"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 20; however, the containing class androidx.viewpager2.widget.ViewPager2 is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="            mRecyclerView.getChildAt(i).dispatchApplyWindowInsets(new WindowInsets(applied));"
-        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/viewpager2/widget/ViewPager2.java"
-            line="985"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 20; however, the containing class androidx.viewpager2.widget.ViewPager2 is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="            mRecyclerView.getChildAt(i).dispatchApplyWindowInsets(new WindowInsets(applied));"
-        errorLine2="                                                                  ~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/viewpager2/widget/ViewPager2.java"
-            line="985"
-            column="67"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 20; however, the containing class androidx.viewpager2.widget.ViewPager2 is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="        return insets.consumeSystemWindowInsets().consumeStableInsets();"
-        errorLine2="                      ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/viewpager2/widget/ViewPager2.java"
-            line="1008"
-            column="23"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 21; however, the containing class androidx.viewpager2.widget.ViewPager2 is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="        return insets.consumeSystemWindowInsets().consumeStableInsets();"
-        errorLine2="                                                  ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/viewpager2/widget/ViewPager2.java"
-            line="1008"
-            column="51"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="    public CharSequence getAccessibilityClassName() {"
-        errorLine2="           ~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/viewpager2/widget/ViewPager2.java"
-            line="291"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="    protected void onRestoreInstanceState(Parcelable state) {"
-        errorLine2="                                          ~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/viewpager2/widget/ViewPager2.java"
-            line="333"
-            column="43"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="    protected void dispatchRestoreInstanceState(SparseArray&lt;Parcelable> container) {"
-        errorLine2="                                                ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/viewpager2/widget/ViewPager2.java"
-            line="368"
-            column="49"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="    public void onViewAdded(View child) {"
-        errorLine2="                            ~~~~">
-        <location
-            file="src/main/java/androidx/viewpager2/widget/ViewPager2.java"
-            line="492"
-            column="29"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="    public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {"
-        errorLine2="                                                  ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/viewpager2/widget/ViewPager2.java"
-            line="952"
-            column="51"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="    public boolean performAccessibilityAction(int action, Bundle arguments) {"
-        errorLine2="                                                          ~~~~~~">
-        <location
-            file="src/main/java/androidx/viewpager2/widget/ViewPager2.java"
-            line="959"
-            column="59"/>
-    </issue>
-
 </issues>
diff --git a/wear/tiles/tiles-material/lint-baseline.xml b/wear/tiles/tiles-material/lint-baseline.xml
new file mode 100644
index 0000000..bf58691
--- /dev/null
+++ b/wear/tiles/tiles-material/lint-baseline.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.3.0-alpha01" type="baseline" client="gradle" dependencies="false" name="AGP (7.3.0-alpha01)" variant="all" version="7.3.0-alpha01">
+
+    <issue
+        id="ResourceType"
+        message="Mismatched @Dimension units here; expected a pixel integer but received density-independent (dp) integer"
+        errorLine1="            mSize = dp(size);"
+        errorLine2="                       ~~~~">
+        <location
+            file="src/main/java/androidx/wear/tiles/material/Button.java"
+            line="151"
+            column="24"/>
+    </issue>
+
+    <issue
+        id="ResourceType"
+        message="Mismatched @Dimension units here; expected density-independent (dp) integer but received a pixel integer"
+        errorLine1="        return recommendedIconSize(buttonSize.getValue());"
+        errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/tiles/material/ButtonDefaults.java"
+            line="46"
+            column="36"/>
+    </issue>
+
+    <issue
+        id="ResourceType"
+        message="Mismatched @Dimension units here; expected a pixel integer but received density-independent (dp) integer"
+        errorLine1="            mWidth = dp(width);"
+        errorLine2="                        ~~~~~">
+        <location
+            file="src/main/java/androidx/wear/tiles/material/Chip.java"
+            line="160"
+            column="25"/>
+    </issue>
+
+    <issue
+        id="ResourceType"
+        message="Mismatched @Dimension units here; expected a pixel integer but received density-independent (dp) integer"
+        errorLine1="            this.mStrokeWidth = dp(strokeWidth);"
+        errorLine2="                                   ~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/tiles/material/CircularProgressIndicator.java"
+            line="162"
+            column="36"/>
+    </issue>
+
+    <issue
+        id="ResourceType"
+        message="Mismatched @Dimension units here; expected a pixel integer but received density-independent (dp) integer"
+        errorLine1="            this.mHorizontalSpacerWidth = dp(width);"
+        errorLine2="                                             ~~~~~">
+        <location
+            file="src/main/java/androidx/wear/tiles/material/layouts/MultiSlotLayout.java"
+            line="142"
+            column="46"/>
+    </issue>
+
+    <issue
+        id="ResourceType"
+        message="Mismatched @Dimension units here; expected a pixel integer but received density-independent (dp) integer"
+        errorLine1="            this.mVerticalSpacerHeight = dp(height);"
+        errorLine2="                                            ~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/tiles/material/layouts/MultiSlotLayout.java"
+            line="157"
+            column="45"/>
+    </issue>
+
+    <issue
+        id="ResourceType"
+        message="Mismatched @Dimension units here; expected a pixel integer but received density-independent (dp) integer"
+        errorLine1="            mWidth = dp(width);"
+        errorLine2="                        ~~~~~">
+        <location
+            file="src/main/java/androidx/wear/tiles/material/TitleChip.java"
+            line="129"
+            column="25"/>
+    </issue>
+
+</issues>
diff --git a/webkit/webkit/src/androidTest/AndroidManifest.xml b/webkit/webkit/src/androidTest/AndroidManifest.xml
index 1d57ce4..df5f531 100644
--- a/webkit/webkit/src/androidTest/AndroidManifest.xml
+++ b/webkit/webkit/src/androidTest/AndroidManifest.xml
@@ -15,7 +15,7 @@
   ~ limitations under the License.
   -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-          package="androidx.webkit">
+          package="androidx.webkit.test">
     <!-- Note: we must provide INTERNET permission for
          ServiceWorkerWebSettingsCompatTest#testBlockNetworkLoads -->
     <uses-permission android:name="android.permission.INTERNET" />
@@ -26,6 +26,6 @@
                  android:hardwareAccelerated="true"
                  android:usesCleartextTraffic="true">
 
-        <activity android:name=".WebViewTestActivity"/>
+        <activity android:name="androidx.webkit.WebViewTestActivity"/>
     </application>
 </manifest>
