Merge "Make visibleEntries API experimental" into androidx-main
diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml
index a73e5a3..a0c4ba9 100644
--- a/.github/workflows/integration_tests.yml
+++ b/.github/workflows/integration_tests.yml
@@ -14,7 +14,7 @@
         uses: actions/setup-java@v2
         with:
           java-version: '11'
-          distribution: 'adopt'
+          distribution: 'zulu'
       - name: "set output directory"
         run: echo "::set-output name=output-dir::$(readlink -f .)/outputs"
         id: dirs
diff --git a/activity/activity-compose-lint/lint-baseline.xml b/activity/activity-compose-lint/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/activity/activity-compose-lint/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/activity/activity-compose/integration-tests/activity-demos/lint-baseline.xml b/activity/activity-compose/integration-tests/activity-demos/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/activity/activity-compose/integration-tests/activity-demos/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/activity/activity-compose/lint-baseline.xml b/activity/activity-compose/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/activity/activity-compose/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/activity/activity-compose/samples/lint-baseline.xml b/activity/activity-compose/samples/lint-baseline.xml
index 515e1b1f..9030e69 100644
--- a/activity/activity-compose/samples/lint-baseline.xml
+++ b/activity/activity-compose/samples/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha08" type="baseline" client="gradle" dependencies="true" name="AGP (7.1.0-alpha08)" variant="all" version="7.1.0-alpha08">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="WrongConstant"
@@ -497,6 +497,127 @@
     </issue>
 
     <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 18 here from outer annotations"
+        errorLine1="        @RequiresApi(18)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/activity/result/contract/ActivityResultContracts.kt"
+            line="435"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 16 here from outer annotations"
+        errorLine1="            @RequiresApi(16)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="3195"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 16 here from outer annotations"
+        errorLine1="            @RequiresApi(16)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="3203"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="            @RequiresApi(23)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="3222"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 31 here from outer annotations"
+        errorLine1="            @RequiresApi(31)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="3241"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="            @RequiresApi(29)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="7142"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="            @RequiresApi(29)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="7181"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 30 here from outer annotations"
+        errorLine1="            @RequiresApi(30)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="7225"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 30 here from outer annotations"
+        errorLine1="            @RequiresApi(30)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="7266"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="        @RequiresApi(21)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/view/WindowInsetsAnimationCompat.java"
+            line="689"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 30 here from outer annotations"
+        errorLine1="        @RequiresApi(30)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/view/WindowInsetsAnimationCompat.java"
+            line="962"
+            column="9"/>
+    </issue>
+
+    <issue
         id="KotlinPropertyAccess"
         message="The getter return type (`AccessibilityNodeInfoCompat`) and setter parameter type (`View`) getter and setter methods for property `parent` should have exactly the same type to allow be accessed as a property from Kotlin; see https://android.github.io/kotlin-guides/interop.html#property-prefixes"
         errorLine1="    public AccessibilityNodeInfoCompat getParent() {"
diff --git a/activity/activity-ktx/lint-baseline.xml b/activity/activity-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/activity/activity-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/activity/activity-lint/build.gradle b/activity/activity-lint/build.gradle
index 5e00727..05eb177 100644
--- a/activity/activity-lint/build.gradle
+++ b/activity/activity-lint/build.gradle
@@ -27,6 +27,8 @@
     compileOnly(libs.kotlinStdlib)
 
     testImplementation(libs.kotlinStdlib)
+    testImplementation(libs.kotlinReflect)
+    testImplementation(libs.kotlinStdlibJdk8)
     testImplementation(libs.androidLint)
     testImplementation(libs.androidLintTests)
     testImplementation(libs.junit)
diff --git a/activity/activity-lint/lint-baseline.xml b/activity/activity-lint/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/activity/activity-lint/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/activity/activity-lint/src/main/java/androidx/activity/lint/ActivityResultFragmentVersionDetector.kt b/activity/activity-lint/src/main/java/androidx/activity/lint/ActivityResultFragmentVersionDetector.kt
index 2b809b3..edb3b36 100644
--- a/activity/activity-lint/src/main/java/androidx/activity/lint/ActivityResultFragmentVersionDetector.kt
+++ b/activity/activity-lint/src/main/java/androidx/activity/lint/ActivityResultFragmentVersionDetector.kt
@@ -123,6 +123,7 @@
         (all as ArrayList<*>).forEach { lmLibrary ->
             lmLibrary::class.memberProperties.forEach { libraryMembers ->
                 if (libraryMembers.name == "resolvedCoordinates") {
+                    libraryMembers.isAccessible = true
                     reportIssue(libraryMembers.call(lmLibrary).toString(), context, false)
                 }
             }
@@ -164,6 +165,7 @@
     private fun getMemberWithReflection(caller: Any, memberName: String): Any {
         caller::class.memberProperties.forEach { member ->
             if (member.name == memberName) {
+                member.getter.isAccessible = true
                 return member.getter.call(caller)!!
             }
         }
diff --git a/activity/activity-lint/src/test/java/androidx/activity/lint/ActivityResultFragmentVersionDetectorTest.kt b/activity/activity-lint/src/test/java/androidx/activity/lint/ActivityResultFragmentVersionDetectorTest.kt
index 170ebcbe..cc9312b 100644
--- a/activity/activity-lint/src/test/java/androidx/activity/lint/ActivityResultFragmentVersionDetectorTest.kt
+++ b/activity/activity-lint/src/test/java/androidx/activity/lint/ActivityResultFragmentVersionDetectorTest.kt
@@ -21,7 +21,6 @@
 import com.android.tools.lint.checks.infrastructure.LintDetectorTest
 import com.android.tools.lint.detector.api.Detector
 import com.android.tools.lint.detector.api.Issue
-import org.junit.Ignore
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.junit.runners.JUnit4
@@ -298,7 +297,6 @@
             )
     }
 
-    @Ignore("b/187524979")
     @Test
     fun expectFailTransitiveDependency() {
         val projectFragment = project(
@@ -312,6 +310,7 @@
                 val launcher = ActivityResultCaller().registerForActivityResult(ActivityResultContract())
             """
             ),
+            *STUBS,
             gradle(
                 "build.gradle",
                 """
diff --git a/activity/activity/lint-baseline.xml b/activity/activity/lint-baseline.xml
new file mode 100644
index 0000000..c110a14
--- /dev/null
+++ b/activity/activity/lint-baseline.xml
@@ -0,0 +1,15 @@
+<?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">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 18 here from outer annotations"
+        errorLine1="        @RequiresApi(18)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/activity/result/contract/ActivityResultContracts.kt"
+            line="435"
+            column="9"/>
+    </issue>
+
+</issues>
diff --git a/activity/activity/src/main/baseline-prof.txt b/activity/activity/src/main/baseline-prof.txt
new file mode 100644
index 0000000..fd738a5
--- /dev/null
+++ b/activity/activity/src/main/baseline-prof.txt
@@ -0,0 +1,86 @@
+# Baseline profiles for androidx.activity
+
+HSPLandroidx/activity/ComponentActivity$1;-><init>(Landroidx/activity/ComponentActivity;)V
+HSPLandroidx/activity/ComponentActivity$2;-><init>(Landroidx/activity/ComponentActivity;)V
+HSPLandroidx/activity/ComponentActivity$3;-><init>(Landroidx/activity/ComponentActivity;)V
+HSPLandroidx/activity/ComponentActivity$3;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V
+HSPLandroidx/activity/ComponentActivity$4;-><init>(Landroidx/activity/ComponentActivity;)V
+HSPLandroidx/activity/ComponentActivity$4;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V
+HSPLandroidx/activity/ComponentActivity$5;-><init>(Landroidx/activity/ComponentActivity;)V
+HSPLandroidx/activity/ComponentActivity$5;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V
+HSPLandroidx/activity/ComponentActivity$6;-><init>(Landroidx/activity/ComponentActivity;)V
+HSPLandroidx/activity/ComponentActivity$7;-><init>(Landroidx/activity/ComponentActivity;)V
+HSPLandroidx/activity/ComponentActivity$7;->onContextAvailable(Landroid/content/Context;)V
+HSPLandroidx/activity/ComponentActivity;-><init>()V
+HSPLandroidx/activity/ComponentActivity;->addOnContextAvailableListener(Landroidx/activity/contextaware/OnContextAvailableListener;)V
+HSPLandroidx/activity/ComponentActivity;->ensureViewModelStore()V
+HSPLandroidx/activity/ComponentActivity;->getActivityResultRegistry()Landroidx/activity/result/ActivityResultRegistry;
+HSPLandroidx/activity/ComponentActivity;->getLifecycle()Landroidx/lifecycle/Lifecycle;
+HSPLandroidx/activity/ComponentActivity;->getOnBackPressedDispatcher()Landroidx/activity/OnBackPressedDispatcher;
+HSPLandroidx/activity/ComponentActivity;->getSavedStateRegistry()Landroidx/savedstate/SavedStateRegistry;
+HSPLandroidx/activity/ComponentActivity;->getViewModelStore()Landroidx/lifecycle/ViewModelStore;
+HSPLandroidx/activity/ComponentActivity;->onCreate(Landroid/os/Bundle;)V
+HSPLandroidx/activity/OnBackPressedCallback;-><init>(Z)V
+HSPLandroidx/activity/OnBackPressedCallback;->addCancellable(Landroidx/activity/Cancellable;)V
+HSPLandroidx/activity/OnBackPressedCallback;->remove()V
+HSPLandroidx/activity/OnBackPressedCallback;->setEnabled(Z)V
+HSPLandroidx/activity/OnBackPressedDispatcher$LifecycleOnBackPressedCancellable;-><init>(Landroidx/activity/OnBackPressedDispatcher;Landroidx/lifecycle/Lifecycle;Landroidx/activity/OnBackPressedCallback;)V
+HSPLandroidx/activity/OnBackPressedDispatcher$LifecycleOnBackPressedCancellable;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V
+HSPLandroidx/activity/OnBackPressedDispatcher$OnBackPressedCancellable;-><init>(Landroidx/activity/OnBackPressedDispatcher;Landroidx/activity/OnBackPressedCallback;)V
+HSPLandroidx/activity/OnBackPressedDispatcher;-><init>(Ljava/lang/Runnable;)V
+HSPLandroidx/activity/OnBackPressedDispatcher;->addCallback(Landroidx/lifecycle/LifecycleOwner;Landroidx/activity/OnBackPressedCallback;)V
+HSPLandroidx/activity/OnBackPressedDispatcher;->addCancellableCallback(Landroidx/activity/OnBackPressedCallback;)Landroidx/activity/Cancellable;
+HSPLandroidx/activity/contextaware/ContextAwareHelper;-><init>()V
+HSPLandroidx/activity/contextaware/ContextAwareHelper;->addOnContextAvailableListener(Landroidx/activity/contextaware/OnContextAvailableListener;)V
+HSPLandroidx/activity/contextaware/ContextAwareHelper;->dispatchOnContextAvailable(Landroid/content/Context;)V
+HSPLandroidx/activity/result/ActivityResultLauncher;-><init>()V
+HSPLandroidx/activity/result/ActivityResultRegistry$3;-><init>(Landroidx/activity/result/ActivityResultRegistry;Ljava/lang/String;ILandroidx/activity/result/contract/ActivityResultContract;)V
+HSPLandroidx/activity/result/ActivityResultRegistry$CallbackAndContract;-><init>(Landroidx/activity/result/ActivityResultCallback;Landroidx/activity/result/contract/ActivityResultContract;)V
+HSPLandroidx/activity/result/ActivityResultRegistry;-><init>()V
+HSPLandroidx/activity/result/ActivityResultRegistry;->bindRcKey(ILjava/lang/String;)V
+HSPLandroidx/activity/result/ActivityResultRegistry;->generateRandomNumber()I
+HSPLandroidx/activity/result/ActivityResultRegistry;->register(Ljava/lang/String;Landroidx/activity/result/contract/ActivityResultContract;Landroidx/activity/result/ActivityResultCallback;)Landroidx/activity/result/ActivityResultLauncher;
+HSPLandroidx/activity/result/ActivityResultRegistry;->registerKey(Ljava/lang/String;)I
+HSPLandroidx/activity/result/contract/ActivityResultContract;-><init>()V
+HSPLandroidx/activity/result/contract/ActivityResultContracts$RequestMultiplePermissions;-><init>()V
+HSPLandroidx/activity/result/contract/ActivityResultContracts$StartActivityForResult;-><init>()V
+Landroidx/activity/Cancellable;
+Landroidx/activity/ComponentActivity$1;
+Landroidx/activity/ComponentActivity$2;
+Landroidx/activity/ComponentActivity$3;
+Landroidx/activity/ComponentActivity$4;
+Landroidx/activity/ComponentActivity$5;
+Landroidx/activity/ComponentActivity$6;
+Landroidx/activity/ComponentActivity$7;
+Landroidx/activity/ComponentActivity$NonConfigurationInstances;
+Landroidx/activity/ComponentActivity;
+Landroidx/activity/OnBackPressedCallback;
+Landroidx/activity/OnBackPressedDispatcher$LifecycleOnBackPressedCancellable;
+Landroidx/activity/OnBackPressedDispatcher$OnBackPressedCancellable;
+Landroidx/activity/OnBackPressedDispatcher;
+Landroidx/activity/OnBackPressedDispatcherOwner;
+Landroidx/activity/contextaware/ContextAware;
+Landroidx/activity/contextaware/ContextAwareHelper;
+Landroidx/activity/contextaware/OnContextAvailableListener;
+Landroidx/activity/result/ActivityResult;
+Landroidx/activity/result/ActivityResultCallback;
+Landroidx/activity/result/ActivityResultCaller;
+Landroidx/activity/result/ActivityResultLauncher;
+Landroidx/activity/result/ActivityResultRegistry$3;
+Landroidx/activity/result/ActivityResultRegistry$CallbackAndContract;
+Landroidx/activity/result/ActivityResultRegistry;
+Landroidx/activity/result/ActivityResultRegistryOwner;
+Landroidx/activity/result/contract/ActivityResultContract;
+Landroidx/activity/result/contract/ActivityResultContracts$RequestMultiplePermissions;
+Landroidx/activity/result/contract/ActivityResultContracts$StartActivityForResult;
+PLandroidx/activity/ComponentActivity$1;->run()V
+PLandroidx/activity/ComponentActivity;->access$001(Landroidx/activity/ComponentActivity;)V
+PLandroidx/activity/ComponentActivity;->onBackPressed()V
+PLandroidx/activity/OnBackPressedCallback;->isEnabled()Z
+PLandroidx/activity/OnBackPressedCallback;->removeCancellable(Landroidx/activity/Cancellable;)V
+PLandroidx/activity/OnBackPressedDispatcher$LifecycleOnBackPressedCancellable;->cancel()V
+PLandroidx/activity/OnBackPressedDispatcher$OnBackPressedCancellable;->cancel()V
+PLandroidx/activity/OnBackPressedDispatcher;->onBackPressed()V
+PLandroidx/activity/contextaware/ContextAwareHelper;->clearAvailableContext()V
+PLandroidx/activity/result/ActivityResultRegistry$3;->unregister()V
+PLandroidx/activity/result/ActivityResultRegistry;->unregister(Ljava/lang/String;)V
diff --git a/activity/integration-tests/testapp/lint-baseline.xml b/activity/integration-tests/testapp/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/activity/integration-tests/testapp/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/ads/ads-identifier-benchmark/lint-baseline.xml b/ads/ads-identifier-benchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/ads/ads-identifier-benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/ads/ads-identifier-common/lint-baseline.xml b/ads/ads-identifier-common/lint-baseline.xml
index 3c648dc..07307d8 100644
--- a/ads/ads-identifier-common/lint-baseline.xml
+++ b/ads/ads-identifier-common/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="PrivateConstructorForUtilityClass"
diff --git a/ads/ads-identifier-provider/integration-tests/testapp/lint-baseline.xml b/ads/ads-identifier-provider/integration-tests/testapp/lint-baseline.xml
index a417427..2cc9521 100644
--- a/ads/ads-identifier-provider/integration-tests/testapp/lint-baseline.xml
+++ b/ads/ads-identifier-provider/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="UnknownNullness"
diff --git a/ads/ads-identifier-provider/lint-baseline.xml b/ads/ads-identifier-provider/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/ads/ads-identifier-provider/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/ads/ads-identifier-testing/lint-baseline.xml b/ads/ads-identifier-testing/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/ads/ads-identifier-testing/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/ads/ads-identifier/integration-tests/testapp/lint-baseline.xml b/ads/ads-identifier/integration-tests/testapp/lint-baseline.xml
index 45809b6..cdd8cf9 100644
--- a/ads/ads-identifier/integration-tests/testapp/lint-baseline.xml
+++ b/ads/ads-identifier/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="UnknownNullness"
diff --git a/ads/ads-identifier/lint-baseline.xml b/ads/ads-identifier/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/ads/ads-identifier/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/annotation/annotation-experimental-lint/integration-tests/lint-baseline.xml b/annotation/annotation-experimental-lint/integration-tests/lint-baseline.xml
index 20510a5..f381975 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-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
         id="ExperimentalAnnotationRetention"
diff --git a/annotation/annotation-experimental-lint/lint-baseline.xml b/annotation/annotation-experimental-lint/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/annotation/annotation-experimental-lint/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/annotation/annotation-experimental-lint/src/main/java/androidx/annotation/experimental/lint/ExperimentalDetector.kt b/annotation/annotation-experimental-lint/src/main/java/androidx/annotation/experimental/lint/ExperimentalDetector.kt
index 6b76d88..cc0809a 100644
--- a/annotation/annotation-experimental-lint/src/main/java/androidx/annotation/experimental/lint/ExperimentalDetector.kt
+++ b/annotation/annotation-experimental-lint/src/main/java/androidx/annotation/experimental/lint/ExperimentalDetector.kt
@@ -21,6 +21,7 @@
 import com.android.tools.lint.client.api.AnnotationLookup
 import com.android.tools.lint.client.api.JavaEvaluator
 import com.android.tools.lint.detector.api.AnnotationUsageType
+import com.android.tools.lint.detector.api.AnnotationUsageType.FIELD_REFERENCE
 import com.android.tools.lint.detector.api.Category
 import com.android.tools.lint.detector.api.Detector
 import com.android.tools.lint.detector.api.Implementation
@@ -435,6 +436,12 @@
         allClassAnnotations: List<UAnnotation>,
         allPackageAnnotations: List<UAnnotation>
     ) {
+        // Are we visiting a Kotlin property as a field reference when it's actually a method?
+        // Ignore it, since we'll also visit it as a method.
+        if (isKotlin(usage.sourcePsi) && type == FIELD_REFERENCE && referenced is PsiMethod) {
+            return
+        }
+
         when (qualifiedName) {
             JAVA_EXPERIMENTAL_ANNOTATION, JAVA_REQUIRES_OPT_IN_ANNOTATION -> {
                 // Only allow Java annotations, since the Kotlin compiler doesn't understand our
diff --git a/annotation/annotation-experimental/lint-baseline.xml b/annotation/annotation-experimental/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/annotation/annotation-experimental/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/annotation/annotation-sampled/lint-baseline.xml b/annotation/annotation-sampled/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/annotation/annotation-sampled/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/annotation/annotation/lint-baseline.xml b/annotation/annotation/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/annotation/annotation/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/annotation/annotation/src/main/java/androidx/annotation/AnyThread.java b/annotation/annotation/src/main/java/androidx/annotation/AnyThread.java
index 31eb733..723a159 100644
--- a/annotation/annotation/src/main/java/androidx/annotation/AnyThread.java
+++ b/annotation/annotation/src/main/java/androidx/annotation/AnyThread.java
@@ -35,10 +35,10 @@
  * or class have more strict threading requirements.
  * <p>
  * Example:
- * <pre><code>
+ * <pre>
  *  &#64;AnyThread
  *  public void deliverResult(D data) { ... }
- * </code></pre>
+ * </pre>
  */
 @Documented
 @Retention(CLASS)
diff --git a/annotation/annotation/src/main/java/androidx/annotation/BinderThread.java b/annotation/annotation/src/main/java/androidx/annotation/BinderThread.java
index cfc6bd8..7bba3f5 100644
--- a/annotation/annotation/src/main/java/androidx/annotation/BinderThread.java
+++ b/annotation/annotation/src/main/java/androidx/annotation/BinderThread.java
@@ -31,10 +31,10 @@
  * on the binder thread.
  * <p>
  * Example:
- * <pre><code>
+ * <pre>
  *  &#64;BinderThread
  *  public BeamShareData createBeamShareData() { ... }
- * </code></pre>
+ * </pre>
  */
 @Documented
 @Retention(CLASS)
diff --git a/annotation/annotation/src/main/java/androidx/annotation/CallSuper.java b/annotation/annotation/src/main/java/androidx/annotation/CallSuper.java
index f39d81c..805e91e 100644
--- a/annotation/annotation/src/main/java/androidx/annotation/CallSuper.java
+++ b/annotation/annotation/src/main/java/androidx/annotation/CallSuper.java
@@ -26,10 +26,10 @@
  * Denotes that any overriding methods should invoke this method as well.
  * <p>
  * Example:
- * <pre><code>
+ * <pre>
  *  &#64;CallSuper
  *  public abstract void onFocusLost();
- * </code></pre>
+ * </pre>
  */
 @Documented
 @Retention(CLASS)
diff --git a/annotation/annotation/src/main/java/androidx/annotation/CheckResult.java b/annotation/annotation/src/main/java/androidx/annotation/CheckResult.java
index b47cc76..6f95a74 100644
--- a/annotation/annotation/src/main/java/androidx/annotation/CheckResult.java
+++ b/annotation/annotation/src/main/java/androidx/annotation/CheckResult.java
@@ -29,12 +29,12 @@
  * has misunderstood what the method does.
  * <p>
  * Example:
- * <pre>{@code
+ * <pre>
  *  public @CheckResult String trim(String s) { return s.trim(); }
  *  ...
  *  s.trim(); // this is probably an error
  *  s = s.trim(); // ok
- * }</pre>
+ * </pre>
  */
 @Documented
 @Retention(CLASS)
diff --git a/annotation/annotation/src/main/java/androidx/annotation/ChecksSdkIntAtLeast.java b/annotation/annotation/src/main/java/androidx/annotation/ChecksSdkIntAtLeast.java
index 6f6d462..e936bff 100644
--- a/annotation/annotation/src/main/java/androidx/annotation/ChecksSdkIntAtLeast.java
+++ b/annotation/annotation/src/main/java/androidx/annotation/ChecksSdkIntAtLeast.java
@@ -37,7 +37,7 @@
  *
  * <p>
  * Examples:
- * <pre><code>
+ * <pre>
  *  // Simple version check
  *  &#64;ChecksSdkIntAtLeast(api = Build.VERSION_CODES.O)
  *  public static boolean isAtLeastO() {
@@ -63,7 +63,7 @@
  *  public static final boolean SUPPORTS_LETTER_SPACING =
  *         Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
  *
- * </code></pre>
+ * </pre>
  */
 @Documented
 @Retention(CLASS)
diff --git a/annotation/annotation/src/main/java/androidx/annotation/ColorInt.java b/annotation/annotation/src/main/java/androidx/annotation/ColorInt.java
index 0e67c97..1aaee9d 100644
--- a/annotation/annotation/src/main/java/androidx/annotation/ColorInt.java
+++ b/annotation/annotation/src/main/java/androidx/annotation/ColorInt.java
@@ -31,9 +31,9 @@
  * in the array represents a color integer.
  * <p>
  * Example:
- * <pre>{@code
+ * <pre>
  *  public abstract void setTextColor(@ColorInt int color);
- * }</pre>
+ * </pre>
  */
 @Documented
 @Retention(CLASS)
diff --git a/annotation/annotation/src/main/java/androidx/annotation/ColorLong.java b/annotation/annotation/src/main/java/androidx/annotation/ColorLong.java
index 408f78e..41c711d 100644
--- a/annotation/annotation/src/main/java/androidx/annotation/ColorLong.java
+++ b/annotation/annotation/src/main/java/androidx/annotation/ColorLong.java
@@ -35,9 +35,9 @@
  *
  * <p>Example:</p>
  *
- * <pre>{@code
+ * <pre>
  *  public void setFillColor(@ColorLong long color);
- * }</pre>
+ * </pre>
  *
  * @see android.graphics.Color
  */
diff --git a/annotation/annotation/src/main/java/androidx/annotation/DoNotInline.java b/annotation/annotation/src/main/java/androidx/annotation/DoNotInline.java
index 3ae3fa4..7287ee6 100644
--- a/annotation/annotation/src/main/java/androidx/annotation/DoNotInline.java
+++ b/annotation/annotation/src/main/java/androidx/annotation/DoNotInline.java
@@ -28,12 +28,12 @@
  * intended to be in separate classes.
  * <p>
  * Example:
- * <pre><code>
+ * <pre>
  *  &#64;DoNotInline
  *  public void foo() {
  *      ...
  *  }
- * </code></pre>
+ * </pre>
  */
 @Retention(CLASS)
 @Target({METHOD})
diff --git a/annotation/annotation/src/main/java/androidx/annotation/FloatRange.java b/annotation/annotation/src/main/java/androidx/annotation/FloatRange.java
index 7cc6196..fe89adf 100644
--- a/annotation/annotation/src/main/java/androidx/annotation/FloatRange.java
+++ b/annotation/annotation/src/main/java/androidx/annotation/FloatRange.java
@@ -30,12 +30,12 @@
  * Denotes that the annotated element should be a float or double in the given range
  * <p>
  * Example:
- * <pre><code>
+ * <pre>
  *  &#64;FloatRange(from=0.0,to=1.0)
  *  public float getAlpha() {
  *      ...
  *  }
- * </code></pre>
+ * </pre>
  */
 @Documented
 @Retention(CLASS)
diff --git a/annotation/annotation/src/main/java/androidx/annotation/GravityInt.java b/annotation/annotation/src/main/java/androidx/annotation/GravityInt.java
index 8e5ba4c..0ae6c4d 100644
--- a/annotation/annotation/src/main/java/androidx/annotation/GravityInt.java
+++ b/annotation/annotation/src/main/java/androidx/annotation/GravityInt.java
@@ -31,9 +31,9 @@
  * array, every element in the array represents a gravity int.
  * <p>
  * Example:
- * <pre>{@code
+ * <pre>
  *  public abstract void setInnerGravity(@GravityInt int gravity);
- * }</pre>
+ * </pre>
  *
  * @see android.view.Gravity
  */
diff --git a/annotation/annotation/src/main/java/androidx/annotation/HalfFloat.java b/annotation/annotation/src/main/java/androidx/annotation/HalfFloat.java
index a0e287e..e4448b4 100644
--- a/annotation/annotation/src/main/java/androidx/annotation/HalfFloat.java
+++ b/annotation/annotation/src/main/java/androidx/annotation/HalfFloat.java
@@ -33,9 +33,9 @@
  *
  * <p>Example:</p>
  *
- * <pre>{@code
+ * <pre>
  * public abstract void setPosition(@HalfFloat short x, @HalfFloat short y, @HalfFloat short z);
- * }</pre>
+ * </pre>
  */
 @Documented
 @Retention(SOURCE)
diff --git a/annotation/annotation/src/main/java/androidx/annotation/IntDef.java b/annotation/annotation/src/main/java/androidx/annotation/IntDef.java
index 3fa95f3..63ddc37 100644
--- a/annotation/annotation/src/main/java/androidx/annotation/IntDef.java
+++ b/annotation/annotation/src/main/java/androidx/annotation/IntDef.java
@@ -28,7 +28,7 @@
  * multiple constants can be combined.
  * <p>
  * Example:
- * <pre><code>
+ * <pre>
  *  &#64;Retention(SOURCE)
  *  &#64;IntDef({NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS})
  *  public @interface NavigationMode {}
@@ -37,15 +37,17 @@
  *  public static final int NAVIGATION_MODE_TABS = 2;
  *  ...
  *  public abstract void setNavigationMode(@NavigationMode int mode);
+ *
  *  &#64;NavigationMode
  *  public abstract int getNavigationMode();
- * </code></pre>
+ * </pre>
  * For a flag, set the flag attribute:
- * <pre><code>
+ * <pre>
  *  &#64;IntDef(
  *      flag = true,
- *      value = {NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS})
- * </code></pre>
+ *      value = {NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS}
+ *  )
+ * </pre>
  *
  * @see LongDef
  */
diff --git a/annotation/annotation/src/main/java/androidx/annotation/LongDef.java b/annotation/annotation/src/main/java/androidx/annotation/LongDef.java
index 0978429..22553ac 100644
--- a/annotation/annotation/src/main/java/androidx/annotation/LongDef.java
+++ b/annotation/annotation/src/main/java/androidx/annotation/LongDef.java
@@ -28,7 +28,7 @@
  * multiple constants can be combined.
  * <p>
  * Example:
- * <pre><code>
+ * <pre>
  *  &#64;Retention(SOURCE)
  *  &#64;LongDef({NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS})
  *  public @interface NavigationMode {}
@@ -39,13 +39,14 @@
  *  public abstract void setNavigationMode(@NavigationMode long mode);
  *  &#64;NavigationMode
  *  public abstract long getNavigationMode();
- * </code></pre>
+ * </pre>
  * For a flag, set the flag attribute:
- * <pre><code>
+ * <pre>
  *  &#64;LongDef(
  *      flag = true,
- *      value = {NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS})
- * </code></pre>
+ *      value = {NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS}
+ *  )
+ * </pre>
  *
  * @see IntDef
  */
diff --git a/annotation/annotation/src/main/java/androidx/annotation/StringDef.java b/annotation/annotation/src/main/java/androidx/annotation/StringDef.java
index bbd6e97a..faf5600 100644
--- a/annotation/annotation/src/main/java/androidx/annotation/StringDef.java
+++ b/annotation/annotation/src/main/java/androidx/annotation/StringDef.java
@@ -26,12 +26,12 @@
  * type and that its value should be one of the explicitly named constants.
  * <p>
  * Example:
- * <pre><code>
+ * <pre>
  *  &#64;Retention(SOURCE)
  *  &#64;StringDef({
- *     POWER_SERVICE,
- *     WINDOW_SERVICE,
- *     LAYOUT_INFLATER_SERVICE
+ *    POWER_SERVICE,
+ *    WINDOW_SERVICE,
+ *    LAYOUT_INFLATER_SERVICE
  *  })
  *  public @interface ServiceName {}
  *  public static final String POWER_SERVICE = "power";
@@ -39,7 +39,7 @@
  *  public static final String LAYOUT_INFLATER_SERVICE = "layout_inflater";
  *  ...
  *  public abstract Object getSystemService(@ServiceName String name);
- * </code></pre>
+ * </pre>
  */
 @Retention(SOURCE)
 @Target({ANNOTATION_TYPE})
diff --git a/appcompat/appcompat-benchmark/lint-baseline.xml b/appcompat/appcompat-benchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/appcompat/appcompat-benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/appcompat/appcompat-lint/lint-baseline.xml b/appcompat/appcompat-lint/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/appcompat/appcompat-lint/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/appcompat/appcompat-resources/lint-baseline.xml b/appcompat/appcompat-resources/lint-baseline.xml
index 4f61f54..e3c9b6e 100644
--- a/appcompat/appcompat-resources/lint-baseline.xml
+++ b/appcompat/appcompat-resources/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
diff --git a/appcompat/appcompat-resources/src/baseline-prof.txt b/appcompat/appcompat-resources/src/baseline-prof.txt
new file mode 100644
index 0000000..826ed38
--- /dev/null
+++ b/appcompat/appcompat-resources/src/baseline-prof.txt
@@ -0,0 +1,25 @@
+# Baseline profiles for appcompat-resources
+
+HSPLandroidx/appcompat/content/res/AppCompatResources;->getColorStateList(Landroid/content/Context;I)Landroid/content/res/ColorStateList;
+HSPLandroidx/appcompat/content/res/AppCompatResources;->getDrawable(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable;
+HSPLandroidx/appcompat/widget/DrawableUtils;-><clinit>()V
+HSPLandroidx/appcompat/widget/DrawableUtils;->canSafelyMutateDrawable(Landroid/graphics/drawable/Drawable;)Z
+HSPLandroidx/appcompat/widget/DrawableUtils;->fixDrawable(Landroid/graphics/drawable/Drawable;)V
+HSPLandroidx/appcompat/widget/ResourceManagerInternal$ColorFilterLruCache;-><init>(I)V
+HSPLandroidx/appcompat/widget/ResourceManagerInternal;-><clinit>()V
+HSPLandroidx/appcompat/widget/ResourceManagerInternal;-><init>()V
+HSPLandroidx/appcompat/widget/ResourceManagerInternal;->checkVectorDrawableSetup(Landroid/content/Context;)V
+HSPLandroidx/appcompat/widget/ResourceManagerInternal;->createCacheKey(Landroid/util/TypedValue;)J
+HSPLandroidx/appcompat/widget/ResourceManagerInternal;->createDrawableIfNeeded(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable;
+HSPLandroidx/appcompat/widget/ResourceManagerInternal;->get()Landroidx/appcompat/widget/ResourceManagerInternal;
+HSPLandroidx/appcompat/widget/ResourceManagerInternal;->getCachedDrawable(Landroid/content/Context;J)Landroid/graphics/drawable/Drawable;
+HSPLandroidx/appcompat/widget/ResourceManagerInternal;->getDrawable(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable;
+HSPLandroidx/appcompat/widget/ResourceManagerInternal;->getDrawable(Landroid/content/Context;IZ)Landroid/graphics/drawable/Drawable;
+HSPLandroidx/appcompat/widget/ResourceManagerInternal;->getTintList(Landroid/content/Context;I)Landroid/content/res/ColorStateList;
+HSPLandroidx/appcompat/widget/ResourceManagerInternal;->getTintListFromCache(Landroid/content/Context;I)Landroid/content/res/ColorStateList;
+HSPLandroidx/appcompat/widget/ResourceManagerInternal;->installDefaultInflateDelegates(Landroidx/appcompat/widget/ResourceManagerInternal;)V
+HSPLandroidx/appcompat/widget/ResourceManagerInternal;->isVectorDrawable(Landroid/graphics/drawable/Drawable;)Z
+HSPLandroidx/appcompat/widget/ResourceManagerInternal;->loadDrawableFromDelegates(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable;
+HSPLandroidx/appcompat/widget/ResourceManagerInternal;->setHooks(Landroidx/appcompat/widget/ResourceManagerInternal$ResourceManagerHooks;)V
+HSPLandroidx/appcompat/widget/ResourceManagerInternal;->tintDrawable(Landroid/content/Context;IZLandroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;
+HSPLandroidx/appcompat/widget/ResourceManagerInternal;->tintDrawableUsingColorFilter(Landroid/content/Context;ILandroid/graphics/drawable/Drawable;)Z
diff --git a/appcompat/appcompat/lint-baseline.xml b/appcompat/appcompat/lint-baseline.xml
index f904448..533df60 100644
--- a/appcompat/appcompat/lint-baseline.xml
+++ b/appcompat/appcompat/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
@@ -30,7 +30,7 @@
         errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/androidTest/java/androidx/appcompat/widget/AppCompatEditTextReceiveContentTest.java"
-            line="535"
+            line="537"
             column="46"/>
     </issue>
 
@@ -41,7 +41,7 @@
         errorLine2="                  ~~~~~~~~~~~~~">
         <location
             file="src/androidTest/java/androidx/appcompat/widget/AppCompatEditTextReceiveContentTest.java"
-            line="543"
+            line="545"
             column="19"/>
     </issue>
 
@@ -1031,7 +1031,7 @@
         errorLine2="                       ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ListPopupWindow.java"
-            line="752"
+            line="753"
             column="24"/>
     </issue>
 
@@ -1042,7 +1042,7 @@
         errorLine2="                   ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ListPopupWindow.java"
-            line="1440"
+            line="1441"
             column="20"/>
     </issue>
 
@@ -1053,7 +1053,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ListPopupWindow.java"
-            line="1457"
+            line="1458"
             column="27"/>
     </issue>
 
@@ -1408,7 +1408,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="513"
+            line="516"
             column="13"/>
     </issue>
 
@@ -2266,7 +2266,7 @@
         errorLine2="                              ~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionBarContextView.java"
-            line="102"
+            line="101"
             column="31"/>
     </issue>
 
@@ -2277,7 +2277,7 @@
         errorLine2="                         ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionBarContextView.java"
-            line="117"
+            line="116"
             column="26"/>
     </issue>
 
@@ -2361,17 +2361,6 @@
     <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 onInitializeAccessibilityEvent(AccessibilityEvent event) {"
-        errorLine2="                                               ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/appcompat/widget/ActionBarContextView.java"
-            line="364"
-            column="48"/>
-    </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="        void setActionBarUpIndicator(Drawable upDrawable, @StringRes int contentDescRes);"
         errorLine2="                                     ~~~~~~~~">
         <location
@@ -3355,7 +3344,7 @@
         errorLine2="                             ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="123"
+            line="124"
             column="30"/>
     </issue>
 
@@ -3366,7 +3355,7 @@
         errorLine2="                                       ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="129"
+            line="130"
             column="40"/>
     </issue>
 
@@ -3377,7 +3366,7 @@
         errorLine2="                                           ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="142"
+            line="143"
             column="44"/>
     </issue>
 
@@ -3388,7 +3377,7 @@
         errorLine2="              ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="581"
+            line="582"
             column="15"/>
     </issue>
 
@@ -3399,7 +3388,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="589"
+            line="590"
             column="12"/>
     </issue>
 
@@ -3410,7 +3399,7 @@
         errorLine2="                                             ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="589"
+            line="590"
             column="46"/>
     </issue>
 
@@ -3421,7 +3410,7 @@
         errorLine2="              ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="594"
+            line="595"
             column="15"/>
     </issue>
 
@@ -3432,7 +3421,7 @@
         errorLine2="                                                ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="594"
+            line="595"
             column="49"/>
     </issue>
 
@@ -3443,7 +3432,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="608"
+            line="609"
             column="41"/>
     </issue>
 
@@ -3454,7 +3443,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="614"
+            line="615"
             column="12"/>
     </issue>
 
@@ -3465,7 +3454,7 @@
         errorLine2="                              ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="623"
+            line="624"
             column="31"/>
     </issue>
 
@@ -3476,7 +3465,7 @@
         errorLine2="                           ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="637"
+            line="638"
             column="28"/>
     </issue>
 
@@ -3487,7 +3476,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="649"
+            line="650"
             column="12"/>
     </issue>
 
@@ -3498,7 +3487,7 @@
         errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="670"
+            line="671"
             column="34"/>
     </issue>
 
@@ -3509,7 +3498,7 @@
         errorLine2="                                                             ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="670"
+            line="671"
             column="62"/>
     </issue>
 
@@ -3520,7 +3509,7 @@
         errorLine2="           ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="680"
+            line="681"
             column="12"/>
     </issue>
 
@@ -3531,7 +3520,7 @@
         errorLine2="                                                      ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="748"
+            line="749"
             column="55"/>
     </issue>
 
@@ -3542,7 +3531,7 @@
         errorLine2="                                       ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="770"
+            line="771"
             column="40"/>
     </issue>
 
@@ -3553,7 +3542,7 @@
         errorLine2="                            ~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="831"
+            line="832"
             column="29"/>
     </issue>
 
@@ -3564,7 +3553,7 @@
         errorLine2="                                       ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="831"
+            line="832"
             column="40"/>
     </issue>
 
@@ -3575,7 +3564,7 @@
         errorLine2="                            ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="835"
+            line="836"
             column="29"/>
     </issue>
 
@@ -3586,7 +3575,7 @@
         errorLine2="                            ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ActionMenuView.java"
-            line="839"
+            line="840"
             column="29"/>
     </issue>
 
@@ -5632,7 +5621,7 @@
         errorLine2="                                  ~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/AppCompatAutoCompleteTextView.java"
-            line="186"
+            line="193"
             column="35"/>
     </issue>
 
@@ -5643,7 +5632,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/AppCompatAutoCompleteTextView.java"
-            line="194"
+            line="201"
             column="12"/>
     </issue>
 
@@ -5654,7 +5643,7 @@
         errorLine2="                                                   ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/AppCompatAutoCompleteTextView.java"
-            line="194"
+            line="201"
             column="52"/>
     </issue>
 
@@ -5753,7 +5742,7 @@
         errorLine2="                                  ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/AppCompatCheckBox.java"
-            line="88"
+            line="104"
             column="35"/>
     </issue>
 
@@ -6138,7 +6127,7 @@
         errorLine2="                                  ~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/AppCompatEditText.java"
-            line="215"
+            line="213"
             column="35"/>
     </issue>
 
@@ -6149,7 +6138,7 @@
         errorLine2="                                                                       ~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/AppCompatEditText.java"
-            line="293"
+            line="295"
             column="72"/>
     </issue>
 
@@ -6193,7 +6182,7 @@
         errorLine2="                                  ~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/AppCompatMultiAutoCompleteTextView.java"
-            line="184"
+            line="191"
             column="35"/>
     </issue>
 
@@ -6204,7 +6193,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/AppCompatMultiAutoCompleteTextView.java"
-            line="192"
+            line="199"
             column="12"/>
     </issue>
 
@@ -6215,7 +6204,7 @@
         errorLine2="                                                   ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/AppCompatMultiAutoCompleteTextView.java"
-            line="192"
+            line="199"
             column="52"/>
     </issue>
 
@@ -6226,7 +6215,7 @@
         errorLine2="                                ~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/AppCompatRadioButton.java"
-            line="62"
+            line="65"
             column="33"/>
     </issue>
 
@@ -6237,7 +6226,7 @@
         errorLine2="                                ~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/AppCompatRadioButton.java"
-            line="66"
+            line="69"
             column="33"/>
     </issue>
 
@@ -6248,7 +6237,7 @@
         errorLine2="                                ~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/AppCompatRadioButton.java"
-            line="70"
+            line="73"
             column="33"/>
     </issue>
 
@@ -6259,7 +6248,7 @@
         errorLine2="                                  ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/AppCompatRadioButton.java"
-            line="86"
+            line="102"
             column="35"/>
     </issue>
 
@@ -8459,7 +8448,7 @@
         errorLine2="                                ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ListPopupWindow.java"
-            line="415"
+            line="416"
             column="33"/>
     </issue>
 
@@ -8470,7 +8459,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ListPopupWindow.java"
-            line="1139"
+            line="1140"
             column="12"/>
     </issue>
 
@@ -8481,7 +8470,7 @@
         errorLine2="                                                    ~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ListPopupWindow.java"
-            line="1139"
+            line="1140"
             column="53"/>
     </issue>
 
@@ -11385,7 +11374,7 @@
         errorLine2="                                ~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/view/StandaloneActionMode.java"
-            line="50"
+            line="49"
             column="33"/>
     </issue>
 
@@ -11396,7 +11385,7 @@
         errorLine2="                                                 ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/view/StandaloneActionMode.java"
-            line="50"
+            line="49"
             column="50"/>
     </issue>
 
@@ -11407,7 +11396,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/view/StandaloneActionMode.java"
-            line="51"
+            line="50"
             column="13"/>
     </issue>
 
@@ -11418,7 +11407,7 @@
         errorLine2="                         ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/view/StandaloneActionMode.java"
-            line="63"
+            line="62"
             column="26"/>
     </issue>
 
@@ -11429,7 +11418,7 @@
         errorLine2="                            ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/view/StandaloneActionMode.java"
-            line="68"
+            line="67"
             column="29"/>
     </issue>
 
@@ -11440,7 +11429,7 @@
         errorLine2="                              ~~~~">
         <location
             file="src/main/java/androidx/appcompat/view/StandaloneActionMode.java"
-            line="94"
+            line="93"
             column="31"/>
     </issue>
 
@@ -11451,7 +11440,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/appcompat/view/StandaloneActionMode.java"
-            line="116"
+            line="114"
             column="12"/>
     </issue>
 
@@ -11462,7 +11451,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/view/StandaloneActionMode.java"
-            line="121"
+            line="119"
             column="12"/>
     </issue>
 
@@ -11473,7 +11462,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/view/StandaloneActionMode.java"
-            line="126"
+            line="124"
             column="12"/>
     </issue>
 
@@ -11484,7 +11473,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/appcompat/view/StandaloneActionMode.java"
-            line="131"
+            line="129"
             column="12"/>
     </issue>
 
@@ -11495,7 +11484,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/view/StandaloneActionMode.java"
-            line="136"
+            line="134"
             column="12"/>
     </issue>
 
@@ -11506,7 +11495,7 @@
         errorLine2="                            ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/view/StandaloneActionMode.java"
-            line="145"
+            line="143"
             column="29"/>
     </issue>
 
@@ -11517,7 +11506,7 @@
         errorLine2="                                     ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/view/StandaloneActionMode.java"
-            line="148"
+            line="146"
             column="38"/>
     </issue>
 
@@ -11528,7 +11517,7 @@
         errorLine2="                               ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/view/StandaloneActionMode.java"
-            line="157"
+            line="155"
             column="32"/>
     </issue>
 
@@ -12518,7 +12507,7 @@
         errorLine2="                        ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="564"
+            line="576"
             column="25"/>
     </issue>
 
@@ -12529,7 +12518,7 @@
         errorLine2="                                          ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="564"
+            line="576"
             column="43"/>
     </issue>
 
@@ -12540,7 +12529,7 @@
         errorLine2="                        ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="638"
+            line="650"
             column="25"/>
     </issue>
 
@@ -12551,7 +12540,7 @@
         errorLine2="           ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="661"
+            line="673"
             column="12"/>
     </issue>
 
@@ -12562,7 +12551,7 @@
         errorLine2="                                   ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="685"
+            line="697"
             column="36"/>
     </issue>
 
@@ -12573,7 +12562,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="700"
+            line="712"
             column="12"/>
     </issue>
 
@@ -12584,7 +12573,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="748"
+            line="760"
             column="12"/>
     </issue>
 
@@ -12595,7 +12584,7 @@
         errorLine2="                         ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="772"
+            line="784"
             column="26"/>
     </issue>
 
@@ -12606,7 +12595,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="805"
+            line="817"
             column="12"/>
     </issue>
 
@@ -12617,7 +12606,7 @@
         errorLine2="                            ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="827"
+            line="839"
             column="29"/>
     </issue>
 
@@ -12628,7 +12617,7 @@
         errorLine2="                                       ~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="858"
+            line="870"
             column="40"/>
     </issue>
 
@@ -12639,7 +12628,7 @@
         errorLine2="                                          ~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="869"
+            line="881"
             column="43"/>
     </issue>
 
@@ -12650,7 +12639,7 @@
         errorLine2="                                             ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="1035"
+            line="1048"
             column="46"/>
     </issue>
 
@@ -12661,7 +12650,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="1144"
+            line="1157"
             column="12"/>
     </issue>
 
@@ -12672,7 +12661,7 @@
         errorLine2="                                           ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="1221"
+            line="1234"
             column="44"/>
     </issue>
 
@@ -12683,7 +12672,7 @@
         errorLine2="              ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="1555"
+            line="1579"
             column="15"/>
     </issue>
 
@@ -12694,7 +12683,7 @@
         errorLine2="                                          ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="1567"
+            line="1591"
             column="43"/>
     </issue>
 
@@ -12705,7 +12694,7 @@
         errorLine2="                                ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="1601"
+            line="1625"
             column="33"/>
     </issue>
 
@@ -12716,7 +12705,7 @@
         errorLine2="                                ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="1627"
+            line="1651"
             column="33"/>
     </issue>
 
@@ -12727,7 +12716,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2222"
+            line="2246"
             column="12"/>
     </issue>
 
@@ -12738,7 +12727,7 @@
         errorLine2="                                             ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2222"
+            line="2246"
             column="46"/>
     </issue>
 
@@ -12749,7 +12738,7 @@
         errorLine2="              ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2227"
+            line="2251"
             column="15"/>
     </issue>
 
@@ -12760,7 +12749,7 @@
         errorLine2="                                                ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2227"
+            line="2251"
             column="49"/>
     </issue>
 
@@ -12771,7 +12760,7 @@
         errorLine2="              ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2240"
+            line="2264"
             column="15"/>
     </issue>
 
@@ -12782,7 +12771,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2245"
+            line="2269"
             column="41"/>
     </issue>
 
@@ -12793,7 +12782,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2251"
+            line="2275"
             column="12"/>
     </issue>
 
@@ -12804,7 +12793,7 @@
         errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2300"
+            line="2324"
             column="34"/>
     </issue>
 
@@ -12815,7 +12804,7 @@
         errorLine2="                                                             ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2300"
+            line="2324"
             column="62"/>
     </issue>
 
@@ -12826,7 +12815,7 @@
         errorLine2="                                       ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2355"
+            line="2441"
             column="40"/>
     </issue>
 
@@ -12837,7 +12826,7 @@
         errorLine2="                                                ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2374"
+            line="2460"
             column="49"/>
     </issue>
 
@@ -12848,7 +12837,7 @@
         errorLine2="                            ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2392"
+            line="2478"
             column="29"/>
     </issue>
 
@@ -12859,7 +12848,7 @@
         errorLine2="                            ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2398"
+            line="2484"
             column="29"/>
     </issue>
 
@@ -12870,7 +12859,7 @@
         errorLine2="                            ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2402"
+            line="2488"
             column="29"/>
     </issue>
 
@@ -12881,7 +12870,7 @@
         errorLine2="                            ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2409"
+            line="2495"
             column="29"/>
     </issue>
 
@@ -12892,7 +12881,7 @@
         errorLine2="                          ~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2425"
+            line="2511"
             column="27"/>
     </issue>
 
@@ -12903,7 +12892,7 @@
         errorLine2="                          ~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2429"
+            line="2515"
             column="27"/>
     </issue>
 
@@ -12914,7 +12903,7 @@
         errorLine2="                                         ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2429"
+            line="2515"
             column="42"/>
     </issue>
 
@@ -12925,7 +12914,7 @@
         errorLine2="                          ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2435"
+            line="2521"
             column="27"/>
     </issue>
 
@@ -12936,7 +12925,7 @@
         errorLine2="                                  ~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2440"
+            line="2526"
             column="35"/>
     </issue>
 
@@ -13035,7 +13024,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="267"
+            line="270"
             column="12"/>
     </issue>
 
@@ -13046,7 +13035,7 @@
         errorLine2="                            ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="272"
+            line="275"
             column="29"/>
     </issue>
 
@@ -13057,7 +13046,7 @@
         errorLine2="                        ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="305"
+            line="308"
             column="25"/>
     </issue>
 
@@ -13068,7 +13057,7 @@
         errorLine2="                        ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="316"
+            line="319"
             column="25"/>
     </issue>
 
@@ -13079,7 +13068,7 @@
         errorLine2="                        ~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="364"
+            line="367"
             column="25"/>
     </issue>
 
@@ -13090,7 +13079,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="364"
+            line="367"
             column="36"/>
     </issue>
 
@@ -13101,7 +13090,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="421"
+            line="424"
             column="36"/>
     </issue>
 
@@ -13112,7 +13101,7 @@
         errorLine2="                                  ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="512"
+            line="515"
             column="35"/>
     </issue>
 
@@ -13123,7 +13112,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="513"
+            line="516"
             column="13"/>
     </issue>
 
@@ -13134,7 +13123,7 @@
         errorLine2="                              ~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="539"
+            line="542"
             column="31"/>
     </issue>
 
@@ -13145,7 +13134,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="550"
+            line="553"
             column="12"/>
     </issue>
 
@@ -13156,7 +13145,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="564"
+            line="567"
             column="12"/>
     </issue>
 
@@ -13167,7 +13156,7 @@
         errorLine2="                                  ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="592"
+            line="595"
             column="35"/>
     </issue>
 
@@ -13178,7 +13167,7 @@
         errorLine2="                                         ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="603"
+            line="606"
             column="42"/>
     </issue>
 
@@ -13189,7 +13178,7 @@
         errorLine2="                                                ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="619"
+            line="622"
             column="49"/>
     </issue>
 
@@ -13200,7 +13189,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="640"
+            line="643"
             column="36"/>
     </issue>
 
@@ -13211,7 +13200,7 @@
         errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="645"
+            line="648"
             column="39"/>
     </issue>
 
@@ -13222,7 +13211,7 @@
         errorLine2="                                      ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="650"
+            line="653"
             column="39"/>
     </issue>
 
@@ -13233,7 +13222,7 @@
         errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="670"
+            line="673"
             column="34"/>
     </issue>
 
@@ -13244,7 +13233,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="671"
+            line="674"
             column="13"/>
     </issue>
 
@@ -13255,7 +13244,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/ToolbarWidgetWrapper.java"
-            line="676"
+            line="679"
             column="12"/>
     </issue>
 
@@ -13794,7 +13783,7 @@
         errorLine2="                                ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="169"
+            line="168"
             column="33"/>
     </issue>
 
@@ -13805,7 +13794,7 @@
         errorLine2="                                ~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="179"
+            line="178"
             column="33"/>
     </issue>
 
@@ -13816,7 +13805,7 @@
         errorLine2="                                ~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="188"
+            line="187"
             column="33"/>
     </issue>
 
@@ -13827,7 +13816,7 @@
         errorLine2="                                       ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="256"
+            line="255"
             column="40"/>
     </issue>
 
@@ -13838,7 +13827,7 @@
         errorLine2="                                            ~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="338"
+            line="337"
             column="45"/>
     </issue>
 
@@ -13849,7 +13838,7 @@
         errorLine2="                                               ~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="343"
+            line="342"
             column="48"/>
     </issue>
 
@@ -13860,7 +13849,7 @@
         errorLine2="                         ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="438"
+            line="437"
             column="26"/>
     </issue>
 
@@ -13871,7 +13860,7 @@
         errorLine2="                               ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="443"
+            line="442"
             column="32"/>
     </issue>
 
@@ -13882,7 +13871,7 @@
         errorLine2="                            ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="458"
+            line="457"
             column="29"/>
     </issue>
 
@@ -13893,7 +13882,7 @@
         errorLine2="                                      ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="480"
+            line="479"
             column="39"/>
     </issue>
 
@@ -13904,7 +13893,7 @@
         errorLine2="                                             ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="485"
+            line="484"
             column="46"/>
     </issue>
 
@@ -13915,7 +13904,7 @@
         errorLine2="                                           ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="490"
+            line="489"
             column="44"/>
     </issue>
 
@@ -13926,7 +13915,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="495"
+            line="494"
             column="12"/>
     </issue>
 
@@ -13937,7 +13926,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="500"
+            line="499"
             column="12"/>
     </issue>
 
@@ -13948,7 +13937,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="505"
+            line="504"
             column="12"/>
     </issue>
 
@@ -13959,7 +13948,7 @@
         errorLine2="           ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="520"
+            line="519"
             column="12"/>
     </issue>
 
@@ -13970,7 +13959,7 @@
         errorLine2="                                      ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="520"
+            line="519"
             column="39"/>
     </issue>
 
@@ -13981,7 +13970,7 @@
         errorLine2="                       ~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="559"
+            line="557"
             column="24"/>
     </issue>
 
@@ -13992,7 +13981,7 @@
         errorLine2="                       ~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="564"
+            line="562"
             column="24"/>
     </issue>
 
@@ -14003,7 +13992,7 @@
         errorLine2="                       ~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="569"
+            line="567"
             column="24"/>
     </issue>
 
@@ -14014,7 +14003,7 @@
         errorLine2="                       ~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="579"
+            line="577"
             column="24"/>
     </issue>
 
@@ -14025,7 +14014,7 @@
         errorLine2="           ~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="589"
+            line="587"
             column="12"/>
     </issue>
 
@@ -14036,7 +14025,7 @@
         errorLine2="                          ~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="594"
+            line="592"
             column="27"/>
     </issue>
 
@@ -14047,7 +14036,7 @@
         errorLine2="                          ~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="624"
+            line="622"
             column="27"/>
     </issue>
 
@@ -14058,7 +14047,7 @@
         errorLine2="           ~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="661"
+            line="659"
             column="12"/>
     </issue>
 
@@ -14069,7 +14058,7 @@
         errorLine2="           ~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="918"
+            line="916"
             column="12"/>
     </issue>
 
@@ -14080,7 +14069,7 @@
         errorLine2="                                     ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="940"
+            line="938"
             column="38"/>
     </issue>
 
@@ -14091,7 +14080,7 @@
         errorLine2="                                                ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="950"
+            line="948"
             column="49"/>
     </issue>
 
@@ -14102,7 +14091,7 @@
         errorLine2="                              ~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="991"
+            line="989"
             column="31"/>
     </issue>
 
@@ -14113,7 +14102,7 @@
         errorLine2="                                               ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="991"
+            line="989"
             column="48"/>
     </issue>
 
@@ -14124,7 +14113,7 @@
         errorLine2="               ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1000"
+            line="998"
             column="16"/>
     </issue>
 
@@ -14135,7 +14124,7 @@
         errorLine2="               ~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1005"
+            line="1003"
             column="16"/>
     </issue>
 
@@ -14146,7 +14135,7 @@
         errorLine2="                                  ~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1067"
+            line="1063"
             column="35"/>
     </issue>
 
@@ -14157,7 +14146,7 @@
         errorLine2="                                ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1073"
+            line="1069"
             column="33"/>
     </issue>
 
@@ -14168,7 +14157,7 @@
         errorLine2="                             ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1078"
+            line="1074"
             column="30"/>
     </issue>
 
@@ -14179,7 +14168,7 @@
         errorLine2="               ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1093"
+            line="1089"
             column="16"/>
     </issue>
 
@@ -14190,7 +14179,7 @@
         errorLine2="               ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1098"
+            line="1094"
             column="16"/>
     </issue>
 
@@ -14201,7 +14190,7 @@
         errorLine2="               ~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1114"
+            line="1110"
             column="16"/>
     </issue>
 
@@ -14212,7 +14201,7 @@
         errorLine2="                                ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1127"
+            line="1123"
             column="33"/>
     </issue>
 
@@ -14223,7 +14212,7 @@
         errorLine2="                                         ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1130"
+            line="1126"
             column="42"/>
     </issue>
 
@@ -14234,7 +14223,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1143"
+            line="1139"
             column="36"/>
     </issue>
 
@@ -14245,7 +14234,7 @@
         errorLine2="               ~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1170"
+            line="1166"
             column="16"/>
     </issue>
 
@@ -14256,7 +14245,7 @@
         errorLine2="               ~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1175"
+            line="1171"
             column="16"/>
     </issue>
 
@@ -14267,7 +14256,7 @@
         errorLine2="                          ~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1175"
+            line="1171"
             column="27"/>
     </issue>
 
@@ -14278,7 +14267,7 @@
         errorLine2="               ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1180"
+            line="1176"
             column="16"/>
     </issue>
 
@@ -14289,7 +14278,7 @@
         errorLine2="               ~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1185"
+            line="1181"
             column="16"/>
     </issue>
 
@@ -14300,7 +14289,7 @@
         errorLine2="                                  ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1185"
+            line="1181"
             column="35"/>
     </issue>
 
@@ -14311,7 +14300,7 @@
         errorLine2="               ~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1191"
+            line="1187"
             column="16"/>
     </issue>
 
@@ -14322,7 +14311,7 @@
         errorLine2="               ~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1196"
+            line="1192"
             column="16"/>
     </issue>
 
@@ -14333,7 +14322,7 @@
         errorLine2="                                 ~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1196"
+            line="1192"
             column="34"/>
     </issue>
 
@@ -14344,7 +14333,7 @@
         errorLine2="               ~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1205"
+            line="1201"
             column="16"/>
     </issue>
 
@@ -14355,7 +14344,7 @@
         errorLine2="               ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1211"
+            line="1207"
             column="16"/>
     </issue>
 
@@ -14366,7 +14355,7 @@
         errorLine2="               ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1225"
+            line="1221"
             column="16"/>
     </issue>
 
@@ -14377,7 +14366,7 @@
         errorLine2="               ~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1230"
+            line="1226"
             column="16"/>
     </issue>
 
@@ -14388,7 +14377,7 @@
         errorLine2="                           ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1230"
+            line="1226"
             column="28"/>
     </issue>
 
@@ -14399,7 +14388,7 @@
         errorLine2="               ~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1239"
+            line="1235"
             column="16"/>
     </issue>
 
@@ -14410,7 +14399,7 @@
         errorLine2="               ~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1244"
+            line="1240"
             column="16"/>
     </issue>
 
@@ -14421,7 +14410,7 @@
         errorLine2="                           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1244"
+            line="1240"
             column="28"/>
     </issue>
 
@@ -14432,7 +14421,7 @@
         errorLine2="               ~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1253"
+            line="1249"
             column="16"/>
     </issue>
 
@@ -14443,7 +14432,7 @@
         errorLine2="               ~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1263"
+            line="1259"
             column="16"/>
     </issue>
 
@@ -14454,7 +14443,7 @@
         errorLine2="               ~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1268"
+            line="1264"
             column="16"/>
     </issue>
 
@@ -14465,7 +14454,7 @@
         errorLine2="                                         ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1268"
+            line="1264"
             column="42"/>
     </issue>
 
@@ -14476,7 +14465,7 @@
         errorLine2="               ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1277"
+            line="1273"
             column="16"/>
     </issue>
 
@@ -14487,7 +14476,7 @@
         errorLine2="                              ~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1283"
+            line="1279"
             column="31"/>
     </issue>
 
@@ -14498,7 +14487,7 @@
         errorLine2="                              ~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1288"
+            line="1284"
             column="31"/>
     </issue>
 
@@ -14509,7 +14498,7 @@
         errorLine2="                                         ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1288"
+            line="1284"
             column="42"/>
     </issue>
 
@@ -14520,7 +14509,7 @@
         errorLine2="                                           ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1294"
+            line="1290"
             column="44"/>
     </issue>
 
@@ -14531,7 +14520,7 @@
         errorLine2="                                                                   ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1294"
+            line="1290"
             column="68"/>
     </issue>
 
@@ -14542,7 +14531,7 @@
         errorLine2="           ~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1358"
+            line="1354"
             column="12"/>
     </issue>
 
@@ -14553,7 +14542,7 @@
         errorLine2="                        ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1369"
+            line="1365"
             column="25"/>
     </issue>
 
@@ -14564,7 +14553,7 @@
         errorLine2="                        ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1383"
+            line="1379"
             column="25"/>
     </issue>
 
@@ -14575,7 +14564,7 @@
         errorLine2="                                              ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/app/WindowDecorActionBar.java"
-            line="1399"
+            line="1395"
             column="47"/>
     </issue>
 
diff --git a/appcompat/appcompat/src/main/baseline-prof.txt b/appcompat/appcompat/src/main/baseline-prof.txt
new file mode 100644
index 0000000..6f386cf
--- /dev/null
+++ b/appcompat/appcompat/src/main/baseline-prof.txt
@@ -0,0 +1,596 @@
+# Baseline profiles for androidx.appcompat
+
+HSPLandroidx/appcompat/R$styleable;-><clinit>()V
+HSPLandroidx/appcompat/app/ActionBar$LayoutParams;-><init>(II)V
+HSPLandroidx/appcompat/app/ActionBar;-><init>()V
+HSPLandroidx/appcompat/app/AppCompatActivity$1;-><init>(Landroidx/appcompat/app/AppCompatActivity;)V
+HSPLandroidx/appcompat/app/AppCompatActivity$2;-><init>(Landroidx/appcompat/app/AppCompatActivity;)V
+HSPLandroidx/appcompat/app/AppCompatActivity$2;->onContextAvailable(Landroid/content/Context;)V
+HSPLandroidx/appcompat/app/AppCompatActivity;-><init>()V
+HSPLandroidx/appcompat/app/AppCompatActivity;->attachBaseContext(Landroid/content/Context;)V
+HSPLandroidx/appcompat/app/AppCompatActivity;->getDelegate()Landroidx/appcompat/app/AppCompatDelegate;
+HSPLandroidx/appcompat/app/AppCompatActivity;->getMenuInflater()Landroid/view/MenuInflater;
+HSPLandroidx/appcompat/app/AppCompatActivity;->getResources()Landroid/content/res/Resources;
+HSPLandroidx/appcompat/app/AppCompatActivity;->initDelegate()V
+HSPLandroidx/appcompat/app/AppCompatActivity;->initViewTreeOwners()V
+HSPLandroidx/appcompat/app/AppCompatActivity;->onContentChanged()V
+HSPLandroidx/appcompat/app/AppCompatActivity;->onPostCreate(Landroid/os/Bundle;)V
+HSPLandroidx/appcompat/app/AppCompatActivity;->onPostResume()V
+HSPLandroidx/appcompat/app/AppCompatActivity;->onStart()V
+HSPLandroidx/appcompat/app/AppCompatActivity;->onSupportContentChanged()V
+HSPLandroidx/appcompat/app/AppCompatActivity;->onTitleChanged(Ljava/lang/CharSequence;I)V
+HSPLandroidx/appcompat/app/AppCompatActivity;->setContentView(I)V
+HSPLandroidx/appcompat/app/AppCompatActivity;->setTheme(I)V
+HSPLandroidx/appcompat/app/AppCompatDelegate;-><clinit>()V
+HSPLandroidx/appcompat/app/AppCompatDelegate;-><init>()V
+HSPLandroidx/appcompat/app/AppCompatDelegate;->addActiveDelegate(Landroidx/appcompat/app/AppCompatDelegate;)V
+HSPLandroidx/appcompat/app/AppCompatDelegate;->attachBaseContext(Landroid/content/Context;)V
+HSPLandroidx/appcompat/app/AppCompatDelegate;->attachBaseContext2(Landroid/content/Context;)Landroid/content/Context;
+HSPLandroidx/appcompat/app/AppCompatDelegate;->create(Landroid/app/Activity;Landroidx/appcompat/app/AppCompatCallback;)Landroidx/appcompat/app/AppCompatDelegate;
+HSPLandroidx/appcompat/app/AppCompatDelegate;->getDefaultNightMode()I
+HSPLandroidx/appcompat/app/AppCompatDelegate;->removeDelegateFromActives(Landroidx/appcompat/app/AppCompatDelegate;)V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl$2;-><init>(Landroidx/appcompat/app/AppCompatDelegateImpl;)V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl$2;->run()V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl$3;-><init>(Landroidx/appcompat/app/AppCompatDelegateImpl;)V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl$5;-><init>(Landroidx/appcompat/app/AppCompatDelegateImpl;)V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl$5;->onAttachedFromWindow()V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl$ActionMenuPresenterCallback;-><init>(Landroidx/appcompat/app/AppCompatDelegateImpl;)V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl$Api17Impl;->createConfigurationContext(Landroid/content/Context;Landroid/content/res/Configuration;)Landroid/content/Context;
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl$AppCompatWindowCallback;-><init>(Landroidx/appcompat/app/AppCompatDelegateImpl;Landroid/view/Window$Callback;)V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl$AppCompatWindowCallback;->onContentChanged()V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl$AppCompatWindowCallback;->onCreatePanelMenu(ILandroid/view/Menu;)Z
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl$AppCompatWindowCallback;->onCreatePanelView(I)Landroid/view/View;
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl$AppCompatWindowCallback;->onPreparePanel(ILandroid/view/View;Landroid/view/Menu;)Z
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl$PanelFeatureState;-><init>(I)V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl$PanelFeatureState;->setMenu(Landroidx/appcompat/view/menu/MenuBuilder;)V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;-><clinit>()V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;-><init>(Landroid/app/Activity;Landroidx/appcompat/app/AppCompatCallback;)V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;-><init>(Landroid/content/Context;Landroid/view/Window;Landroidx/appcompat/app/AppCompatCallback;Ljava/lang/Object;)V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->applyDayNight()Z
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->applyDayNight(Z)Z
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->applyFixedSizeWindow()V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->attachBaseContext2(Landroid/content/Context;)Landroid/content/Context;
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->attachToWindow(Landroid/view/Window;)V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->calculateNightMode()I
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->createOverrideConfigurationForDayNight(Landroid/content/Context;ILandroid/content/res/Configuration;)Landroid/content/res/Configuration;
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->createSubDecor()Landroid/view/ViewGroup;
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->createView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->doInvalidatePanelMenu(I)V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->ensureSubDecor()V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->ensureWindow()V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->getMenuInflater()Landroid/view/MenuInflater;
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->getPanelState(IZ)Landroidx/appcompat/app/AppCompatDelegateImpl$PanelFeatureState;
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->getSupportActionBar()Landroidx/appcompat/app/ActionBar;
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->getTitle()Ljava/lang/CharSequence;
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->getWindowCallback()Landroid/view/Window$Callback;
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->initWindowDecorActionBar()V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->initializePanelMenu(Landroidx/appcompat/app/AppCompatDelegateImpl$PanelFeatureState;)Z
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->installViewFactory()V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->invalidatePanelMenu(I)V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->isActivityManifestHandlingUiMode()Z
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->mapNightMode(Landroid/content/Context;I)I
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->onCreate(Landroid/os/Bundle;)V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->onPostCreate(Landroid/os/Bundle;)V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->onPostResume()V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->onStart()V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->onSubDecorInstalled(Landroid/view/ViewGroup;)V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->peekSupportActionBar()Landroidx/appcompat/app/ActionBar;
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->preparePanel(Landroidx/appcompat/app/AppCompatDelegateImpl$PanelFeatureState;Landroid/view/KeyEvent;)Z
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->requestWindowFeature(I)Z
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->sanitizeWindowFeatureId(I)I
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->setContentView(I)V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->setTheme(I)V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->setTitle(Ljava/lang/CharSequence;)V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->throwFeatureRequestIfSubDecorInstalled()V
+HSPLandroidx/appcompat/app/AppCompatDelegateImpl;->updateForNightMode(IZ)Z
+HSPLandroidx/appcompat/app/AppCompatViewInflater;-><clinit>()V
+HSPLandroidx/appcompat/app/AppCompatViewInflater;-><init>()V
+HSPLandroidx/appcompat/app/AppCompatViewInflater;->backportAccessibilityAttributes(Landroid/content/Context;Landroid/view/View;Landroid/util/AttributeSet;)V
+HSPLandroidx/appcompat/app/AppCompatViewInflater;->checkOnClickListener(Landroid/view/View;Landroid/util/AttributeSet;)V
+HSPLandroidx/appcompat/app/AppCompatViewInflater;->createButton(Landroid/content/Context;Landroid/util/AttributeSet;)Landroidx/appcompat/widget/AppCompatButton;
+HSPLandroidx/appcompat/app/AppCompatViewInflater;->createEditText(Landroid/content/Context;Landroid/util/AttributeSet;)Landroidx/appcompat/widget/AppCompatEditText;
+HSPLandroidx/appcompat/app/AppCompatViewInflater;->createTextView(Landroid/content/Context;Landroid/util/AttributeSet;)Landroidx/appcompat/widget/AppCompatTextView;
+HSPLandroidx/appcompat/app/AppCompatViewInflater;->createView(Landroid/content/Context;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;
+HSPLandroidx/appcompat/app/AppCompatViewInflater;->createView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;ZZZZ)Landroid/view/View;
+HSPLandroidx/appcompat/app/AppCompatViewInflater;->themifyContext(Landroid/content/Context;Landroid/util/AttributeSet;ZZ)Landroid/content/Context;
+HSPLandroidx/appcompat/app/AppCompatViewInflater;->verifyNotNull(Landroid/view/View;Ljava/lang/String;)V
+HSPLandroidx/appcompat/app/WindowDecorActionBar$1;-><init>(Landroidx/appcompat/app/WindowDecorActionBar;)V
+HSPLandroidx/appcompat/app/WindowDecorActionBar$2;-><init>(Landroidx/appcompat/app/WindowDecorActionBar;)V
+HSPLandroidx/appcompat/app/WindowDecorActionBar$3;-><init>(Landroidx/appcompat/app/WindowDecorActionBar;)V
+HSPLandroidx/appcompat/app/WindowDecorActionBar;-><clinit>()V
+HSPLandroidx/appcompat/app/WindowDecorActionBar;-><init>(Landroid/app/Activity;Z)V
+HSPLandroidx/appcompat/app/WindowDecorActionBar;->getDecorToolbar(Landroid/view/View;)Landroidx/appcompat/widget/DecorToolbar;
+HSPLandroidx/appcompat/app/WindowDecorActionBar;->getNavigationMode()I
+HSPLandroidx/appcompat/app/WindowDecorActionBar;->getThemedContext()Landroid/content/Context;
+HSPLandroidx/appcompat/app/WindowDecorActionBar;->init(Landroid/view/View;)V
+HSPLandroidx/appcompat/app/WindowDecorActionBar;->onWindowVisibilityChanged(I)V
+HSPLandroidx/appcompat/app/WindowDecorActionBar;->setDefaultDisplayHomeAsUpEnabled(Z)V
+HSPLandroidx/appcompat/app/WindowDecorActionBar;->setDisplayHomeAsUpEnabled(Z)V
+HSPLandroidx/appcompat/app/WindowDecorActionBar;->setDisplayOptions(II)V
+HSPLandroidx/appcompat/app/WindowDecorActionBar;->setElevation(F)V
+HSPLandroidx/appcompat/app/WindowDecorActionBar;->setHasEmbeddedTabs(Z)V
+HSPLandroidx/appcompat/app/WindowDecorActionBar;->setHomeButtonEnabled(Z)V
+HSPLandroidx/appcompat/app/WindowDecorActionBar;->setShowHideAnimationEnabled(Z)V
+HSPLandroidx/appcompat/view/ActionBarPolicy;-><init>(Landroid/content/Context;)V
+HSPLandroidx/appcompat/view/ActionBarPolicy;->enableHomeButtonByDefault()Z
+HSPLandroidx/appcompat/view/ActionBarPolicy;->get(Landroid/content/Context;)Landroidx/appcompat/view/ActionBarPolicy;
+HSPLandroidx/appcompat/view/ActionBarPolicy;->getEmbeddedMenuWidthLimit()I
+HSPLandroidx/appcompat/view/ActionBarPolicy;->getMaxActionButtons()I
+HSPLandroidx/appcompat/view/ActionBarPolicy;->hasEmbeddedTabs()Z
+HSPLandroidx/appcompat/view/ActionBarPolicy;->showsOverflowMenuButton()Z
+HSPLandroidx/appcompat/view/ContextThemeWrapper;-><init>(Landroid/content/Context;I)V
+HSPLandroidx/appcompat/view/ContextThemeWrapper;->applyOverrideConfiguration(Landroid/content/res/Configuration;)V
+HSPLandroidx/appcompat/view/ContextThemeWrapper;->getResources()Landroid/content/res/Resources;
+HSPLandroidx/appcompat/view/ContextThemeWrapper;->getResourcesInternal()Landroid/content/res/Resources;
+HSPLandroidx/appcompat/view/ContextThemeWrapper;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
+HSPLandroidx/appcompat/view/ContextThemeWrapper;->getTheme()Landroid/content/res/Resources$Theme;
+HSPLandroidx/appcompat/view/ContextThemeWrapper;->initializeTheme()V
+HSPLandroidx/appcompat/view/ContextThemeWrapper;->onApplyThemeResource(Landroid/content/res/Resources$Theme;IZ)V
+HSPLandroidx/appcompat/view/SupportMenuInflater;-><clinit>()V
+HSPLandroidx/appcompat/view/SupportMenuInflater;-><init>(Landroid/content/Context;)V
+HSPLandroidx/appcompat/view/WindowCallbackWrapper;-><init>(Landroid/view/Window$Callback;)V
+HSPLandroidx/appcompat/view/WindowCallbackWrapper;->dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
+HSPLandroidx/appcompat/view/WindowCallbackWrapper;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
+HSPLandroidx/appcompat/view/WindowCallbackWrapper;->getWrapped()Landroid/view/Window$Callback;
+HSPLandroidx/appcompat/view/WindowCallbackWrapper;->onAttachedToWindow()V
+HSPLandroidx/appcompat/view/WindowCallbackWrapper;->onCreatePanelMenu(ILandroid/view/Menu;)Z
+HSPLandroidx/appcompat/view/WindowCallbackWrapper;->onCreatePanelView(I)Landroid/view/View;
+HSPLandroidx/appcompat/view/WindowCallbackWrapper;->onPreparePanel(ILandroid/view/View;Landroid/view/Menu;)Z
+HSPLandroidx/appcompat/view/WindowCallbackWrapper;->onWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V
+HSPLandroidx/appcompat/view/WindowCallbackWrapper;->onWindowFocusChanged(Z)V
+HSPLandroidx/appcompat/view/menu/ActionMenuItem;-><init>(Landroid/content/Context;IIIILjava/lang/CharSequence;)V
+HSPLandroidx/appcompat/view/menu/BaseMenuPresenter;-><init>(Landroid/content/Context;II)V
+HSPLandroidx/appcompat/view/menu/BaseMenuPresenter;->initForMenu(Landroid/content/Context;Landroidx/appcompat/view/menu/MenuBuilder;)V
+HSPLandroidx/appcompat/view/menu/BaseMenuPresenter;->setCallback(Landroidx/appcompat/view/menu/MenuPresenter$Callback;)V
+HSPLandroidx/appcompat/view/menu/BaseMenuPresenter;->setId(I)V
+HSPLandroidx/appcompat/view/menu/BaseMenuPresenter;->updateMenuView(Z)V
+HSPLandroidx/appcompat/view/menu/MenuBuilder;-><clinit>()V
+HSPLandroidx/appcompat/view/menu/MenuBuilder;-><init>(Landroid/content/Context;)V
+HSPLandroidx/appcompat/view/menu/MenuBuilder;->addMenuPresenter(Landroidx/appcompat/view/menu/MenuPresenter;Landroid/content/Context;)V
+HSPLandroidx/appcompat/view/menu/MenuBuilder;->dispatchPresenterUpdate(Z)V
+HSPLandroidx/appcompat/view/menu/MenuBuilder;->flagActionItems()V
+HSPLandroidx/appcompat/view/menu/MenuBuilder;->getActionItems()Ljava/util/ArrayList;
+HSPLandroidx/appcompat/view/menu/MenuBuilder;->getNonActionItems()Ljava/util/ArrayList;
+HSPLandroidx/appcompat/view/menu/MenuBuilder;->getVisibleItems()Ljava/util/ArrayList;
+HSPLandroidx/appcompat/view/menu/MenuBuilder;->hasVisibleItems()Z
+HSPLandroidx/appcompat/view/menu/MenuBuilder;->onItemsChanged(Z)V
+HSPLandroidx/appcompat/view/menu/MenuBuilder;->setCallback(Landroidx/appcompat/view/menu/MenuBuilder$Callback;)V
+HSPLandroidx/appcompat/view/menu/MenuBuilder;->setOverrideVisibleItems(Z)V
+HSPLandroidx/appcompat/view/menu/MenuBuilder;->setQwertyMode(Z)V
+HSPLandroidx/appcompat/view/menu/MenuBuilder;->setShortcutsVisibleInner(Z)V
+HSPLandroidx/appcompat/view/menu/MenuBuilder;->size()I
+HSPLandroidx/appcompat/view/menu/MenuBuilder;->startDispatchingItemsChanged()V
+HSPLandroidx/appcompat/view/menu/MenuBuilder;->stopDispatchingItemsChanged()V
+HSPLandroidx/appcompat/widget/AbsActionBarView$VisibilityAnimListener;-><init>(Landroidx/appcompat/widget/AbsActionBarView;)V
+HSPLandroidx/appcompat/widget/AbsActionBarView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HSPLandroidx/appcompat/widget/ActionBarBackgroundDrawable;-><init>(Landroidx/appcompat/widget/ActionBarContainer;)V
+HSPLandroidx/appcompat/widget/ActionBarBackgroundDrawable;->draw(Landroid/graphics/Canvas;)V
+HSPLandroidx/appcompat/widget/ActionBarBackgroundDrawable;->getOpacity()I
+HSPLandroidx/appcompat/widget/ActionBarBackgroundDrawable;->getOutline(Landroid/graphics/Outline;)V
+HSPLandroidx/appcompat/widget/ActionBarContainer;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroidx/appcompat/widget/ActionBarContainer;->drawableStateChanged()V
+HSPLandroidx/appcompat/widget/ActionBarContainer;->jumpDrawablesToCurrentState()V
+HSPLandroidx/appcompat/widget/ActionBarContainer;->onFinishInflate()V
+HSPLandroidx/appcompat/widget/ActionBarContainer;->onLayout(ZIIII)V
+HSPLandroidx/appcompat/widget/ActionBarContainer;->onMeasure(II)V
+HSPLandroidx/appcompat/widget/ActionBarContainer;->setTabContainer(Landroidx/appcompat/widget/ScrollingTabContainerView;)V
+HSPLandroidx/appcompat/widget/ActionBarContextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroidx/appcompat/widget/ActionBarContextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout$1;-><init>(Landroidx/appcompat/widget/ActionBarOverlayLayout;)V
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout$2;-><init>(Landroidx/appcompat/widget/ActionBarOverlayLayout;)V
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout$3;-><init>(Landroidx/appcompat/widget/ActionBarOverlayLayout;)V
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;-><clinit>()V
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;->applyInsets(Landroid/view/View;Landroid/graphics/Rect;ZZZZ)Z
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroidx/appcompat/widget/ActionBarOverlayLayout$LayoutParams;
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;->getDecorToolbar(Landroid/view/View;)Landroidx/appcompat/widget/DecorToolbar;
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;->init(Landroid/content/Context;)V
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;->onLayout(ZIIII)V
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;->onMeasure(II)V
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;->onStartNestedScroll(Landroid/view/View;Landroid/view/View;I)Z
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;->onStartNestedScroll(Landroid/view/View;Landroid/view/View;II)Z
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;->onWindowVisibilityChanged(I)V
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;->pullChildren()V
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;->setActionBarVisibilityCallback(Landroidx/appcompat/widget/ActionBarOverlayLayout$ActionBarVisibilityCallback;)V
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;->setHasNonEmbeddedTabs(Z)V
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;->setMenu(Landroid/view/Menu;Landroidx/appcompat/view/menu/MenuPresenter$Callback;)V
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;->setMenuPrepared()V
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;->setWindowCallback(Landroid/view/Window$Callback;)V
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;->setWindowTitle(Ljava/lang/CharSequence;)V
+HSPLandroidx/appcompat/widget/ActionBarOverlayLayout;->shouldDelayChildPressedState()Z
+HSPLandroidx/appcompat/widget/ActionMenuPresenter$OverflowMenuButton$1;-><init>(Landroidx/appcompat/widget/ActionMenuPresenter$OverflowMenuButton;Landroid/view/View;Landroidx/appcompat/widget/ActionMenuPresenter;)V
+HSPLandroidx/appcompat/widget/ActionMenuPresenter$OverflowMenuButton;-><init>(Landroidx/appcompat/widget/ActionMenuPresenter;Landroid/content/Context;)V
+HSPLandroidx/appcompat/widget/ActionMenuPresenter$PopupPresenterCallback;-><init>(Landroidx/appcompat/widget/ActionMenuPresenter;)V
+HSPLandroidx/appcompat/widget/ActionMenuPresenter;-><init>(Landroid/content/Context;)V
+HSPLandroidx/appcompat/widget/ActionMenuPresenter;->flagActionItems()Z
+HSPLandroidx/appcompat/widget/ActionMenuPresenter;->initForMenu(Landroid/content/Context;Landroidx/appcompat/view/menu/MenuBuilder;)V
+HSPLandroidx/appcompat/widget/ActionMenuPresenter;->setExpandedActionViewsExclusive(Z)V
+HSPLandroidx/appcompat/widget/ActionMenuPresenter;->setMenuView(Landroidx/appcompat/widget/ActionMenuView;)V
+HSPLandroidx/appcompat/widget/ActionMenuPresenter;->updateMenuView(Z)V
+HSPLandroidx/appcompat/widget/ActionMenuView;-><init>(Landroid/content/Context;)V
+HSPLandroidx/appcompat/widget/ActionMenuView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroidx/appcompat/widget/ActionMenuView;->initialize(Landroidx/appcompat/view/menu/MenuBuilder;)V
+HSPLandroidx/appcompat/widget/ActionMenuView;->onLayout(ZIIII)V
+HSPLandroidx/appcompat/widget/ActionMenuView;->onMeasure(II)V
+HSPLandroidx/appcompat/widget/ActionMenuView;->peekMenu()Landroidx/appcompat/view/menu/MenuBuilder;
+HSPLandroidx/appcompat/widget/ActionMenuView;->setMenuCallbacks(Landroidx/appcompat/view/menu/MenuPresenter$Callback;Landroidx/appcompat/view/menu/MenuBuilder$Callback;)V
+HSPLandroidx/appcompat/widget/ActionMenuView;->setOnMenuItemClickListener(Landroidx/appcompat/widget/ActionMenuView$OnMenuItemClickListener;)V
+HSPLandroidx/appcompat/widget/ActionMenuView;->setOverflowReserved(Z)V
+HSPLandroidx/appcompat/widget/ActionMenuView;->setPopupTheme(I)V
+HSPLandroidx/appcompat/widget/ActionMenuView;->setPresenter(Landroidx/appcompat/widget/ActionMenuPresenter;)V
+HSPLandroidx/appcompat/widget/AppCompatBackgroundHelper;-><init>(Landroid/view/View;)V
+HSPLandroidx/appcompat/widget/AppCompatBackgroundHelper;->applySupportBackgroundTint()V
+HSPLandroidx/appcompat/widget/AppCompatBackgroundHelper;->loadFromAttributes(Landroid/util/AttributeSet;I)V
+HSPLandroidx/appcompat/widget/AppCompatBackgroundHelper;->shouldApplyFrameworkTintUsingColorFilter()Z
+HSPLandroidx/appcompat/widget/AppCompatButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroidx/appcompat/widget/AppCompatButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HSPLandroidx/appcompat/widget/AppCompatButton;->drawableStateChanged()V
+HSPLandroidx/appcompat/widget/AppCompatButton;->getEmojiTextViewHelper()Landroidx/appcompat/widget/AppCompatEmojiTextHelper;
+HSPLandroidx/appcompat/widget/AppCompatButton;->onInitializeAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
+HSPLandroidx/appcompat/widget/AppCompatButton;->onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V
+HSPLandroidx/appcompat/widget/AppCompatButton;->onLayout(ZIIII)V
+HSPLandroidx/appcompat/widget/AppCompatButton;->onTextChanged(Ljava/lang/CharSequence;III)V
+HSPLandroidx/appcompat/widget/AppCompatButton;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
+HSPLandroidx/appcompat/widget/AppCompatButton;->setFilters([Landroid/text/InputFilter;)V
+HSPLandroidx/appcompat/widget/AppCompatDrawableManager$1;-><init>()V
+HSPLandroidx/appcompat/widget/AppCompatDrawableManager$1;->arrayContains([II)Z
+HSPLandroidx/appcompat/widget/AppCompatDrawableManager$1;->createDrawableFor(Landroidx/appcompat/widget/ResourceManagerInternal;Landroid/content/Context;I)Landroid/graphics/drawable/Drawable;
+HSPLandroidx/appcompat/widget/AppCompatDrawableManager$1;->getTintListForDrawableRes(Landroid/content/Context;I)Landroid/content/res/ColorStateList;
+HSPLandroidx/appcompat/widget/AppCompatDrawableManager$1;->tintDrawable(Landroid/content/Context;ILandroid/graphics/drawable/Drawable;)Z
+HSPLandroidx/appcompat/widget/AppCompatDrawableManager$1;->tintDrawableUsingColorFilter(Landroid/content/Context;ILandroid/graphics/drawable/Drawable;)Z
+HSPLandroidx/appcompat/widget/AppCompatDrawableManager;-><clinit>()V
+HSPLandroidx/appcompat/widget/AppCompatDrawableManager;-><init>()V
+HSPLandroidx/appcompat/widget/AppCompatDrawableManager;->access$000()Landroid/graphics/PorterDuff$Mode;
+HSPLandroidx/appcompat/widget/AppCompatDrawableManager;->get()Landroidx/appcompat/widget/AppCompatDrawableManager;
+HSPLandroidx/appcompat/widget/AppCompatDrawableManager;->getDrawable(Landroid/content/Context;IZ)Landroid/graphics/drawable/Drawable;
+HSPLandroidx/appcompat/widget/AppCompatDrawableManager;->getTintList(Landroid/content/Context;I)Landroid/content/res/ColorStateList;
+HSPLandroidx/appcompat/widget/AppCompatDrawableManager;->preload()V
+HSPLandroidx/appcompat/widget/AppCompatEditText;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroidx/appcompat/widget/AppCompatEditText;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HSPLandroidx/appcompat/widget/AppCompatEditText;->drawableStateChanged()V
+HSPLandroidx/appcompat/widget/AppCompatEditText;->getText()Landroid/text/Editable;
+HSPLandroidx/appcompat/widget/AppCompatEditText;->getText()Ljava/lang/CharSequence;
+HSPLandroidx/appcompat/widget/AppCompatEditText;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
+HSPLandroidx/appcompat/widget/AppCompatEditText;->setKeyListener(Landroid/text/method/KeyListener;)V
+HSPLandroidx/appcompat/widget/AppCompatEmojiEditTextHelper;-><init>(Landroid/widget/EditText;)V
+HSPLandroidx/appcompat/widget/AppCompatEmojiEditTextHelper;->getKeyListener(Landroid/text/method/KeyListener;)Landroid/text/method/KeyListener;
+HSPLandroidx/appcompat/widget/AppCompatEmojiEditTextHelper;->initKeyListener()V
+HSPLandroidx/appcompat/widget/AppCompatEmojiEditTextHelper;->loadFromAttributes(Landroid/util/AttributeSet;I)V
+HSPLandroidx/appcompat/widget/AppCompatEmojiEditTextHelper;->setEnabled(Z)V
+HSPLandroidx/appcompat/widget/AppCompatEmojiTextHelper;-><init>(Landroid/widget/TextView;)V
+HSPLandroidx/appcompat/widget/AppCompatEmojiTextHelper;->getFilters([Landroid/text/InputFilter;)[Landroid/text/InputFilter;
+HSPLandroidx/appcompat/widget/AppCompatEmojiTextHelper;->loadFromAttributes(Landroid/util/AttributeSet;I)V
+HSPLandroidx/appcompat/widget/AppCompatEmojiTextHelper;->setEnabled(Z)V
+HSPLandroidx/appcompat/widget/AppCompatImageButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HSPLandroidx/appcompat/widget/AppCompatImageButton;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
+HSPLandroidx/appcompat/widget/AppCompatImageButton;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
+HSPLandroidx/appcompat/widget/AppCompatImageHelper;-><init>(Landroid/widget/ImageView;)V
+HSPLandroidx/appcompat/widget/AppCompatImageHelper;->applyImageLevel()V
+HSPLandroidx/appcompat/widget/AppCompatImageHelper;->applySupportImageTint()V
+HSPLandroidx/appcompat/widget/AppCompatImageHelper;->loadFromAttributes(Landroid/util/AttributeSet;I)V
+HSPLandroidx/appcompat/widget/AppCompatImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HSPLandroidx/appcompat/widget/AppCompatImageView;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
+HSPLandroidx/appcompat/widget/AppCompatImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
+HSPLandroidx/appcompat/widget/AppCompatTextClassifierHelper;-><init>(Landroid/widget/TextView;)V
+HSPLandroidx/appcompat/widget/AppCompatTextHelper$1;-><init>(Landroidx/appcompat/widget/AppCompatTextHelper;IILjava/lang/ref/WeakReference;)V
+HSPLandroidx/appcompat/widget/AppCompatTextHelper$1;->onFontRetrievalFailed(I)V
+HSPLandroidx/appcompat/widget/AppCompatTextHelper;-><init>(Landroid/widget/TextView;)V
+HSPLandroidx/appcompat/widget/AppCompatTextHelper;->applyCompoundDrawablesTints()V
+HSPLandroidx/appcompat/widget/AppCompatTextHelper;->createTintInfo(Landroid/content/Context;Landroidx/appcompat/widget/AppCompatDrawableManager;I)Landroidx/appcompat/widget/TintInfo;
+HSPLandroidx/appcompat/widget/AppCompatTextHelper;->loadFromAttributes(Landroid/util/AttributeSet;I)V
+HSPLandroidx/appcompat/widget/AppCompatTextHelper;->onLayout(ZIIII)V
+HSPLandroidx/appcompat/widget/AppCompatTextHelper;->onSetTextAppearance(Landroid/content/Context;I)V
+HSPLandroidx/appcompat/widget/AppCompatTextHelper;->setCompoundDrawables(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
+HSPLandroidx/appcompat/widget/AppCompatTextHelper;->updateTypefaceAndStyle(Landroid/content/Context;Landroidx/appcompat/widget/TintTypedArray;)V
+HSPLandroidx/appcompat/widget/AppCompatTextView;-><init>(Landroid/content/Context;)V
+HSPLandroidx/appcompat/widget/AppCompatTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroidx/appcompat/widget/AppCompatTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HSPLandroidx/appcompat/widget/AppCompatTextView;->consumeTextFutureAndSetBlocking()V
+HSPLandroidx/appcompat/widget/AppCompatTextView;->drawableStateChanged()V
+HSPLandroidx/appcompat/widget/AppCompatTextView;->getEmojiTextViewHelper()Landroidx/appcompat/widget/AppCompatEmojiTextHelper;
+HSPLandroidx/appcompat/widget/AppCompatTextView;->getText()Ljava/lang/CharSequence;
+HSPLandroidx/appcompat/widget/AppCompatTextView;->onLayout(ZIIII)V
+HSPLandroidx/appcompat/widget/AppCompatTextView;->onMeasure(II)V
+HSPLandroidx/appcompat/widget/AppCompatTextView;->onTextChanged(Ljava/lang/CharSequence;III)V
+HSPLandroidx/appcompat/widget/AppCompatTextView;->setCompoundDrawables(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
+HSPLandroidx/appcompat/widget/AppCompatTextView;->setCompoundDrawablesWithIntrinsicBounds(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
+HSPLandroidx/appcompat/widget/AppCompatTextView;->setFilters([Landroid/text/InputFilter;)V
+HSPLandroidx/appcompat/widget/AppCompatTextView;->setTextAppearance(Landroid/content/Context;I)V
+HSPLandroidx/appcompat/widget/AppCompatTextView;->setTypeface(Landroid/graphics/Typeface;I)V
+HSPLandroidx/appcompat/widget/AppCompatTextViewAutoSizeHelper$Impl23;-><init>()V
+HSPLandroidx/appcompat/widget/AppCompatTextViewAutoSizeHelper$Impl29;-><init>()V
+HSPLandroidx/appcompat/widget/AppCompatTextViewAutoSizeHelper$Impl;-><init>()V
+HSPLandroidx/appcompat/widget/AppCompatTextViewAutoSizeHelper;-><clinit>()V
+HSPLandroidx/appcompat/widget/AppCompatTextViewAutoSizeHelper;-><init>(Landroid/widget/TextView;)V
+HSPLandroidx/appcompat/widget/AppCompatTextViewAutoSizeHelper;->getAutoSizeTextType()I
+HSPLandroidx/appcompat/widget/AppCompatTextViewAutoSizeHelper;->loadFromAttributes(Landroid/util/AttributeSet;I)V
+HSPLandroidx/appcompat/widget/AppCompatTextViewAutoSizeHelper;->supportsAutoSizeText()Z
+HSPLandroidx/appcompat/widget/ContentFrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroidx/appcompat/widget/ContentFrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HSPLandroidx/appcompat/widget/ContentFrameLayout;->getMinWidthMajor()Landroid/util/TypedValue;
+HSPLandroidx/appcompat/widget/ContentFrameLayout;->getMinWidthMinor()Landroid/util/TypedValue;
+HSPLandroidx/appcompat/widget/ContentFrameLayout;->onAttachedToWindow()V
+HSPLandroidx/appcompat/widget/ContentFrameLayout;->onMeasure(II)V
+HSPLandroidx/appcompat/widget/ContentFrameLayout;->setAttachListener(Landroidx/appcompat/widget/ContentFrameLayout$OnAttachListener;)V
+HSPLandroidx/appcompat/widget/ContentFrameLayout;->setDecorPadding(IIII)V
+HSPLandroidx/appcompat/widget/ForwardingListener;-><init>(Landroid/view/View;)V
+HSPLandroidx/appcompat/widget/LinearLayoutCompat;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroidx/appcompat/widget/LinearLayoutCompat;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HSPLandroidx/appcompat/widget/LinearLayoutCompat;->getVirtualChildCount()I
+HSPLandroidx/appcompat/widget/LinearLayoutCompat;->layoutHorizontal(IIII)V
+HSPLandroidx/appcompat/widget/LinearLayoutCompat;->measureHorizontal(II)V
+HSPLandroidx/appcompat/widget/LinearLayoutCompat;->onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V
+HSPLandroidx/appcompat/widget/LinearLayoutCompat;->onLayout(ZIIII)V
+HSPLandroidx/appcompat/widget/LinearLayoutCompat;->onMeasure(II)V
+HSPLandroidx/appcompat/widget/LinearLayoutCompat;->setBaselineAligned(Z)V
+HSPLandroidx/appcompat/widget/LinearLayoutCompat;->setDividerDrawable(Landroid/graphics/drawable/Drawable;)V
+HSPLandroidx/appcompat/widget/RtlSpacingHelper;-><init>()V
+HSPLandroidx/appcompat/widget/RtlSpacingHelper;->getEnd()I
+HSPLandroidx/appcompat/widget/RtlSpacingHelper;->getStart()I
+HSPLandroidx/appcompat/widget/RtlSpacingHelper;->setAbsolute(II)V
+HSPLandroidx/appcompat/widget/RtlSpacingHelper;->setDirection(Z)V
+HSPLandroidx/appcompat/widget/RtlSpacingHelper;->setRelative(II)V
+HSPLandroidx/appcompat/widget/ThemeUtils;-><clinit>()V
+HSPLandroidx/appcompat/widget/ThemeUtils;->checkAppCompatTheme(Landroid/view/View;Landroid/content/Context;)V
+HSPLandroidx/appcompat/widget/TintContextWrapper;-><clinit>()V
+HSPLandroidx/appcompat/widget/TintContextWrapper;->shouldWrap(Landroid/content/Context;)Z
+HSPLandroidx/appcompat/widget/TintContextWrapper;->wrap(Landroid/content/Context;)Landroid/content/Context;
+HSPLandroidx/appcompat/widget/TintTypedArray;-><init>(Landroid/content/Context;Landroid/content/res/TypedArray;)V
+HSPLandroidx/appcompat/widget/TintTypedArray;->getBoolean(IZ)Z
+HSPLandroidx/appcompat/widget/TintTypedArray;->getColor(II)I
+HSPLandroidx/appcompat/widget/TintTypedArray;->getColorStateList(I)Landroid/content/res/ColorStateList;
+HSPLandroidx/appcompat/widget/TintTypedArray;->getDimension(IF)F
+HSPLandroidx/appcompat/widget/TintTypedArray;->getDimensionPixelOffset(II)I
+HSPLandroidx/appcompat/widget/TintTypedArray;->getDimensionPixelSize(II)I
+HSPLandroidx/appcompat/widget/TintTypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
+HSPLandroidx/appcompat/widget/TintTypedArray;->getDrawableIfKnown(I)Landroid/graphics/drawable/Drawable;
+HSPLandroidx/appcompat/widget/TintTypedArray;->getFloat(IF)F
+HSPLandroidx/appcompat/widget/TintTypedArray;->getFont(IILandroidx/core/content/res/ResourcesCompat$FontCallback;)Landroid/graphics/Typeface;
+HSPLandroidx/appcompat/widget/TintTypedArray;->getInt(II)I
+HSPLandroidx/appcompat/widget/TintTypedArray;->getInteger(II)I
+HSPLandroidx/appcompat/widget/TintTypedArray;->getLayoutDimension(II)I
+HSPLandroidx/appcompat/widget/TintTypedArray;->getResourceId(II)I
+HSPLandroidx/appcompat/widget/TintTypedArray;->getString(I)Ljava/lang/String;
+HSPLandroidx/appcompat/widget/TintTypedArray;->getText(I)Ljava/lang/CharSequence;
+HSPLandroidx/appcompat/widget/TintTypedArray;->getWrappedTypeArray()Landroid/content/res/TypedArray;
+HSPLandroidx/appcompat/widget/TintTypedArray;->hasValue(I)Z
+HSPLandroidx/appcompat/widget/TintTypedArray;->obtainStyledAttributes(Landroid/content/Context;I[I)Landroidx/appcompat/widget/TintTypedArray;
+HSPLandroidx/appcompat/widget/TintTypedArray;->obtainStyledAttributes(Landroid/content/Context;Landroid/util/AttributeSet;[I)Landroidx/appcompat/widget/TintTypedArray;
+HSPLandroidx/appcompat/widget/TintTypedArray;->obtainStyledAttributes(Landroid/content/Context;Landroid/util/AttributeSet;[III)Landroidx/appcompat/widget/TintTypedArray;
+HSPLandroidx/appcompat/widget/TintTypedArray;->recycle()V
+HSPLandroidx/appcompat/widget/Toolbar$$ExternalSyntheticLambda0;-><init>(Landroidx/appcompat/widget/Toolbar;)V
+HSPLandroidx/appcompat/widget/Toolbar$1;-><init>(Landroidx/appcompat/widget/Toolbar;)V
+HSPLandroidx/appcompat/widget/Toolbar$2;-><init>(Landroidx/appcompat/widget/Toolbar;)V
+HSPLandroidx/appcompat/widget/Toolbar$ExpandedActionViewMenuPresenter;-><init>(Landroidx/appcompat/widget/Toolbar;)V
+HSPLandroidx/appcompat/widget/Toolbar$ExpandedActionViewMenuPresenter;->flagActionItems()Z
+HSPLandroidx/appcompat/widget/Toolbar$ExpandedActionViewMenuPresenter;->initForMenu(Landroid/content/Context;Landroidx/appcompat/view/menu/MenuBuilder;)V
+HSPLandroidx/appcompat/widget/Toolbar$ExpandedActionViewMenuPresenter;->updateMenuView(Z)V
+HSPLandroidx/appcompat/widget/Toolbar$LayoutParams;-><init>(II)V
+HSPLandroidx/appcompat/widget/Toolbar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroidx/appcompat/widget/Toolbar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HSPLandroidx/appcompat/widget/Toolbar;->addCustomViewsWithGravity(Ljava/util/List;I)V
+HSPLandroidx/appcompat/widget/Toolbar;->addSystemView(Landroid/view/View;Z)V
+HSPLandroidx/appcompat/widget/Toolbar;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
+HSPLandroidx/appcompat/widget/Toolbar;->ensureContentInsets()V
+HSPLandroidx/appcompat/widget/Toolbar;->ensureMenuView()V
+HSPLandroidx/appcompat/widget/Toolbar;->ensureNavButtonView()V
+HSPLandroidx/appcompat/widget/Toolbar;->generateDefaultLayoutParams()Landroidx/appcompat/widget/Toolbar$LayoutParams;
+HSPLandroidx/appcompat/widget/Toolbar;->getChildTop(Landroid/view/View;I)I
+HSPLandroidx/appcompat/widget/Toolbar;->getChildVerticalGravity(I)I
+HSPLandroidx/appcompat/widget/Toolbar;->getContentInsetEnd()I
+HSPLandroidx/appcompat/widget/Toolbar;->getContentInsetStart()I
+HSPLandroidx/appcompat/widget/Toolbar;->getCurrentContentInsetEnd()I
+HSPLandroidx/appcompat/widget/Toolbar;->getCurrentContentInsetLeft()I
+HSPLandroidx/appcompat/widget/Toolbar;->getCurrentContentInsetRight()I
+HSPLandroidx/appcompat/widget/Toolbar;->getCurrentContentInsetStart()I
+HSPLandroidx/appcompat/widget/Toolbar;->getHorizontalMargins(Landroid/view/View;)I
+HSPLandroidx/appcompat/widget/Toolbar;->getNavigationContentDescription()Ljava/lang/CharSequence;
+HSPLandroidx/appcompat/widget/Toolbar;->getNavigationIcon()Landroid/graphics/drawable/Drawable;
+HSPLandroidx/appcompat/widget/Toolbar;->getSubtitle()Ljava/lang/CharSequence;
+HSPLandroidx/appcompat/widget/Toolbar;->getTitle()Ljava/lang/CharSequence;
+HSPLandroidx/appcompat/widget/Toolbar;->getVerticalMargins(Landroid/view/View;)I
+HSPLandroidx/appcompat/widget/Toolbar;->getViewListMeasuredWidth(Ljava/util/List;[I)I
+HSPLandroidx/appcompat/widget/Toolbar;->getWrapper()Landroidx/appcompat/widget/DecorToolbar;
+HSPLandroidx/appcompat/widget/Toolbar;->isChildOrHidden(Landroid/view/View;)Z
+HSPLandroidx/appcompat/widget/Toolbar;->layoutChildRight(Landroid/view/View;I[II)I
+HSPLandroidx/appcompat/widget/Toolbar;->measureChildCollapseMargins(Landroid/view/View;IIII[I)I
+HSPLandroidx/appcompat/widget/Toolbar;->measureChildConstrained(Landroid/view/View;IIIII)V
+HSPLandroidx/appcompat/widget/Toolbar;->onLayout(ZIIII)V
+HSPLandroidx/appcompat/widget/Toolbar;->onMeasure(II)V
+HSPLandroidx/appcompat/widget/Toolbar;->onRtlPropertiesChanged(I)V
+HSPLandroidx/appcompat/widget/Toolbar;->setCollapsible(Z)V
+HSPLandroidx/appcompat/widget/Toolbar;->setContentInsetsRelative(II)V
+HSPLandroidx/appcompat/widget/Toolbar;->setMenu(Landroidx/appcompat/view/menu/MenuBuilder;Landroidx/appcompat/widget/ActionMenuPresenter;)V
+HSPLandroidx/appcompat/widget/Toolbar;->setNavigationContentDescription(Ljava/lang/CharSequence;)V
+HSPLandroidx/appcompat/widget/Toolbar;->setNavigationIcon(Landroid/graphics/drawable/Drawable;)V
+HSPLandroidx/appcompat/widget/Toolbar;->setNavigationOnClickListener(Landroid/view/View$OnClickListener;)V
+HSPLandroidx/appcompat/widget/Toolbar;->setPopupTheme(I)V
+HSPLandroidx/appcompat/widget/Toolbar;->setSubtitle(Ljava/lang/CharSequence;)V
+HSPLandroidx/appcompat/widget/Toolbar;->setSubtitleTextAppearance(Landroid/content/Context;I)V
+HSPLandroidx/appcompat/widget/Toolbar;->setTitle(Ljava/lang/CharSequence;)V
+HSPLandroidx/appcompat/widget/Toolbar;->setTitleTextAppearance(Landroid/content/Context;I)V
+HSPLandroidx/appcompat/widget/Toolbar;->shouldCollapse()Z
+HSPLandroidx/appcompat/widget/Toolbar;->shouldLayout(Landroid/view/View;)Z
+HSPLandroidx/appcompat/widget/ToolbarWidgetWrapper$1;-><init>(Landroidx/appcompat/widget/ToolbarWidgetWrapper;)V
+HSPLandroidx/appcompat/widget/ToolbarWidgetWrapper;-><init>(Landroidx/appcompat/widget/Toolbar;Z)V
+HSPLandroidx/appcompat/widget/ToolbarWidgetWrapper;-><init>(Landroidx/appcompat/widget/Toolbar;ZII)V
+HSPLandroidx/appcompat/widget/ToolbarWidgetWrapper;->getContext()Landroid/content/Context;
+HSPLandroidx/appcompat/widget/ToolbarWidgetWrapper;->getDisplayOptions()I
+HSPLandroidx/appcompat/widget/ToolbarWidgetWrapper;->getNavigationMode()I
+HSPLandroidx/appcompat/widget/ToolbarWidgetWrapper;->setCollapsible(Z)V
+HSPLandroidx/appcompat/widget/ToolbarWidgetWrapper;->setDefaultNavigationContentDescription(I)V
+HSPLandroidx/appcompat/widget/ToolbarWidgetWrapper;->setDisplayOptions(I)V
+HSPLandroidx/appcompat/widget/ToolbarWidgetWrapper;->setEmbeddedTabView(Landroidx/appcompat/widget/ScrollingTabContainerView;)V
+HSPLandroidx/appcompat/widget/ToolbarWidgetWrapper;->setHomeButtonEnabled(Z)V
+HSPLandroidx/appcompat/widget/ToolbarWidgetWrapper;->setMenu(Landroid/view/Menu;Landroidx/appcompat/view/menu/MenuPresenter$Callback;)V
+HSPLandroidx/appcompat/widget/ToolbarWidgetWrapper;->setMenuPrepared()V
+HSPLandroidx/appcompat/widget/ToolbarWidgetWrapper;->setNavigationIcon(Landroid/graphics/drawable/Drawable;)V
+HSPLandroidx/appcompat/widget/ToolbarWidgetWrapper;->setTitleInt(Ljava/lang/CharSequence;)V
+HSPLandroidx/appcompat/widget/ToolbarWidgetWrapper;->setWindowCallback(Landroid/view/Window$Callback;)V
+HSPLandroidx/appcompat/widget/ToolbarWidgetWrapper;->setWindowTitle(Ljava/lang/CharSequence;)V
+HSPLandroidx/appcompat/widget/ToolbarWidgetWrapper;->updateNavigationIcon()V
+HSPLandroidx/appcompat/widget/TooltipCompat;->setTooltipText(Landroid/view/View;Ljava/lang/CharSequence;)V
+HSPLandroidx/appcompat/widget/VectorEnabledTintResources;-><clinit>()V
+HSPLandroidx/appcompat/widget/VectorEnabledTintResources;->isCompatVectorFromResourcesEnabled()Z
+HSPLandroidx/appcompat/widget/VectorEnabledTintResources;->shouldBeUsed()Z
+HSPLandroidx/appcompat/widget/ViewUtils;-><clinit>()V
+HSPLandroidx/appcompat/widget/ViewUtils;->isLayoutRtl(Landroid/view/View;)Z
+HSPLandroidx/appcompat/widget/ViewUtils;->makeOptionalFitsSystemWindows(Landroid/view/View;)V
+Landroidx/appcompat/R$attr;
+Landroidx/appcompat/R$bool;
+Landroidx/appcompat/R$drawable;
+Landroidx/appcompat/R$id;
+Landroidx/appcompat/R$layout;
+Landroidx/appcompat/R$string;
+Landroidx/appcompat/R$style;
+Landroidx/appcompat/R$styleable;
+Landroidx/appcompat/app/ActionBar$LayoutParams;
+Landroidx/appcompat/app/ActionBar;
+Landroidx/appcompat/app/ActionBarDrawerToggle$DelegateProvider;
+Landroidx/appcompat/app/AppCompatActivity$1;
+Landroidx/appcompat/app/AppCompatActivity$2;
+Landroidx/appcompat/app/AppCompatActivity;
+Landroidx/appcompat/app/AppCompatCallback;
+Landroidx/appcompat/app/AppCompatDelegate;
+Landroidx/appcompat/app/AppCompatDelegateImpl$2;
+Landroidx/appcompat/app/AppCompatDelegateImpl$3;
+Landroidx/appcompat/app/AppCompatDelegateImpl$5;
+Landroidx/appcompat/app/AppCompatDelegateImpl$ActionMenuPresenterCallback;
+Landroidx/appcompat/app/AppCompatDelegateImpl$Api17Impl;
+Landroidx/appcompat/app/AppCompatDelegateImpl$AppCompatWindowCallback;
+Landroidx/appcompat/app/AppCompatDelegateImpl$PanelFeatureState;
+Landroidx/appcompat/app/AppCompatDelegateImpl;
+Landroidx/appcompat/app/AppCompatViewInflater;
+Landroidx/appcompat/app/ToolbarActionBar;
+Landroidx/appcompat/app/WindowDecorActionBar$1;
+Landroidx/appcompat/app/WindowDecorActionBar$2;
+Landroidx/appcompat/app/WindowDecorActionBar$3;
+Landroidx/appcompat/app/WindowDecorActionBar;
+Landroidx/appcompat/content/res/AppCompatResources;
+Landroidx/appcompat/graphics/drawable/DrawableWrapper;
+Landroidx/appcompat/resources/R$drawable;
+Landroidx/appcompat/view/ActionBarPolicy;
+Landroidx/appcompat/view/ContextThemeWrapper;
+Landroidx/appcompat/view/SupportMenuInflater;
+Landroidx/appcompat/view/WindowCallbackWrapper;
+Landroidx/appcompat/view/menu/ActionMenuItem;
+Landroidx/appcompat/view/menu/BaseMenuPresenter;
+Landroidx/appcompat/view/menu/MenuBuilder$Callback;
+Landroidx/appcompat/view/menu/MenuBuilder$ItemInvoker;
+Landroidx/appcompat/view/menu/MenuBuilder;
+Landroidx/appcompat/view/menu/MenuPresenter$Callback;
+Landroidx/appcompat/view/menu/MenuPresenter;
+Landroidx/appcompat/view/menu/MenuView;
+Landroidx/appcompat/widget/AbsActionBarView$VisibilityAnimListener;
+Landroidx/appcompat/widget/AbsActionBarView;
+Landroidx/appcompat/widget/ActionBarBackgroundDrawable;
+Landroidx/appcompat/widget/ActionBarContainer;
+Landroidx/appcompat/widget/ActionBarContextView;
+Landroidx/appcompat/widget/ActionBarOverlayLayout$1;
+Landroidx/appcompat/widget/ActionBarOverlayLayout$2;
+Landroidx/appcompat/widget/ActionBarOverlayLayout$3;
+Landroidx/appcompat/widget/ActionBarOverlayLayout$ActionBarVisibilityCallback;
+Landroidx/appcompat/widget/ActionBarOverlayLayout$LayoutParams;
+Landroidx/appcompat/widget/ActionBarOverlayLayout;
+Landroidx/appcompat/widget/ActionMenuPresenter$OverflowMenuButton$1;
+Landroidx/appcompat/widget/ActionMenuPresenter$OverflowMenuButton;
+Landroidx/appcompat/widget/ActionMenuPresenter$PopupPresenterCallback;
+Landroidx/appcompat/widget/ActionMenuPresenter;
+Landroidx/appcompat/widget/ActionMenuView$ActionMenuChildView;
+Landroidx/appcompat/widget/ActionMenuView$OnMenuItemClickListener;
+Landroidx/appcompat/widget/ActionMenuView;
+Landroidx/appcompat/widget/AppCompatBackgroundHelper;
+Landroidx/appcompat/widget/AppCompatButton;
+Landroidx/appcompat/widget/AppCompatDrawableManager$1;
+Landroidx/appcompat/widget/AppCompatDrawableManager;
+Landroidx/appcompat/widget/AppCompatEditText;
+Landroidx/appcompat/widget/AppCompatEmojiEditTextHelper;
+Landroidx/appcompat/widget/AppCompatEmojiTextHelper;
+Landroidx/appcompat/widget/AppCompatImageButton;
+Landroidx/appcompat/widget/AppCompatImageHelper;
+Landroidx/appcompat/widget/AppCompatImageView;
+Landroidx/appcompat/widget/AppCompatTextClassifierHelper;
+Landroidx/appcompat/widget/AppCompatTextHelper$1;
+Landroidx/appcompat/widget/AppCompatTextHelper;
+Landroidx/appcompat/widget/AppCompatTextView;
+Landroidx/appcompat/widget/AppCompatTextViewAutoSizeHelper$Impl23;
+Landroidx/appcompat/widget/AppCompatTextViewAutoSizeHelper$Impl29;
+Landroidx/appcompat/widget/AppCompatTextViewAutoSizeHelper$Impl;
+Landroidx/appcompat/widget/AppCompatTextViewAutoSizeHelper;
+Landroidx/appcompat/widget/ContentFrameLayout$OnAttachListener;
+Landroidx/appcompat/widget/ContentFrameLayout;
+Landroidx/appcompat/widget/DecorContentParent;
+Landroidx/appcompat/widget/DecorToolbar;
+Landroidx/appcompat/widget/DrawableUtils;
+Landroidx/appcompat/widget/EmojiCompatConfigurationView;
+Landroidx/appcompat/widget/ForwardingListener;
+Landroidx/appcompat/widget/LinearLayoutCompat;
+Landroidx/appcompat/widget/ResourceManagerInternal$ColorFilterLruCache;
+Landroidx/appcompat/widget/ResourceManagerInternal$ResourceManagerHooks;
+Landroidx/appcompat/widget/ResourceManagerInternal;
+Landroidx/appcompat/widget/ResourcesWrapper;
+Landroidx/appcompat/widget/RtlSpacingHelper;
+Landroidx/appcompat/widget/ThemeUtils;
+Landroidx/appcompat/widget/TintContextWrapper;
+Landroidx/appcompat/widget/TintResources;
+Landroidx/appcompat/widget/TintTypedArray;
+Landroidx/appcompat/widget/Toolbar$$ExternalSyntheticLambda0;
+Landroidx/appcompat/widget/Toolbar$1;
+Landroidx/appcompat/widget/Toolbar$2;
+Landroidx/appcompat/widget/Toolbar$ExpandedActionViewMenuPresenter;
+Landroidx/appcompat/widget/Toolbar$LayoutParams;
+Landroidx/appcompat/widget/Toolbar;
+Landroidx/appcompat/widget/ToolbarWidgetWrapper$1;
+Landroidx/appcompat/widget/ToolbarWidgetWrapper;
+Landroidx/appcompat/widget/TooltipCompat;
+Landroidx/appcompat/widget/VectorEnabledTintResources;
+Landroidx/appcompat/widget/ViewUtils;
+PLandroidx/appcompat/app/ActionBar;->onDestroy()V
+PLandroidx/appcompat/app/AppCompatActivity;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
+PLandroidx/appcompat/app/AppCompatActivity;->getSupportActionBar()Landroidx/appcompat/app/ActionBar;
+PLandroidx/appcompat/app/AppCompatActivity;->onDestroy()V
+PLandroidx/appcompat/app/AppCompatActivity;->onKeyDown(ILandroid/view/KeyEvent;)Z
+PLandroidx/appcompat/app/AppCompatActivity;->onStop()V
+PLandroidx/appcompat/app/AppCompatActivity;->performMenuItemShortcut(Landroid/view/KeyEvent;)Z
+PLandroidx/appcompat/app/AppCompatDelegate;->removeActivityDelegate(Landroidx/appcompat/app/AppCompatDelegate;)V
+PLandroidx/appcompat/app/AppCompatDelegateImpl$5;->onDetachedFromWindow()V
+PLandroidx/appcompat/app/AppCompatDelegateImpl$ActionMenuPresenterCallback;->onCloseMenu(Landroidx/appcompat/view/menu/MenuBuilder;Z)V
+PLandroidx/appcompat/app/AppCompatDelegateImpl$AppCompatWindowCallback;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
+PLandroidx/appcompat/app/AppCompatDelegateImpl;->checkCloseActionMenu(Landroidx/appcompat/view/menu/MenuBuilder;)V
+PLandroidx/appcompat/app/AppCompatDelegateImpl;->cleanupAutoManagers()V
+PLandroidx/appcompat/app/AppCompatDelegateImpl;->dismissPopups()V
+PLandroidx/appcompat/app/AppCompatDelegateImpl;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
+PLandroidx/appcompat/app/AppCompatDelegateImpl;->endOnGoingFadeAnimation()V
+PLandroidx/appcompat/app/AppCompatDelegateImpl;->onBackPressed()Z
+PLandroidx/appcompat/app/AppCompatDelegateImpl;->onDestroy()V
+PLandroidx/appcompat/app/AppCompatDelegateImpl;->onKeyDown(ILandroid/view/KeyEvent;)Z
+PLandroidx/appcompat/app/AppCompatDelegateImpl;->onKeyUp(ILandroid/view/KeyEvent;)Z
+PLandroidx/appcompat/app/AppCompatDelegateImpl;->onStop()V
+PLandroidx/appcompat/app/WindowDecorActionBar;->collapseActionView()Z
+PLandroidx/appcompat/view/WindowCallbackWrapper;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
+PLandroidx/appcompat/view/WindowCallbackWrapper;->onDetachedFromWindow()V
+PLandroidx/appcompat/view/menu/BaseMenuPresenter;->onCloseMenu(Landroidx/appcompat/view/menu/MenuBuilder;Z)V
+PLandroidx/appcompat/view/menu/MenuBuilder;->close()V
+PLandroidx/appcompat/view/menu/MenuBuilder;->close(Z)V
+PLandroidx/appcompat/widget/ActionBarContainer;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
+PLandroidx/appcompat/widget/ActionBarContextView;->onDetachedFromWindow()V
+PLandroidx/appcompat/widget/ActionBarOverlayLayout;->dismissPopups()V
+PLandroidx/appcompat/widget/ActionBarOverlayLayout;->haltActionBarHideOffsetAnimations()V
+PLandroidx/appcompat/widget/ActionBarOverlayLayout;->onDetachedFromWindow()V
+PLandroidx/appcompat/widget/ActionMenuPresenter;->dismissPopupMenus()Z
+PLandroidx/appcompat/widget/ActionMenuPresenter;->hideOverflowMenu()Z
+PLandroidx/appcompat/widget/ActionMenuPresenter;->hideSubMenus()Z
+PLandroidx/appcompat/widget/ActionMenuPresenter;->onCloseMenu(Landroidx/appcompat/view/menu/MenuBuilder;Z)V
+PLandroidx/appcompat/widget/ActionMenuView;->dismissPopupMenus()V
+PLandroidx/appcompat/widget/ActionMenuView;->onDetachedFromWindow()V
+PLandroidx/appcompat/widget/ContentFrameLayout;->onDetachedFromWindow()V
+PLandroidx/appcompat/widget/Toolbar$ExpandedActionViewMenuPresenter;->onCloseMenu(Landroidx/appcompat/view/menu/MenuBuilder;Z)V
+PLandroidx/appcompat/widget/Toolbar;->dismissPopupMenus()V
+PLandroidx/appcompat/widget/Toolbar;->hasExpandedActionView()Z
+PLandroidx/appcompat/widget/Toolbar;->onDetachedFromWindow()V
+PLandroidx/appcompat/widget/ToolbarWidgetWrapper;->dismissPopupMenus()V
+PLandroidx/appcompat/widget/ToolbarWidgetWrapper;->hasExpandedActionView()Z
diff --git a/appcompat/integration-tests/receive-content-testapp/lint-baseline.xml b/appcompat/integration-tests/receive-content-testapp/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/appcompat/integration-tests/receive-content-testapp/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/appsearch/appsearch-debug-view/lint-baseline.xml b/appsearch/appsearch-debug-view/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/appsearch/appsearch-debug-view/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/appsearch/appsearch-debug-view/samples/lint-baseline.xml b/appsearch/appsearch-debug-view/samples/lint-baseline.xml
index 6ee30d3..6e19f6d 100644
--- a/appsearch/appsearch-debug-view/samples/lint-baseline.xml
+++ b/appsearch/appsearch-debug-view/samples/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha07" type="baseline" client="gradle" dependencies="true" name="AGP (7.1.0-alpha07)" variant="all" version="7.1.0-alpha07">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="WrongConstant"
@@ -239,7 +239,7 @@
         errorLine2="                                               ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appsearch/platformstorage/SearchResultsImpl.java"
-            line="71"
+            line="90"
             column="48"/>
     </issue>
 
diff --git a/appsearch/appsearch-ktx/lint-baseline.xml b/appsearch/appsearch-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/appsearch/appsearch-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/appsearch/appsearch-local-storage/lint-baseline.xml b/appsearch/appsearch-local-storage/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/appsearch/appsearch-local-storage/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/appsearch/appsearch-platform-storage/lint-baseline.xml b/appsearch/appsearch-platform-storage/lint-baseline.xml
index 44550f6..5782d48 100644
--- a/appsearch/appsearch-platform-storage/lint-baseline.xml
+++ b/appsearch/appsearch-platform-storage/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
         id="NewApi"
diff --git a/appsearch/appsearch-test-util/lint-baseline.xml b/appsearch/appsearch-test-util/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/appsearch/appsearch-test-util/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/appsearch/appsearch/build.gradle b/appsearch/appsearch/build.gradle
index 49708af..3f29de2 100644
--- a/appsearch/appsearch/build.gradle
+++ b/appsearch/appsearch/build.gradle
@@ -31,6 +31,7 @@
 
 dependencies {
     api('androidx.annotation:annotation:1.1.0')
+    api(libs.guavaListenableFuture)
 
     implementation('androidx.concurrent:concurrent-futures:1.0.0')
     implementation('androidx.core:core:1.2.0')
diff --git a/appsearch/appsearch/lint-baseline.xml b/appsearch/appsearch/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/appsearch/appsearch/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/appsearch/compiler/lint-baseline.xml b/appsearch/compiler/lint-baseline.xml
index 01adaec..0867719 100644
--- a/appsearch/compiler/lint-baseline.xml
+++ b/appsearch/compiler/lint-baseline.xml
@@ -1,15 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @Override"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/appsearch/compiler/AppSearchCompiler.java"
-            line="58"
-            column="5"/>
-    </issue>
+<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>
diff --git a/arch/core/core-common/lint-baseline.xml b/arch/core/core-common/lint-baseline.xml
index 78f729e..0465e22 100644
--- a/arch/core/core-common/lint-baseline.xml
+++ b/arch/core/core-common/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="UnknownNullness"
diff --git a/arch/core/core-runtime/lint-baseline.xml b/arch/core/core-runtime/lint-baseline.xml
index f2a45eb..6f8c600 100644
--- a/arch/core/core-runtime/lint-baseline.xml
+++ b/arch/core/core-runtime/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ClassVerificationFailure"
diff --git a/arch/core/core-testing/lint-baseline.xml b/arch/core/core-testing/lint-baseline.xml
index 1438e70..b15ce50 100644
--- a/arch/core/core-testing/lint-baseline.xml
+++ b/arch/core/core-testing/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="UnknownNullness"
diff --git a/asynclayoutinflater/asynclayoutinflater/lint-baseline.xml b/asynclayoutinflater/asynclayoutinflater/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/asynclayoutinflater/asynclayoutinflater/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/autofill/autofill/lint-baseline.xml b/autofill/autofill/lint-baseline.xml
index f97aac0..b9b1e38 100644
--- a/autofill/autofill/lint-baseline.xml
+++ b/autofill/autofill/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ClassVerificationFailure"
diff --git a/benchmark/benchmark-common/lint-baseline.xml b/benchmark/benchmark-common/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/benchmark/benchmark-common/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/benchmark/benchmark-junit4/lint-baseline.xml b/benchmark/benchmark-junit4/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/benchmark/benchmark-junit4/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/benchmark/benchmark-macro-junit4/api/restricted_1.1.0-beta01.txt b/benchmark/benchmark-macro-junit4/api/restricted_1.1.0-beta01.txt
index cdd2265..05cc38e 100644
--- a/benchmark/benchmark-macro-junit4/api/restricted_1.1.0-beta01.txt
+++ b/benchmark/benchmark-macro-junit4/api/restricted_1.1.0-beta01.txt
@@ -1,6 +1,11 @@
 // Signature format: 4.0
 package androidx.benchmark.macro.junit4 {
 
+  @RequiresApi(28) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class BaselineProfileRule implements org.junit.rules.TestRule {
+    method public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description description);
+    method public void collectBaselineProfile(String packageName, optional kotlin.jvm.functions.Function1<? super androidx.benchmark.macro.MacrobenchmarkScope,kotlin.Unit> setupBlock, kotlin.jvm.functions.Function1<? super androidx.benchmark.macro.MacrobenchmarkScope,kotlin.Unit> profileBlock);
+  }
+
   @RequiresApi(23) public final class MacrobenchmarkRule implements org.junit.rules.TestRule {
     ctor public MacrobenchmarkRule();
     method public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description description);
diff --git a/benchmark/benchmark-macro-junit4/api/restricted_current.txt b/benchmark/benchmark-macro-junit4/api/restricted_current.txt
index cdd2265..05cc38e 100644
--- a/benchmark/benchmark-macro-junit4/api/restricted_current.txt
+++ b/benchmark/benchmark-macro-junit4/api/restricted_current.txt
@@ -1,6 +1,11 @@
 // Signature format: 4.0
 package androidx.benchmark.macro.junit4 {
 
+  @RequiresApi(28) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class BaselineProfileRule implements org.junit.rules.TestRule {
+    method public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description description);
+    method public void collectBaselineProfile(String packageName, optional kotlin.jvm.functions.Function1<? super androidx.benchmark.macro.MacrobenchmarkScope,kotlin.Unit> setupBlock, kotlin.jvm.functions.Function1<? super androidx.benchmark.macro.MacrobenchmarkScope,kotlin.Unit> profileBlock);
+  }
+
   @RequiresApi(23) public final class MacrobenchmarkRule implements org.junit.rules.TestRule {
     ctor public MacrobenchmarkRule();
     method public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description description);
diff --git a/benchmark/benchmark-macro-junit4/lint-baseline.xml b/benchmark/benchmark-macro-junit4/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/benchmark/benchmark-macro-junit4/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/benchmark/benchmark-macro-junit4/src/main/java/androidx/benchmark/macro/junit4/BaselineProfileRule.kt b/benchmark/benchmark-macro-junit4/src/main/java/androidx/benchmark/macro/junit4/BaselineProfileRule.kt
index 912c9e8..1fc9aa2 100644
--- a/benchmark/benchmark-macro-junit4/src/main/java/androidx/benchmark/macro/junit4/BaselineProfileRule.kt
+++ b/benchmark/benchmark-macro-junit4/src/main/java/androidx/benchmark/macro/junit4/BaselineProfileRule.kt
@@ -33,7 +33,8 @@
  * @suppress
  */
 @RequiresApi(28)
-@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
+// Ideally we want to restrict this to tests, but this is the next best thing.
+@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP_PREFIX)
 class BaselineProfileRule : TestRule {
     private lateinit var currentDescription: Description
 
diff --git a/benchmark/benchmark-macro/api/restricted_1.1.0-beta01.txt b/benchmark/benchmark-macro/api/restricted_1.1.0-beta01.txt
index 2f039ee..4a59db7 100644
--- a/benchmark/benchmark-macro/api/restricted_1.1.0-beta01.txt
+++ b/benchmark/benchmark-macro/api/restricted_1.1.0-beta01.txt
@@ -5,6 +5,7 @@
   }
 
   public final class BaselineProfilesKt {
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static void collectBaselineProfile(String uniqueName, String packageName, kotlin.jvm.functions.Function1<? super androidx.benchmark.macro.MacrobenchmarkScope,kotlin.Unit> setupBlock, kotlin.jvm.functions.Function1<? super androidx.benchmark.macro.MacrobenchmarkScope,kotlin.Unit> profileBlock);
   }
 
   public abstract sealed class CompilationMode {
diff --git a/benchmark/benchmark-macro/api/restricted_current.txt b/benchmark/benchmark-macro/api/restricted_current.txt
index 2f039ee..4a59db7 100644
--- a/benchmark/benchmark-macro/api/restricted_current.txt
+++ b/benchmark/benchmark-macro/api/restricted_current.txt
@@ -5,6 +5,7 @@
   }
 
   public final class BaselineProfilesKt {
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static void collectBaselineProfile(String uniqueName, String packageName, kotlin.jvm.functions.Function1<? super androidx.benchmark.macro.MacrobenchmarkScope,kotlin.Unit> setupBlock, kotlin.jvm.functions.Function1<? super androidx.benchmark.macro.MacrobenchmarkScope,kotlin.Unit> profileBlock);
   }
 
   public abstract sealed class CompilationMode {
diff --git a/benchmark/benchmark-macro/lint-baseline.xml b/benchmark/benchmark-macro/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/benchmark/benchmark-macro/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/BaselineProfiles.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/BaselineProfiles.kt
index e4f60641..1fbcbe4 100644
--- a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/BaselineProfiles.kt
+++ b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/BaselineProfiles.kt
@@ -45,7 +45,7 @@
  *
  * @suppress
  */
-@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
+@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP_PREFIX)
 fun collectBaselineProfile(
     uniqueName: String,
     packageName: String,
diff --git a/benchmark/benchmark/lint-baseline.xml b/benchmark/benchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/benchmark/benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/benchmark/gradle-plugin/lint-baseline.xml b/benchmark/gradle-plugin/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/benchmark/gradle-plugin/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/benchmark/integration-tests/dry-run-benchmark/lint-baseline.xml b/benchmark/integration-tests/dry-run-benchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/benchmark/integration-tests/dry-run-benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/benchmark/integration-tests/macrobenchmark-target/lint-baseline.xml b/benchmark/integration-tests/macrobenchmark-target/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/benchmark/integration-tests/macrobenchmark-target/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/benchmark/integration-tests/macrobenchmark/lint-baseline.xml b/benchmark/integration-tests/macrobenchmark/lint-baseline.xml
index 88e5728..0867719 100644
--- a/benchmark/integration-tests/macrobenchmark/lint-baseline.xml
+++ b/benchmark/integration-tests/macrobenchmark/lint-baseline.xml
@@ -1,48 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
-        errorLine1="    val benchmarkRule = MacrobenchmarkRule()"
-        errorLine2="                        ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/benchmark/integration/macrobenchmark/SmallListStartupBenchmark.kt"
-            line="37"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 28): `measureStartup`"
-        errorLine1="    fun startup() = benchmarkRule.measureStartup("
-        errorLine2="                                  ~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/benchmark/integration/macrobenchmark/SmallListStartupBenchmark.kt"
-            line="40"
-            column="35"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
-        errorLine1="    val benchmarkRule = MacrobenchmarkRule()"
-        errorLine2="                        ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/benchmark/integration/macrobenchmark/TrivialStartupBenchmark.kt"
-            line="37"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 28): `measureStartup`"
-        errorLine1="    fun startup() = benchmarkRule.measureStartup("
-        errorLine2="                                  ~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/benchmark/integration/macrobenchmark/TrivialStartupBenchmark.kt"
-            line="40"
-            column="35"/>
-    </issue>
+<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>
diff --git a/benchmark/integration-tests/startup-benchmark/lint-baseline.xml b/benchmark/integration-tests/startup-benchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/benchmark/integration-tests/startup-benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/biometric/biometric-ktx/lint-baseline.xml b/biometric/biometric-ktx/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/biometric/biometric-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/biometric/biometric-ktx/samples/lint-baseline.xml b/biometric/biometric-ktx/samples/lint-baseline.xml
index 50b37a7..14fef0a 100644
--- a/biometric/biometric-ktx/samples/lint-baseline.xml
+++ b/biometric/biometric-ktx/samples/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha07" type="baseline" client="gradle" dependencies="true" name="AGP (7.1.0-alpha07)" variant="all" version="7.1.0-alpha07">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="WrongConstant"
diff --git a/biometric/integration-tests/testapp/lint-baseline.xml b/biometric/integration-tests/testapp/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/biometric/integration-tests/testapp/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/buildSrc-tests/lint-baseline.xml b/buildSrc-tests/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/buildSrc-tests/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/buildSrc-tests/project-subsets/lint-baseline.xml b/buildSrc-tests/project-subsets/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/buildSrc-tests/project-subsets/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/LintConfiguration.kt b/buildSrc/private/src/main/kotlin/androidx/build/LintConfiguration.kt
index 92d339f..38d3c51 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/LintConfiguration.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/LintConfiguration.kt
@@ -212,6 +212,7 @@
                 fatal("KotlinPropertyAccess")
                 fatal("LambdaLast")
                 fatal("UnknownNullness")
+                fatal("SupportAnnotationUsage")
 
                 // Only override if not set explicitly.
                 // Some Kotlin projects may wish to disable this.
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/java/JavaCompileInputs.kt b/buildSrc/private/src/main/kotlin/androidx/build/java/JavaCompileInputs.kt
index 5138c91..9fdedb5 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/java/JavaCompileInputs.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/java/JavaCompileInputs.kt
@@ -80,7 +80,7 @@
                 sourceSets
                     .filter { it.name.contains("main", ignoreCase = true) }
                     // TODO(igotti): come up with better filtering for non-Android sources.
-                    .filterNot { it.name == "desktopMain" }
+                    .filterNot { it.name == "desktopMain" || it.name == "skikoMain" }
                     .flatMap { it.kotlin.sourceDirectories }
                     .also { require(it.isNotEmpty()) }
             } ?: project.provider {
diff --git a/buildSrc/public/src/main/kotlin/androidx/build/LibraryVersions.kt b/buildSrc/public/src/main/kotlin/androidx/build/LibraryVersions.kt
index 0503209..726ade6 100644
--- a/buildSrc/public/src/main/kotlin/androidx/build/LibraryVersions.kt
+++ b/buildSrc/public/src/main/kotlin/androidx/build/LibraryVersions.kt
@@ -30,7 +30,7 @@
     val ASYNCLAYOUTINFLATER = Version("1.1.0-alpha01")
     val AUTOFILL = Version("1.2.0-beta02")
     val BENCHMARK = Version("1.1.0-beta01")
-    val BIOMETRIC = Version("1.2.0-alpha03")
+    val BIOMETRIC = Version("1.2.0-alpha04")
     val BROWSER = Version("1.4.0-rc01")
     val BUILDSRC_TESTS = Version("1.0.0-alpha01")
     val CAMERA = Version("1.1.0-alpha10")
@@ -139,8 +139,8 @@
     val WEAR_ONGOING = Version("1.1.0-alpha01")
     val WEAR_PHONE_INTERACTIONS = Version("1.1.0-alpha02")
     val WEAR_REMOTE_INTERACTIONS = Version("1.1.0-alpha01")
-    val WEAR_TILES = Version("1.0.0-beta01")
-    val WEAR_WATCHFACE = Version("1.0.0-alpha24")
+    val WEAR_TILES = Version("1.0.0-rc01")
+    val WEAR_WATCHFACE = Version("1.0.0-beta01")
     val WEBKIT = Version("1.5.0-alpha01")
     val WINDOW = Version("1.0.0-beta03")
     val WINDOW_EXTENSIONS = Version("1.0.0-alpha01")
diff --git a/camera/camera-camera2-pipe-integration/lint-baseline.xml b/camera/camera-camera2-pipe-integration/lint-baseline.xml
index 740583b..e29092f 100644
--- a/camera/camera-camera2-pipe-integration/lint-baseline.xml
+++ b/camera/camera-camera2-pipe-integration/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
         id="SupportAnnotationUsage"
@@ -8,8 +8,63 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/pipe/integration/interop/Camera2CameraControl.kt"
-            line="54"
+            line="56"
             column="5"/>
     </issue>
 
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="@RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/pipe/integration/compat/EvCompCompat.kt"
+            line="71"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="@RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/pipe/integration/impl/EvCompControl.kt"
+            line="44"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="@RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/pipe/integration/adapter/ExposureStateAdapter.kt"
+            line="34"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/pipe/integration/impl/FocusMeteringControl.kt"
+            line="92"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="@RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/pipe/integration/impl/MeteringRepeating.kt"
+            line="53"
+            column="1"/>
+    </issue>
+
 </issues>
diff --git a/camera/camera-camera2-pipe-testing/lint-baseline.xml b/camera/camera-camera2-pipe-testing/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/camera/camera-camera2-pipe-testing/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/camera/camera-camera2-pipe/lint-baseline.xml b/camera/camera-camera2-pipe/lint-baseline.xml
index 72e3568..90374b3 100644
--- a/camera/camera-camera2-pipe/lint-baseline.xml
+++ b/camera/camera-camera2-pipe/lint-baseline.xml
@@ -1,15 +1,147 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
-        id="NewApi"
-        message="Call requires API level 23 (current min is 21): `android.hardware.camera2.CameraDevice#createReprocessCaptureRequest`"
-        errorLine1="        return fakeCamera.cameraDevice.createReprocessCaptureRequest(inputResult)"
-        errorLine2="                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="@RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="~~~~~~~~~~~~~~~~">
         <location
-            file="src/test/java/androidx/camera/camera2/pipe/testing/FakeCameraDeviceWrapper.kt"
-            line="51"
-            column="40"/>
+            file="src/main/java/androidx/camera/camera2/pipe/compat/Camera2RequestProcessor.kt"
+            line="77"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="@RequiresApi(21)"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/pipe/compat/Camera2RequestProcessor.kt"
+            line="370"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="@RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/pipe/compat/CameraDeviceWrapper.kt"
+            line="125"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/pipe/CameraGraph.kt"
+            line="127"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="@RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/pipe/compat/CaptureSessionWrapper.kt"
+            line="178"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="@RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/pipe/compat/CaptureSessionWrapper.kt"
+            line="237"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/pipe/compat/Configuration.kt"
+            line="129"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="@RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/pipe/core/Debug.kt"
+            line="36"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="@RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/pipe/compat/FrameMetadata.kt"
+            line="37"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="@RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/pipe/compat/FrameMetadata.kt"
+            line="93"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="@RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/pipe/core/Timestamps.kt"
+            line="49"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="@RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/pipe/compat/VirtualCamera.kt"
+            line="167"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="@RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/pipe/compat/VirtualCameraManager.kt"
+            line="63"
+            column="1"/>
     </issue>
 
 </issues>
diff --git a/camera/camera-camera2/lint-baseline.xml b/camera/camera-camera2/lint-baseline.xml
index 9212724..7211f00 100644
--- a/camera/camera-camera2/lint-baseline.xml
+++ b/camera/camera-camera2/lint-baseline.xml
@@ -1,533 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 28 (current min is 21): `android.hardware.camera2.CameraCaptureSession#captureBurstRequests`"
-        errorLine1="        verify(mCaptureSession, times(1)).captureBurstRequests(any(List.class),"
-        errorLine2="                                          ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/CameraCaptureSessionCompatTest.java"
-            line="83"
-            column="43"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 28 (current min is 21): `android.hardware.camera2.CameraCaptureSession#captureSingleRequest`"
-        errorLine1="        verify(mCaptureSession, times(1)).captureSingleRequest(any(CaptureRequest.class),"
-        errorLine2="                                          ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/CameraCaptureSessionCompatTest.java"
-            line="110"
-            column="43"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 28 (current min is 21): `android.hardware.camera2.CameraCaptureSession#setRepeatingBurstRequests`"
-        errorLine1="        verify(mCaptureSession, times(1)).setRepeatingBurstRequests(any(List.class),"
-        errorLine2="                                          ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/CameraCaptureSessionCompatTest.java"
-            line="140"
-            column="43"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 28 (current min is 21): `android.hardware.camera2.CameraCaptureSession#setSingleRepeatingRequest`"
-        errorLine1="        verify(mCaptureSession, times(1)).setSingleRepeatingRequest(any(CaptureRequest.class),"
-        errorLine2="                                          ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/CameraCaptureSessionCompatTest.java"
-            line="168"
-            column="43"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 24 (current min is 21): `android.hardware.camera2.CameraDevice#createCaptureSessionByOutputConfigurations`"
-        errorLine1="        verify(mCameraDevice, times(1)).createCaptureSessionByOutputConfigurations("
-        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
-            line="105"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 28 (current min is 21): `android.hardware.camera2.CameraDevice#createCaptureSession`"
-        errorLine1="        verify(mCameraDevice, times(1)).createCaptureSession("
-        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
-            line="124"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Class requires API level 28 (current min is 21): `android.hardware.camera2.params.SessionConfiguration`"
-        errorLine1="                any(SessionConfiguration.class));"
-        errorLine2="                    ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
-            line="125"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Class requires API level 23 (current min is 21): `android.hardware.camera2.params.InputConfiguration`"
-        errorLine1="                InputConfigurationCompat.wrap(mock(InputConfiguration.class))));"
-        errorLine2="                                                   ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
-            line="168"
-            column="52"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 23 (current min is 21): `android.hardware.camera2.CameraDevice#createReprocessableCaptureSession`"
-        errorLine1="        verify(mCameraDevice, times(1)).createReprocessableCaptureSession("
-        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
-            line="173"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Class requires API level 23 (current min is 21): `android.hardware.camera2.params.InputConfiguration`"
-        errorLine1="                any(InputConfiguration.class),"
-        errorLine2="                    ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
-            line="174"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Class requires API level 23 (current min is 21): `android.hardware.camera2.params.InputConfiguration`"
-        errorLine1="                InputConfigurationCompat.wrap(mock(InputConfiguration.class))));"
-        errorLine2="                                                   ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
-            line="193"
-            column="52"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 24 (current min is 21): `android.hardware.camera2.CameraDevice#createReprocessableCaptureSessionByConfigurations`"
-        errorLine1="        verify(mCameraDevice, times(1)).createReprocessableCaptureSessionByConfigurations("
-        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
-            line="198"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Class requires API level 23 (current min is 21): `android.hardware.camera2.params.InputConfiguration`"
-        errorLine1="                any(InputConfiguration.class),"
-        errorLine2="                    ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
-            line="199"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 23 (current min is 21): `android.hardware.camera2.CameraDevice#createConstrainedHighSpeedCaptureSession`"
-        errorLine1="        verify(mCameraDevice, times(1)).createConstrainedHighSpeedCaptureSession("
-        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatTest.java"
-            line="218"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
-        errorLine1="                CaptureRequest.CONTROL_ENABLE_ZSL, null))"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
-            line="104"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
-        errorLine1="                CaptureRequest.CONTROL_ENABLE_ZSL, null))"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
-            line="122"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
-        errorLine1="                CaptureRequest.CONTROL_ENABLE_ZSL, null))"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
-            line="140"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
-        errorLine1="                CaptureRequest.CONTROL_ENABLE_ZSL, null))"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
-            line="158"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
-        errorLine1="                CaptureRequest.CONTROL_ENABLE_ZSL, null))"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
-            line="176"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
-        errorLine1="                CaptureRequest.CONTROL_ENABLE_ZSL, null))"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
-            line="194"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
-        errorLine1="                CaptureRequest.CONTROL_ENABLE_ZSL, null))"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
-            line="212"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
-        errorLine1="                CaptureRequest.CONTROL_ENABLE_ZSL, null))"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
-            line="230"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
-        errorLine1="                CaptureRequest.CONTROL_ENABLE_ZSL, null))"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
-            line="248"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
-        errorLine1="                CaptureRequest.CONTROL_ENABLE_ZSL, null))"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
-            line="266"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 26 (current min is 21): `android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL`"
-        errorLine1="                CaptureRequest.CONTROL_ENABLE_ZSL, null))"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpackerTest.java"
-            line="284"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 23 (current min is 21): `new android.hardware.camera2.params.InputConfiguration`"
-        errorLine1="        InputConfiguration inputConfig = new InputConfiguration(WIDTH, HEIGHT, FORMAT);"
-        errorLine2="                                         ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/params/InputConfigurationCompatTest.java"
-            line="52"
-            column="42"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 23 (current min is 21): `new android.hardware.camera2.params.InputConfiguration`"
-        errorLine1="        InputConfiguration config = new InputConfiguration(WIDTH, HEIGHT, FORMAT);"
-        errorLine2="                                    ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/params/InputConfigurationCompatTest.java"
-            line="84"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 23 (current min is 21): `new android.hardware.camera2.params.InputConfiguration`"
-        errorLine1="        InputConfiguration config = new InputConfiguration(WIDTH, HEIGHT, FORMAT);"
-        errorLine2="                                    ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/params/InputConfigurationCompatTest.java"
-            line="96"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Class requires API level 24 (current min is 21): `android.hardware.camera2.params.OutputConfiguration`"
-        errorLine1="        assertThat(outputConfig).isInstanceOf(OutputConfiguration.class);"
-        errorLine2="                                              ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatTest.java"
-            line="172"
-            column="47"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 24 (current min is 21): `new android.hardware.camera2.params.OutputConfiguration`"
-        errorLine1="        OutputConfiguration outputConfig = new OutputConfiguration(surface);"
-        errorLine2="                                           ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatTest.java"
-            line="179"
-            column="44"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 24 (current min is 21): `new android.hardware.camera2.params.OutputConfiguration`"
-        errorLine1="        OutputConfiguration outputConfig = new OutputConfiguration(TEST_GROUP_ID, surface);"
-        errorLine2="                                           ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatTest.java"
-            line="189"
-            column="44"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 26 (current min is 21): `OutputConfigurationCompat`"
-        errorLine1="        OutputConfigurationCompat outputConfigCompat = new OutputConfigurationCompat("
-        errorLine2="                                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatTest.java"
-            line="198"
-            column="56"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Class requires API level 24 (current min is 21): `android.hardware.camera2.params.OutputConfiguration`"
-        errorLine1="        OutputConfiguration outputConfig = mock(OutputConfiguration.class);"
-        errorLine2="                                                ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatTest.java"
-            line="218"
-            column="49"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 28 (current min is 21): `android.hardware.camera2.params.OutputConfiguration#setPhysicalCameraId`"
-        errorLine1="        verify(outputConfig, times(1)).setPhysicalCameraId(PHYSICAL_CAMERA_ID);"
-        errorLine2="                                       ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatTest.java"
-            line="224"
-            column="40"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Class requires API level 24 (current min is 21): `android.hardware.camera2.params.OutputConfiguration`"
-        errorLine1="            outputConfigs.add((OutputConfiguration) outputConfigCompat.unwrap());"
-        errorLine2="                               ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/params/SessionConfigurationCompatTest.java"
-            line="93"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 28 (current min is 21): `new android.hardware.camera2.params.SessionConfiguration`"
-        errorLine1="        SessionConfiguration sessionConfig = new SessionConfiguration("
-        errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/params/SessionConfigurationCompatTest.java"
-            line="96"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 28 (current min is 21): `android.hardware.camera2.params.SessionConfiguration#getOutputConfigurations`"
-        errorLine1="                ((SessionConfiguration) sessionConfigCompat.unwrap()).getOutputConfigurations())"
-        errorLine2="                                                                      ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/params/SessionConfigurationCompatTest.java"
-            line="114"
-            column="71"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Class requires API level 28 (current min is 21): `android.hardware.camera2.params.SessionConfiguration`"
-        errorLine1="                ((SessionConfiguration) sessionConfigCompat.unwrap()).getOutputConfigurations())"
-        errorLine2="                  ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/compat/params/SessionConfigurationCompatTest.java"
-            line="114"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 26 (current min is 21): `android.hardware.camera2.CameraCaptureSession.StateCallback#onCaptureQueueEmpty`"
-        errorLine1="        sessionConfigurationCompat.getStateCallback().onCaptureQueueEmpty(mMockCaptureSession);"
-        errorLine2="                                                      ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionBaseTest.java"
-            line="119"
-            column="55"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 26 (current min is 21): `onCaptureQueueEmpty`"
-        errorLine1="        verify(mMockStateCallback).onCaptureQueueEmpty(any(SynchronizedCaptureSession.class));"
-        errorLine2="                                   ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionBaseTest.java"
-            line="121"
-            column="36"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 23 (current min is 21): `android.hardware.camera2.CameraCaptureSession.StateCallback#onSurfacePrepared`"
-        errorLine1="        sessionConfigurationCompat.getStateCallback().onSurfacePrepared(mMockCaptureSession,"
-        errorLine2="                                                      ~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionBaseTest.java"
-            line="133"
-            column="55"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 23 (current min is 21): `onSurfacePrepared`"
-        errorLine1="        verify(mMockStateCallback).onSurfacePrepared(any(SynchronizedCaptureSession.class),"
-        errorLine2="                                   ~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionBaseTest.java"
-            line="136"
-            column="36"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 26 (current min is 21): `onCaptureQueueEmpty`"
-        errorLine1="        mStateCallback.onCaptureQueueEmpty(mCaptureSessionCompatBaseImpl);"
-        errorLine2="                       ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionStateCallbackTest.java"
-            line="70"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 26 (current min is 21): `onCaptureQueueEmpty`"
-        errorLine1="        verify(mMockStateCallback).onCaptureQueueEmpty(any());"
-        errorLine2="                                   ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionStateCallbackTest.java"
-            line="71"
-            column="36"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 26 (current min is 21): `android.hardware.camera2.CameraCaptureSession.StateCallback#onCaptureQueueEmpty`"
-        errorLine1="        verify(mMockCameraCaptureSessionStateCallback).onCaptureQueueEmpty(any());"
-        errorLine2="                                                       ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionStateCallbackTest.java"
-            line="72"
-            column="56"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 23 (current min is 21): `onSurfacePrepared`"
-        errorLine1="        mStateCallback.onSurfacePrepared(mCaptureSessionCompatBaseImpl, mock(Surface.class));"
-        errorLine2="                       ~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionStateCallbackTest.java"
-            line="79"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 23 (current min is 21): `onSurfacePrepared`"
-        errorLine1="        verify(mMockStateCallback).onSurfacePrepared(any(), any(Surface.class));"
-        errorLine2="                                   ~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionStateCallbackTest.java"
-            line="80"
-            column="36"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 23 (current min is 21): `android.hardware.camera2.CameraCaptureSession.StateCallback#onSurfacePrepared`"
-        errorLine1="        verify(mMockCameraCaptureSessionStateCallback).onSurfacePrepared(any(), any(Surface.class));"
-        errorLine2="                                                       ~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionStateCallbackTest.java"
-            line="81"
-            column="56"/>
-    </issue>
+<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">
 
     <issue
         id="NewApi"
@@ -536,7 +8,7 @@
         errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/androidTest/java/androidx/camera/camera2/internal/ZoomControlDeviceTest.java"
-            line="269"
+            line="271"
             column="17"/>
     </issue>
 
@@ -547,7 +19,7 @@
         errorLine2="                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatBaseImpl.java"
-            line="236"
+            line="237"
             column="31"/>
     </issue>
 
@@ -558,7 +30,7 @@
         errorLine2="                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatBaseImpl.java"
-            line="256"
+            line="257"
             column="30"/>
     </issue>
 
@@ -569,7 +41,7 @@
         errorLine2="                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatBaseImpl.java"
-            line="272"
+            line="273"
             column="30"/>
     </issue>
 
@@ -580,7 +52,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/compat/workaround/AeFpsRange.java"
-            line="54"
+            line="56"
             column="27"/>
     </issue>
 
@@ -602,7 +74,7 @@
         errorLine2="                    ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/CropRegionZoomImpl.java"
-            line="65"
+            line="67"
             column="21"/>
     </issue>
 
@@ -613,7 +85,7 @@
         errorLine2="                      ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/ExposureControl.java"
-            line="127"
+            line="129"
             column="23"/>
     </issue>
 
@@ -624,7 +96,7 @@
         errorLine2="                      ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/FocusMeteringControl.java"
-            line="181"
+            line="183"
             column="23"/>
     </issue>
 
@@ -635,7 +107,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/FocusMeteringControl.java"
-            line="185"
+            line="187"
             column="27"/>
     </issue>
 
@@ -646,7 +118,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/FocusMeteringControl.java"
-            line="189"
+            line="191"
             column="27"/>
     </issue>
 
@@ -657,7 +129,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/FocusMeteringControl.java"
-            line="193"
+            line="195"
             column="27"/>
     </issue>
 
@@ -668,7 +140,7 @@
         errorLine2="                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/FocusMeteringControl.java"
-            line="366"
+            line="368"
             column="51"/>
     </issue>
 
@@ -679,7 +151,7 @@
         errorLine2="                      ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/FocusMeteringControl.java"
-            line="367"
+            line="369"
             column="23"/>
     </issue>
 
@@ -690,7 +162,7 @@
         errorLine2="                                                       ~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/FocusMeteringControl.java"
-            line="369"
+            line="371"
             column="56"/>
     </issue>
 
@@ -701,7 +173,7 @@
         errorLine2="                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/FocusMeteringControl.java"
-            line="417"
+            line="419"
             column="51"/>
     </issue>
 
@@ -712,7 +184,7 @@
         errorLine2="                      ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/FocusMeteringControl.java"
-            line="418"
+            line="420"
             column="23"/>
     </issue>
 
@@ -723,7 +195,7 @@
         errorLine2="                                                       ~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/FocusMeteringControl.java"
-            line="420"
+            line="422"
             column="56"/>
     </issue>
 
@@ -734,7 +206,7 @@
         errorLine2="                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/FocusMeteringControl.java"
-            line="459"
+            line="461"
             column="51"/>
     </issue>
 
@@ -745,7 +217,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/FocusMeteringControl.java"
-            line="461"
+            line="463"
             column="27"/>
     </issue>
 
@@ -756,7 +228,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/FocusMeteringControl.java"
-            line="465"
+            line="467"
             column="27"/>
     </issue>
 
@@ -767,7 +239,7 @@
         errorLine2="                                                       ~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/FocusMeteringControl.java"
-            line="468"
+            line="470"
             column="56"/>
     </issue>
 
@@ -778,7 +250,7 @@
         errorLine2="                                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpacker.java"
-            line="52"
+            line="54"
             column="58"/>
     </issue>
 
@@ -789,7 +261,7 @@
         errorLine2="                                                              ~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/ImageCaptureOptionUnpacker.java"
-            line="59"
+            line="61"
             column="63"/>
     </issue>
 
@@ -800,7 +272,7 @@
         errorLine2="                        ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/compat/workaround/ImageCapturePixelHDRPlus.java"
-            line="53"
+            line="55"
             column="25"/>
     </issue>
 
@@ -811,7 +283,7 @@
         errorLine2="                        ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/compat/workaround/ImageCapturePixelHDRPlus.java"
-            line="57"
+            line="59"
             column="25"/>
     </issue>
 
@@ -822,7 +294,7 @@
         errorLine2="                                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/compat/workaround/PreviewPixelHDRnet.java"
-            line="46"
+            line="48"
             column="58"/>
     </issue>
 
@@ -833,7 +305,7 @@
         errorLine2="                             ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/compat/workaround/PreviewPixelHDRnet.java"
-            line="47"
+            line="49"
             column="30"/>
     </issue>
 
@@ -844,11 +316,242 @@
         errorLine2="                                                                     ~~~~~">
         <location
             file="src/main/java/androidx/camera/camera2/internal/compat/workaround/PreviewPixelHDRnet.java"
-            line="49"
+            line="51"
             column="70"/>
     </issue>
 
     <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/internal/Camera2CameraControlImpl.java"
+            line="948"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/internal/Camera2CameraImpl.java"
+            line="1470"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/internal/Camera2CaptureCallbacks.java"
+            line="108"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/interop/Camera2Interop.java"
+            line="48"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/internal/compat/CameraCaptureSessionCompat.java"
+            line="307"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/internal/compat/CameraCaptureSessionCompat.java"
+            line="370"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/internal/CameraCaptureSessionStateCallbacks.java"
+            line="101"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/internal/compat/CameraDeviceCompat.java"
+            line="140"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/internal/CameraDeviceStateCallbacks.java"
+            line="85"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/internal/compat/CameraManagerCompat.java"
+            line="281"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/interop/CaptureRequestOptions.java"
+            line="106"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatApi24Impl.java"
+            line="45"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(21)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatApi24Impl.java"
+            line="102"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatApi26Impl.java"
+            line="50"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(21)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatApi26Impl.java"
+            line="167"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 28 here from outer annotations"
+        errorLine1="    @RequiresApi(28)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatApi28Impl.java"
+            line="41"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/internal/compat/params/OutputConfigurationCompatBaseImpl.java"
+            line="194"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/internal/compat/params/SessionConfigurationCompat.java"
+            line="294"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/internal/SupportedSurfaceCombination.java"
+            line="1339"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/internal/SupportedSurfaceCombination.java"
+            line="1367"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/camera2/internal/SynchronizedCaptureSessionStateCallbacks.java"
+            line="110"
+            column="5"/>
+    </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 static List&lt;OutputConfiguration> transformFromCompat("
diff --git a/camera/camera-core/lint-baseline.xml b/camera/camera-core/lint-baseline.xml
index 2b345ec..6ce45a1 100644
--- a/camera/camera-core/lint-baseline.xml
+++ b/camera/camera-core/lint-baseline.xml
@@ -1,82 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 26 (current min is 21): `java.time.Duration#ofMillis`"
-        errorLine1="        ShadowSystemClock.advanceBy(Duration.ofMillis(100));"
-        errorLine2="                                             ~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/core/impl/utils/ExifTest.java"
-            line="160"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 26 (current min is 21): `java.time.Duration#ofMillis`"
-        errorLine1="        ShadowSystemClock.advanceBy(Duration.ofMillis(100));"
-        errorLine2="                                             ~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/core/impl/utils/ExifTest.java"
-            line="163"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 26 (current min is 21): `new android.graphics.SurfaceTexture`"
-        errorLine1="        mTestSurfaceTexture = new SurfaceTexture(/* singleBufferMode= */ false);"
-        errorLine2="                              ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/core/internal/compat/ImageWriterCompatTest.java"
-            line="47"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 26 (current min is 21): `newInstance`"
-        errorLine1="        ImageWriter imageWriter = ImageWriterCompat.newInstance(mTestSurface,"
-        errorLine2="                                                    ~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/core/internal/compat/ImageWriterCompatTest.java"
-            line="59"
-            column="53"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 26 (current min is 21): `newInstance`"
-        errorLine1="                TEST_MAX_IMAGES, TEST_IMAGE_FORMAT);"
-        errorLine2="                ~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/core/internal/compat/ImageWriterCompatTest.java"
-            line="60"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 22 (current min is 21): `android.os.Message#isAsynchronous`"
-        errorLine1="        boolean isAsyncBeforeSending = message.isAsynchronous();"
-        errorLine2="                                               ~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/core/impl/utils/MainThreadAsyncHandlerTest.java"
-            line="64"
-            column="48"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 22 (current min is 21): `android.os.Message#isAsynchronous`"
-        errorLine1="        boolean isAsyncAfterSending = message.isAsynchronous();"
-        errorLine2="                                              ~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/camera/core/impl/utils/MainThreadAsyncHandlerTest.java"
-            line="68"
-            column="47"/>
-    </issue>
+<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">
 
     <issue
         id="NewApi"
@@ -96,237 +19,6 @@
         errorLine2="    ^">
         <location
             file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
-            line="61"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @Override"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
-            line="66"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @Override"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
-            line="72"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @Override"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
-            line="77"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @Override"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
-            line="82"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @Override"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
-            line="87"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @Override"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
-            line="92"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="        @Override"
-        errorLine2="        ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
-            line="107"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="        @Override"
-        errorLine2="        ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
-            line="112"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="        @Override"
-        errorLine2="        ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
-            line="117"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @Override"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
-            line="130"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @Override"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
-            line="51"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @Override"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
-            line="74"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @Override"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
-            line="101"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @Override"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
-            line="106"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @Override"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
-            line="111"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @Override"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
-            line="116"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @Override"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
-            line="121"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @Nullable"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
-            line="126"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @Override"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
-            line="132"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @Override"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
-            line="144"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @Override"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/ForwardingImageProxy.java"
             line="63"
             column="5"/>
     </issue>
@@ -337,8 +29,8 @@
         errorLine1="    @Override"
         errorLine2="    ^">
         <location
-            file="src/main/java/androidx/camera/core/ForwardingImageProxy.java"
-            line="69"
+            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
+            line="68"
             column="5"/>
     </issue>
 
@@ -348,7 +40,7 @@
         errorLine1="    @Override"
         errorLine2="    ^">
         <location
-            file="src/main/java/androidx/camera/core/ForwardingImageProxy.java"
+            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
             line="74"
             column="5"/>
     </issue>
@@ -359,7 +51,7 @@
         errorLine1="    @Override"
         errorLine2="    ^">
         <location
-            file="src/main/java/androidx/camera/core/ForwardingImageProxy.java"
+            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
             line="79"
             column="5"/>
     </issue>
@@ -370,7 +62,7 @@
         errorLine1="    @Override"
         errorLine2="    ^">
         <location
-            file="src/main/java/androidx/camera/core/ForwardingImageProxy.java"
+            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
             line="84"
             column="5"/>
     </issue>
@@ -381,7 +73,7 @@
         errorLine1="    @Override"
         errorLine2="    ^">
         <location
-            file="src/main/java/androidx/camera/core/ForwardingImageProxy.java"
+            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
             line="89"
             column="5"/>
     </issue>
@@ -392,8 +84,52 @@
         errorLine1="    @Override"
         errorLine2="    ^">
         <location
-            file="src/main/java/androidx/camera/core/ForwardingImageProxy.java"
-            line="95"
+            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
+            line="94"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="        @Override"
+        errorLine2="        ^">
+        <location
+            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
+            line="110"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="        @Override"
+        errorLine2="        ^">
+        <location
+            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
+            line="115"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="        @Override"
+        errorLine2="        ^">
+        <location
+            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
+            line="120"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    @Override"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
+            line="133"
             column="5"/>
     </issue>
 
@@ -403,63 +139,8 @@
         errorLine1="    @Override"
         errorLine2="    ^">
         <location
-            file="src/main/java/androidx/camera/core/ForwardingImageProxy.java"
-            line="101"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    /**"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/ForwardingImageProxy.java"
-            line="107"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="        @Override"
-        errorLine2="        ^">
-        <location
-            file="src/main/java/androidx/camera/core/ImageProxyDownsampler.java"
-            line="237"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="        @Override"
-        errorLine2="        ^">
-        <location
-            file="src/main/java/androidx/camera/core/ImageProxyDownsampler.java"
-            line="242"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="        @Override"
-        errorLine2="        ^">
-        <location
-            file="src/main/java/androidx/camera/core/ImageProxyDownsampler.java"
-            line="247"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="BanSynchronizedMethods"
-        message="Use of synchronized methods is not recommended"
-        errorLine1="    @NonNull"
-        errorLine2="    ^">
-        <location
-            file="src/main/java/androidx/camera/core/SettableImageProxy.java"
-            line="66"
+            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
+            line="53"
             column="5"/>
     </issue>
 
@@ -469,7 +150,7 @@
         errorLine1="    @Override"
         errorLine2="    ^">
         <location
-            file="src/main/java/androidx/camera/core/SettableImageProxy.java"
+            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
             line="76"
             column="5"/>
     </issue>
@@ -480,8 +161,228 @@
         errorLine1="    @Override"
         errorLine2="    ^">
         <location
+            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
+            line="103"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    @Override"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
+            line="108"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    @Override"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
+            line="113"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    @Override"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
+            line="118"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    @Override"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
+            line="123"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    @Nullable"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
+            line="128"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    @Override"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
+            line="134"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    @Override"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/AndroidImageReaderProxy.java"
+            line="146"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    @Override"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/ForwardingImageProxy.java"
+            line="65"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    @Override"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/ForwardingImageProxy.java"
+            line="71"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    @Override"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/ForwardingImageProxy.java"
+            line="76"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    @Override"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/ForwardingImageProxy.java"
+            line="81"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    @Override"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/ForwardingImageProxy.java"
+            line="86"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    @Override"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/ForwardingImageProxy.java"
+            line="91"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    @Override"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/ForwardingImageProxy.java"
+            line="97"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    @Override"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/ForwardingImageProxy.java"
+            line="103"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    /**"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/ForwardingImageProxy.java"
+            line="109"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="        @Override"
+        errorLine2="        ^">
+        <location
+            file="src/main/java/androidx/camera/core/ImageProxyDownsampler.java"
+            line="239"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="        @Override"
+        errorLine2="        ^">
+        <location
+            file="src/main/java/androidx/camera/core/ImageProxyDownsampler.java"
+            line="244"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="        @Override"
+        errorLine2="        ^">
+        <location
+            file="src/main/java/androidx/camera/core/ImageProxyDownsampler.java"
+            line="249"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    @NonNull"
+        errorLine2="    ^">
+        <location
             file="src/main/java/androidx/camera/core/SettableImageProxy.java"
-            line="87"
+            line="68"
             column="5"/>
     </issue>
 
@@ -492,7 +393,29 @@
         errorLine2="    ^">
         <location
             file="src/main/java/androidx/camera/core/SettableImageProxy.java"
-            line="92"
+            line="78"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    @Override"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/SettableImageProxy.java"
+            line="89"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="BanSynchronizedMethods"
+        message="Use of synchronized methods is not recommended"
+        errorLine1="    @Override"
+        errorLine2="    ^">
+        <location
+            file="src/main/java/androidx/camera/core/SettableImageProxy.java"
+            line="94"
             column="5"/>
     </issue>
 
@@ -503,7 +426,337 @@
         errorLine2="    ^">
         <location
             file="src/main/java/androidx/camera/core/SingleCloseImageProxy.java"
-            line="36"
+            line="38"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/AndroidImageProxy.java"
+            line="101"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/CameraControl.java"
+            line="192"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/CameraSelector.java"
+            line="194"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/CameraState.java"
+            line="261"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/CameraState.java"
+            line="283"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/CameraState.java"
+            line="445"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/CameraXConfig.java"
+            line="74"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/CameraXConfig.java"
+            line="208"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/FocusMeteringAction.java"
+            line="159"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/ImageAnalysis.java"
+            line="677"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/ImageAnalysis.java"
+            line="725"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/ImageAnalysis.java"
+            line="752"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/ImageCapture.java"
+            line="1793"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/ImageCapture.java"
+            line="1810"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/ImageCapture.java"
+            line="1892"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="        @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/ImageCapture.java"
+            line="1963"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/ImageCapture.java"
+            line="2054"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/ImageCapture.java"
+            line="2077"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/ImageCapture.java"
+            line="2319"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/ImageCapture.java"
+            line="2508"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/ImageProxy.java"
+            line="89"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/Preview.java"
+            line="564"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/Preview.java"
+            line="654"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/impl/StateObservable.java"
+            line="185"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/SurfaceRequest.java"
+            line="479"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/SurfaceRequest.java"
+            line="504"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/SurfaceRequest.java"
+            line="658"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/UseCaseGroup.java"
+            line="69"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/VideoCapture.java"
+            line="1315"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/core/ViewPort.java"
+            line="204"
             column="5"/>
     </issue>
 
@@ -514,7 +767,7 @@
         errorLine2="                ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/CaptureConfig.java"
-            line="310"
+            line="312"
             column="17"/>
     </issue>
 
@@ -525,7 +778,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/utils/futures/AsyncFunction.java"
-            line="48"
+            line="50"
             column="5"/>
     </issue>
 
@@ -536,7 +789,7 @@
         errorLine2="                           ~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/CameraDeviceSurfaceManager.java"
-            line="63"
+            line="65"
             column="28"/>
     </issue>
 
@@ -547,7 +800,7 @@
         errorLine2="                                            ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/CameraDeviceSurfaceManager.java"
-            line="63"
+            line="65"
             column="45"/>
     </issue>
 
@@ -558,7 +811,7 @@
         errorLine2="    ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/CameraDeviceSurfaceManager.java"
-            line="73"
+            line="75"
             column="5"/>
     </issue>
 
@@ -569,7 +822,7 @@
         errorLine2="                                         ~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/CameraDeviceSurfaceManager.java"
-            line="73"
+            line="75"
             column="42"/>
     </issue>
 
@@ -580,7 +833,7 @@
         errorLine2="                                                                           ~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/CameraDeviceSurfaceManager.java"
-            line="73"
+            line="75"
             column="76"/>
     </issue>
 
@@ -591,7 +844,7 @@
         errorLine2="                                          ~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/CameraInfoUnavailableException.java"
-            line="26"
+            line="28"
             column="43"/>
     </issue>
 
@@ -602,7 +855,7 @@
         errorLine2="                                                    ~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/CameraInfoUnavailableException.java"
-            line="26"
+            line="28"
             column="53"/>
     </issue>
 
@@ -613,7 +866,7 @@
         errorLine2="                                          ~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/CameraInfoUnavailableException.java"
-            line="32"
+            line="34"
             column="43"/>
     </issue>
 
@@ -624,7 +877,7 @@
         errorLine2="                         ~~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/CaptureProcessor.java"
-            line="37"
+            line="39"
             column="26"/>
     </issue>
 
@@ -635,7 +888,7 @@
         errorLine2="                 ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/CaptureProcessor.java"
-            line="50"
+            line="52"
             column="18"/>
     </issue>
 
@@ -646,7 +899,7 @@
         errorLine2="                            ~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/CaptureProcessor.java"
-            line="57"
+            line="59"
             column="29"/>
     </issue>
 
@@ -657,7 +910,7 @@
         errorLine2="    ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/CaptureStage.java"
-            line="30"
+            line="33"
             column="5"/>
     </issue>
 
@@ -668,7 +921,7 @@
         errorLine2="               ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/CaptureStage.java"
-            line="49"
+            line="52"
             column="16"/>
     </issue>
 
@@ -679,7 +932,7 @@
         errorLine2="                   ~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/utils/futures/FutureCallback.java"
-            line="49"
+            line="51"
             column="20"/>
     </issue>
 
@@ -690,7 +943,7 @@
         errorLine2="                  ~~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/utils/MainThreadAsyncHandler.java"
-            line="35"
+            line="37"
             column="19"/>
     </issue>
 
@@ -701,7 +954,7 @@
         errorLine2="                      ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/utils/Optional.java"
-            line="78"
+            line="80"
             column="23"/>
     </issue>
 
@@ -712,7 +965,7 @@
         errorLine2="                      ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/utils/Optional.java"
-            line="90"
+            line="92"
             column="23"/>
     </issue>
 
@@ -723,7 +976,7 @@
         errorLine2="                      ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/utils/Optional.java"
-            line="102"
+            line="104"
             column="23"/>
     </issue>
 
@@ -734,7 +987,7 @@
         errorLine2="                    ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/utils/Optional.java"
-            line="177"
+            line="179"
             column="21"/>
     </issue>
 
@@ -745,7 +998,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/utils/Optional.java"
-            line="177"
+            line="179"
             column="36"/>
     </issue>
 
@@ -756,7 +1009,7 @@
         errorLine2="                         ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/utils/Optional.java"
-            line="189"
+            line="191"
             column="26"/>
     </issue>
 
@@ -767,7 +1020,7 @@
         errorLine2="                  ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/SurfaceSizeDefinition.java"
-            line="48"
+            line="51"
             column="19"/>
     </issue>
 
@@ -778,7 +1031,7 @@
         errorLine2="            ~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/SurfaceSizeDefinition.java"
-            line="49"
+            line="52"
             column="13"/>
     </issue>
 
@@ -789,7 +1042,7 @@
         errorLine2="            ~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/SurfaceSizeDefinition.java"
-            line="50"
+            line="53"
             column="13"/>
     </issue>
 
@@ -800,7 +1053,7 @@
         errorLine2="            ~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/SurfaceSizeDefinition.java"
-            line="51"
+            line="54"
             column="13"/>
     </issue>
 
@@ -811,7 +1064,7 @@
         errorLine2="                    ~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/SurfaceSizeDefinition.java"
-            line="56"
+            line="59"
             column="21"/>
     </issue>
 
@@ -822,7 +1075,7 @@
         errorLine2="                    ~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/SurfaceSizeDefinition.java"
-            line="59"
+            line="62"
             column="21"/>
     </issue>
 
@@ -833,7 +1086,7 @@
         errorLine2="                    ~~~~">
         <location
             file="src/main/java/androidx/camera/core/impl/SurfaceSizeDefinition.java"
-            line="62"
+            line="65"
             column="21"/>
     </issue>
 
diff --git a/camera/camera-extensions-stub/lint-baseline.xml b/camera/camera-extensions-stub/lint-baseline.xml
index e77b730..419fa2e 100644
--- a/camera/camera-extensions-stub/lint-baseline.xml
+++ b/camera/camera-extensions-stub/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="UnknownNullness"
diff --git a/camera/camera-extensions/lint-baseline.xml b/camera/camera-extensions/lint-baseline.xml
index dc3ede2..374e5b6 100644
--- a/camera/camera-extensions/lint-baseline.xml
+++ b/camera/camera-extensions/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
         id="UnsafeOptInUsageError"
@@ -8,7 +8,7 @@
         errorLine2="                                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/internal/AdaptingCaptureStage.java"
-            line="38"
+            line="40"
             column="65"/>
     </issue>
 
@@ -19,7 +19,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/internal/AdaptingCaptureStage.java"
-            line="41"
+            line="43"
             column="41"/>
     </issue>
 
@@ -30,7 +30,7 @@
         errorLine2="                                                                                  ~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/internal/AdaptingCaptureStage.java"
-            line="46"
+            line="48"
             column="83"/>
     </issue>
 
@@ -41,7 +41,7 @@
         errorLine2="                                              ~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/internal/sessionprocessor/AdvancedSessionProcessor.java"
-            line="118"
+            line="120"
             column="47"/>
     </issue>
 
@@ -52,7 +52,7 @@
         errorLine2="                                                               ~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/internal/sessionprocessor/AdvancedSessionProcessor.java"
-            line="118"
+            line="120"
             column="64"/>
     </issue>
 
@@ -63,7 +63,7 @@
         errorLine2="                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/internal/sessionprocessor/AdvancedSessionProcessor.java"
-            line="261"
+            line="263"
             column="62"/>
     </issue>
 
@@ -74,7 +74,7 @@
         errorLine2="                                     ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/internal/sessionprocessor/AdvancedSessionProcessor.java"
-            line="265"
+            line="267"
             column="38"/>
     </issue>
 
@@ -85,7 +85,7 @@
         errorLine2="                                               ~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/internal/sessionprocessor/AdvancedSessionProcessor.java"
-            line="268"
+            line="270"
             column="48"/>
     </issue>
 
@@ -96,7 +96,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/internal/ImageCaptureConfigProvider.java"
-            line="110"
+            line="112"
             column="13"/>
     </issue>
 
@@ -107,7 +107,7 @@
         errorLine2="                                                      ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/internal/ImageCaptureConfigProvider.java"
-            line="110"
+            line="112"
             column="55"/>
     </issue>
 
@@ -118,7 +118,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/internal/PreviewConfigProvider.java"
-            line="110"
+            line="112"
             column="13"/>
     </issue>
 
@@ -129,8 +129,19 @@
         errorLine2="                                                      ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/internal/PreviewConfigProvider.java"
-            line="110"
+            line="112"
             column="55"/>
     </issue>
 
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/internal/sessionprocessor/SessionProcessorBase.java"
+            line="195"
+            column="5"/>
+    </issue>
+
 </issues>
diff --git a/camera/camera-lifecycle/lint-baseline.xml b/camera/camera-lifecycle/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/camera/camera-lifecycle/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/camera/camera-testing/lint-baseline.xml b/camera/camera-testing/lint-baseline.xml
index b2a3ecc..825b579 100644
--- a/camera/camera-testing/lint-baseline.xml
+++ b/camera/camera-testing/lint-baseline.xml
@@ -1,5 +1,192 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha07" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-alpha07)" variant="all" version="7.1.0-alpha07">
+<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">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/testing/activity/Camera2TestActivity.java"
+            line="265"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/testing/activity/Camera2TestActivity.java"
+            line="296"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/testing/CameraUtil.java"
+            line="154"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="        @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/testing/CameraUtil.java"
+            line="194"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/testing/CameraUtil.java"
+            line="722"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/testing/CameraUtil.java"
+            line="816"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/testing/activity/CameraXTestActivity.java"
+            line="177"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/testing/CoreAppTestUtil.java"
+            line="191"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/testing/fakes/FakeAppConfig.java"
+            line="82"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/testing/fakes/FakeCamcorderProfileProvider.java"
+            line="56"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/testing/fakes/FakeCameraCaptureResult.java"
+            line="118"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/testing/fakes/FakeCameraControl.java"
+            line="216"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/testing/fakes/FakeCameraInfoInternal.java"
+            line="210"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/testing/fakes/FakeConfig.java"
+            line="52"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/testing/fakes/FakeUseCaseConfig.java"
+            line="62"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/testing/SurfaceTextureProvider.java"
+            line="95"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/testing/TimestampCaptureProcessor.java"
+            line="67"
+            column="5"/>
+    </issue>
 
     <issue
         id="UnknownNullness"
@@ -8,7 +195,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeCameraCaptureResult.java"
-            line="42"
+            line="44"
             column="27"/>
     </issue>
 
@@ -19,7 +206,7 @@
         errorLine2="                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeCameraCaptureResult.java"
-            line="46"
+            line="48"
             column="28"/>
     </issue>
 
@@ -30,7 +217,7 @@
         errorLine2="                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeCameraCaptureResult.java"
-            line="50"
+            line="52"
             column="28"/>
     </issue>
 
@@ -41,7 +228,7 @@
         errorLine2="                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeCameraCaptureResult.java"
-            line="54"
+            line="56"
             column="29"/>
     </issue>
 
@@ -52,7 +239,7 @@
         errorLine2="                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeCameraCaptureResult.java"
-            line="58"
+            line="60"
             column="31"/>
     </issue>
 
@@ -63,7 +250,7 @@
         errorLine2="                       ~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeCameraCaptureResult.java"
-            line="66"
+            line="68"
             column="24"/>
     </issue>
 
@@ -74,7 +261,7 @@
         errorLine2="                                                    ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeCameraControl.java"
-            line="86"
+            line="88"
             column="53"/>
     </issue>
 
@@ -85,7 +272,7 @@
         errorLine2="                                       ~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeCameraDeviceSurfaceManager.java"
-            line="41"
+            line="43"
             column="40"/>
     </issue>
 
@@ -96,7 +283,7 @@
         errorLine2="                                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeCameraDeviceSurfaceManager.java"
-            line="41"
+            line="43"
             column="57"/>
     </issue>
 
@@ -107,7 +294,7 @@
         errorLine2="            ~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeCameraDeviceSurfaceManager.java"
-            line="42"
+            line="44"
             column="13"/>
     </issue>
 
@@ -118,7 +305,7 @@
         errorLine2="                                  ~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeCameraDeviceSurfaceManager.java"
-            line="54"
+            line="56"
             column="35"/>
     </issue>
 
@@ -129,7 +316,7 @@
         errorLine2="                                                   ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeCameraDeviceSurfaceManager.java"
-            line="54"
+            line="56"
             column="52"/>
     </issue>
 
@@ -140,7 +327,7 @@
         errorLine2="           ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeCameraDeviceSurfaceManager.java"
-            line="59"
+            line="61"
             column="12"/>
     </issue>
 
@@ -151,7 +338,7 @@
         errorLine2="                                                ~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeCameraDeviceSurfaceManager.java"
-            line="59"
+            line="61"
             column="49"/>
     </issue>
 
@@ -162,7 +349,7 @@
         errorLine2="                                                                                  ~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeCameraDeviceSurfaceManager.java"
-            line="59"
+            line="61"
             column="83"/>
     </issue>
 
@@ -173,7 +360,7 @@
         errorLine2="                                    ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeCaptureStage.java"
-            line="36"
+            line="38"
             column="37"/>
     </issue>
 
@@ -184,7 +371,7 @@
         errorLine2="           ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeCaptureStage.java"
-            line="47"
+            line="49"
             column="12"/>
     </issue>
 
@@ -195,7 +382,7 @@
         errorLine2="                          ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeImageProxy.java"
-            line="153"
+            line="165"
             column="27"/>
     </issue>
 
@@ -206,7 +393,7 @@
         errorLine2="           ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeImageReaderProxy.java"
-            line="98"
+            line="100"
             column="12"/>
     </issue>
 
@@ -217,7 +404,7 @@
         errorLine2="           ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeImageReaderProxy.java"
-            line="120"
+            line="122"
             column="12"/>
     </issue>
 
@@ -228,7 +415,7 @@
         errorLine2="                           ~~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/fakes/FakeImageReaderProxy.java"
-            line="180"
+            line="182"
             column="28"/>
     </issue>
 
@@ -239,7 +426,7 @@
         errorLine2="                                           ~~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/HandlerUtil.java"
-            line="36"
+            line="38"
             column="44"/>
     </issue>
 
@@ -250,7 +437,7 @@
         errorLine2="                  ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/compat/LooperCompat.java"
-            line="33"
+            line="34"
             column="19"/>
     </issue>
 
@@ -261,7 +448,7 @@
         errorLine2="                                        ~~~~~~">
         <location
             file="src/main/java/androidx/camera/testing/compat/LooperCompat.java"
-            line="33"
+            line="34"
             column="41"/>
     </issue>
 
diff --git a/camera/camera-testlib-extensions/lint-baseline.xml b/camera/camera-testlib-extensions/lint-baseline.xml
index 17cd540..0256506 100644
--- a/camera/camera-testlib-extensions/lint-baseline.xml
+++ b/camera/camera-testlib-extensions/lint-baseline.xml
@@ -1,169 +1,37 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 23; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                            mImageWriter = ImageWriter.newInstance(surface, 1);"
-        errorLine2="                                                       ~~~~~~~~~~~">
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
         <location
-            file="src/main/java/androidx/camera/extensions/impl/AutoImageCaptureExtenderImpl.java"
-            line="94"
-            column="56"/>
+            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
+            line="114"
+            column="5"/>
     </issue>
 
     <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 23; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                                Image image = mImageWriter.dequeueInputImage();"
-        errorLine2="                                                           ~~~~~~~~~~~~~~~~~">
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
         <location
-            file="src/main/java/androidx/camera/extensions/impl/AutoImageCaptureExtenderImpl.java"
-            line="110"
-            column="60"/>
+            file="src/main/java/androidx/camera/extensions/impl/InitializerImpl.java"
+            line="121"
+            column="5"/>
     </issue>
 
     <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 23; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                                mImageWriter.queueInputImage(image);"
-        errorLine2="                                             ~~~~~~~~~~~~~~~">
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
         <location
-            file="src/main/java/androidx/camera/extensions/impl/AutoImageCaptureExtenderImpl.java"
-            line="122"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 23; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                            mImageWriter = ImageWriter.newInstance(surface, 1);"
-        errorLine2="                                                       ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
-            line="99"
-            column="56"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 23; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                                Image image = mImageWriter.dequeueInputImage();"
-        errorLine2="                                                           ~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
-            line="115"
-            column="60"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 23; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                                mImageWriter.queueInputImage(image);"
-        errorLine2="                                             ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
-            line="127"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 23; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                            mImageWriter = ImageWriter.newInstance(surface, 1);"
-        errorLine2="                                                       ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/BokehImageCaptureExtenderImpl.java"
-            line="94"
-            column="56"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 23; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                                Image image = mImageWriter.dequeueInputImage();"
-        errorLine2="                                                           ~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/BokehImageCaptureExtenderImpl.java"
-            line="111"
-            column="60"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 23; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                                mImageWriter.queueInputImage(image);"
-        errorLine2="                                             ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/BokehImageCaptureExtenderImpl.java"
-            line="123"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 23; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                            mImageWriter = ImageWriter.newInstance(surface, 1);"
-        errorLine2="                                                       ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java"
-            line="105"
-            column="56"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 23; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                            Image outputImage = mImageWriter.dequeueInputImage();"
-        errorLine2="                                                             ~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java"
+            file="src/main/java/androidx/camera/extensions/impl/InitializerImpl.java"
             line="141"
-            column="62"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 23; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                            mImageWriter.queueInputImage(outputImage);"
-        errorLine2="                                         ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java"
-            line="201"
-            column="42"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 23; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                            mImageWriter = ImageWriter.newInstance(surface, 1);"
-        errorLine2="                                                       ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
-            line="94"
-            column="56"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 23; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                                Image image = mImageWriter.dequeueInputImage();"
-        errorLine2="                                                           ~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
-            line="110"
-            column="60"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 23; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                                mImageWriter.queueInputImage(image);"
-        errorLine2="                                             ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
-            line="122"
-            column="46"/>
+            column="5"/>
     </issue>
 
     <issue
@@ -173,7 +41,7 @@
         errorLine2="                     ~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoImageCaptureExtenderImpl.java"
-            line="57"
+            line="59"
             column="22"/>
     </issue>
 
@@ -184,7 +52,7 @@
         errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoImageCaptureExtenderImpl.java"
-            line="57"
+            line="59"
             column="39"/>
     </issue>
 
@@ -195,7 +63,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoImageCaptureExtenderImpl.java"
-            line="76"
+            line="78"
             column="12"/>
     </issue>
 
@@ -206,7 +74,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoImageCaptureExtenderImpl.java"
-            line="86"
+            line="88"
             column="12"/>
     </issue>
 
@@ -217,7 +85,7 @@
         errorLine2="                       ~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoImageCaptureExtenderImpl.java"
-            line="143"
+            line="97"
             column="24"/>
     </issue>
 
@@ -228,7 +96,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoImageCaptureExtenderImpl.java"
-            line="143"
+            line="97"
             column="41"/>
     </issue>
 
@@ -239,7 +107,7 @@
         errorLine2="            ~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoImageCaptureExtenderImpl.java"
-            line="144"
+            line="98"
             column="13"/>
     </issue>
 
@@ -250,7 +118,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoImageCaptureExtenderImpl.java"
-            line="154"
+            line="108"
             column="12"/>
     </issue>
 
@@ -261,7 +129,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoImageCaptureExtenderImpl.java"
-            line="170"
+            line="124"
             column="12"/>
     </issue>
 
@@ -272,7 +140,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoImageCaptureExtenderImpl.java"
-            line="180"
+            line="134"
             column="12"/>
     </issue>
 
@@ -283,7 +151,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoImageCaptureExtenderImpl.java"
-            line="195"
+            line="149"
             column="12"/>
     </issue>
 
@@ -294,7 +162,7 @@
         errorLine2="                     ~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoPreviewExtenderImpl.java"
-            line="47"
+            line="49"
             column="22"/>
     </issue>
 
@@ -305,7 +173,7 @@
         errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoPreviewExtenderImpl.java"
-            line="47"
+            line="49"
             column="39"/>
     </issue>
 
@@ -316,7 +184,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoPreviewExtenderImpl.java"
-            line="63"
+            line="65"
             column="12"/>
     </issue>
 
@@ -327,7 +195,7 @@
         errorLine2="           ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoPreviewExtenderImpl.java"
-            line="73"
+            line="75"
             column="12"/>
     </issue>
 
@@ -338,7 +206,7 @@
         errorLine2="           ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoPreviewExtenderImpl.java"
-            line="78"
+            line="80"
             column="12"/>
     </issue>
 
@@ -349,7 +217,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoPreviewExtenderImpl.java"
-            line="83"
+            line="85"
             column="12"/>
     </issue>
 
@@ -360,7 +228,7 @@
         errorLine2="                       ~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoPreviewExtenderImpl.java"
-            line="88"
+            line="90"
             column="24"/>
     </issue>
 
@@ -371,7 +239,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoPreviewExtenderImpl.java"
-            line="88"
+            line="90"
             column="41"/>
     </issue>
 
@@ -382,7 +250,7 @@
         errorLine2="            ~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoPreviewExtenderImpl.java"
-            line="89"
+            line="91"
             column="13"/>
     </issue>
 
@@ -393,7 +261,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoPreviewExtenderImpl.java"
-            line="99"
+            line="101"
             column="12"/>
     </issue>
 
@@ -404,7 +272,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoPreviewExtenderImpl.java"
-            line="115"
+            line="117"
             column="12"/>
     </issue>
 
@@ -415,7 +283,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/AutoPreviewExtenderImpl.java"
-            line="125"
+            line="127"
             column="12"/>
     </issue>
 
@@ -426,7 +294,7 @@
         errorLine2="                     ~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
-            line="61"
+            line="63"
             column="22"/>
     </issue>
 
@@ -437,7 +305,7 @@
         errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
-            line="61"
+            line="63"
             column="39"/>
     </issue>
 
@@ -448,7 +316,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
-            line="81"
+            line="83"
             column="12"/>
     </issue>
 
@@ -459,6 +327,149 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
+            line="93"
+            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="    public void onInit(String cameraId, CameraCharacteristics cameraCharacteristics,"
+        errorLine2="                       ~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
+            line="102"
+            column="24"/>
+    </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 onInit(String cameraId, CameraCharacteristics cameraCharacteristics,"
+        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
+            line="102"
+            column="41"/>
+    </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="            Context context) {"
+        errorLine2="            ~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
+            line="103"
+            column="13"/>
+    </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 CaptureStageImpl onPresetSession() {"
+        errorLine2="           ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
+            line="113"
+            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="    public CaptureStageImpl onEnableSession() {"
+        errorLine2="           ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
+            line="129"
+            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="    public CaptureStageImpl onDisableSession() {"
+        errorLine2="           ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
+            line="139"
+            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="    public List&lt;Pair&lt;Integer, Size[]&gt;> getSupportedResolutions() {"
+        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
+            line="154"
+            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="    public void init(String cameraId, CameraCharacteristics cameraCharacteristics) {"
+        errorLine2="                     ~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/BeautyPreviewExtenderImpl.java"
+            line="54"
+            column="22"/>
+    </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 init(String cameraId, CameraCharacteristics cameraCharacteristics) {"
+        errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/BeautyPreviewExtenderImpl.java"
+            line="54"
+            column="39"/>
+    </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 CaptureStageImpl getCaptureStage() {"
+        errorLine2="           ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/BeautyPreviewExtenderImpl.java"
+            line="71"
+            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="    public ProcessorType getProcessorType() {"
+        errorLine2="           ~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/BeautyPreviewExtenderImpl.java"
+            line="81"
+            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="    public ProcessorImpl getProcessor() {"
+        errorLine2="           ~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/BeautyPreviewExtenderImpl.java"
+            line="86"
+            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="    public List&lt;Pair&lt;Integer, Size[]&gt;> getSupportedResolutions() {"
+        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/BeautyPreviewExtenderImpl.java"
             line="91"
             column="12"/>
     </issue>
@@ -469,151 +480,8 @@
         errorLine1="    public void onInit(String cameraId, CameraCharacteristics cameraCharacteristics,"
         errorLine2="                       ~~~~~~">
         <location
-            file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
-            line="148"
-            column="24"/>
-    </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 onInit(String cameraId, CameraCharacteristics cameraCharacteristics,"
-        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
-            line="148"
-            column="41"/>
-    </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="            Context context) {"
-        errorLine2="            ~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
-            line="149"
-            column="13"/>
-    </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 CaptureStageImpl onPresetSession() {"
-        errorLine2="           ~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
-            line="159"
-            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="    public CaptureStageImpl onEnableSession() {"
-        errorLine2="           ~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
-            line="175"
-            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="    public CaptureStageImpl onDisableSession() {"
-        errorLine2="           ~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
-            line="185"
-            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="    public List&lt;Pair&lt;Integer, Size[]&gt;> getSupportedResolutions() {"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java"
-            line="200"
-            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="    public void init(String cameraId, CameraCharacteristics cameraCharacteristics) {"
-        errorLine2="                     ~~~~~~">
-        <location
             file="src/main/java/androidx/camera/extensions/impl/BeautyPreviewExtenderImpl.java"
-            line="52"
-            column="22"/>
-    </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 init(String cameraId, CameraCharacteristics cameraCharacteristics) {"
-        errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/BeautyPreviewExtenderImpl.java"
-            line="52"
-            column="39"/>
-    </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 CaptureStageImpl getCaptureStage() {"
-        errorLine2="           ~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/BeautyPreviewExtenderImpl.java"
-            line="69"
-            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="    public ProcessorType getProcessorType() {"
-        errorLine2="           ~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/BeautyPreviewExtenderImpl.java"
-            line="79"
-            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="    public ProcessorImpl getProcessor() {"
-        errorLine2="           ~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/BeautyPreviewExtenderImpl.java"
-            line="84"
-            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="    public List&lt;Pair&lt;Integer, Size[]&gt;> getSupportedResolutions() {"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/BeautyPreviewExtenderImpl.java"
-            line="89"
-            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="    public void onInit(String cameraId, CameraCharacteristics cameraCharacteristics,"
-        errorLine2="                       ~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/BeautyPreviewExtenderImpl.java"
-            line="109"
+            line="111"
             column="24"/>
     </issue>
 
@@ -624,7 +492,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BeautyPreviewExtenderImpl.java"
-            line="109"
+            line="111"
             column="41"/>
     </issue>
 
@@ -635,7 +503,7 @@
         errorLine2="            ~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BeautyPreviewExtenderImpl.java"
-            line="110"
+            line="112"
             column="13"/>
     </issue>
 
@@ -646,7 +514,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BeautyPreviewExtenderImpl.java"
-            line="120"
+            line="122"
             column="12"/>
     </issue>
 
@@ -657,7 +525,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BeautyPreviewExtenderImpl.java"
-            line="136"
+            line="138"
             column="12"/>
     </issue>
 
@@ -668,7 +536,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BeautyPreviewExtenderImpl.java"
-            line="146"
+            line="148"
             column="12"/>
     </issue>
 
@@ -679,7 +547,7 @@
         errorLine2="                     ~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehImageCaptureExtenderImpl.java"
-            line="57"
+            line="59"
             column="22"/>
     </issue>
 
@@ -690,7 +558,7 @@
         errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehImageCaptureExtenderImpl.java"
-            line="57"
+            line="59"
             column="39"/>
     </issue>
 
@@ -701,7 +569,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehImageCaptureExtenderImpl.java"
-            line="76"
+            line="78"
             column="12"/>
     </issue>
 
@@ -712,7 +580,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehImageCaptureExtenderImpl.java"
-            line="86"
+            line="88"
             column="12"/>
     </issue>
 
@@ -723,7 +591,7 @@
         errorLine2="                       ~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehImageCaptureExtenderImpl.java"
-            line="144"
+            line="97"
             column="24"/>
     </issue>
 
@@ -734,7 +602,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehImageCaptureExtenderImpl.java"
-            line="144"
+            line="97"
             column="41"/>
     </issue>
 
@@ -745,7 +613,7 @@
         errorLine2="            ~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehImageCaptureExtenderImpl.java"
-            line="145"
+            line="98"
             column="13"/>
     </issue>
 
@@ -756,7 +624,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehImageCaptureExtenderImpl.java"
-            line="155"
+            line="108"
             column="12"/>
     </issue>
 
@@ -767,7 +635,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehImageCaptureExtenderImpl.java"
-            line="171"
+            line="124"
             column="12"/>
     </issue>
 
@@ -778,7 +646,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehImageCaptureExtenderImpl.java"
-            line="181"
+            line="134"
             column="12"/>
     </issue>
 
@@ -789,7 +657,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehImageCaptureExtenderImpl.java"
-            line="196"
+            line="149"
             column="12"/>
     </issue>
 
@@ -800,7 +668,7 @@
         errorLine2="                     ~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehPreviewExtenderImpl.java"
-            line="50"
+            line="52"
             column="22"/>
     </issue>
 
@@ -811,7 +679,7 @@
         errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehPreviewExtenderImpl.java"
-            line="50"
+            line="52"
             column="39"/>
     </issue>
 
@@ -822,7 +690,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehPreviewExtenderImpl.java"
-            line="69"
+            line="71"
             column="12"/>
     </issue>
 
@@ -833,7 +701,7 @@
         errorLine2="           ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehPreviewExtenderImpl.java"
-            line="74"
+            line="76"
             column="12"/>
     </issue>
 
@@ -844,7 +712,7 @@
         errorLine2="           ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehPreviewExtenderImpl.java"
-            line="117"
+            line="119"
             column="12"/>
     </issue>
 
@@ -855,7 +723,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehPreviewExtenderImpl.java"
-            line="122"
+            line="124"
             column="12"/>
     </issue>
 
@@ -866,7 +734,7 @@
         errorLine2="                       ~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehPreviewExtenderImpl.java"
-            line="127"
+            line="129"
             column="24"/>
     </issue>
 
@@ -877,7 +745,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehPreviewExtenderImpl.java"
-            line="127"
+            line="129"
             column="41"/>
     </issue>
 
@@ -888,7 +756,7 @@
         errorLine2="            ~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehPreviewExtenderImpl.java"
-            line="128"
+            line="130"
             column="13"/>
     </issue>
 
@@ -899,7 +767,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehPreviewExtenderImpl.java"
-            line="138"
+            line="140"
             column="12"/>
     </issue>
 
@@ -910,7 +778,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehPreviewExtenderImpl.java"
-            line="154"
+            line="156"
             column="12"/>
     </issue>
 
@@ -921,7 +789,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/BokehPreviewExtenderImpl.java"
-            line="164"
+            line="166"
             column="12"/>
     </issue>
 
@@ -932,7 +800,7 @@
         errorLine2="                         ~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/CaptureProcessorImpl.java"
-            line="41"
+            line="44"
             column="26"/>
     </issue>
 
@@ -943,7 +811,7 @@
         errorLine2="                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/CaptureProcessorImpl.java"
-            line="53"
+            line="56"
             column="18"/>
     </issue>
 
@@ -954,7 +822,7 @@
         errorLine2="                            ~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/CaptureProcessorImpl.java"
-            line="62"
+            line="65"
             column="29"/>
     </issue>
 
@@ -965,7 +833,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/CaptureStageImpl.java"
-            line="37"
+            line="40"
             column="5"/>
     </issue>
 
@@ -976,7 +844,7 @@
         errorLine2="                ~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/ExtenderStateListener.java"
-            line="42"
+            line="45"
             column="17"/>
     </issue>
 
@@ -987,7 +855,7 @@
         errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/ExtenderStateListener.java"
-            line="42"
+            line="45"
             column="34"/>
     </issue>
 
@@ -998,7 +866,7 @@
         errorLine2="                                                                              ~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/ExtenderStateListener.java"
-            line="42"
+            line="45"
             column="79"/>
     </issue>
 
@@ -1009,7 +877,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/ExtenderStateListener.java"
-            line="62"
+            line="65"
             column="5"/>
     </issue>
 
@@ -1020,7 +888,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/ExtenderStateListener.java"
-            line="73"
+            line="76"
             column="5"/>
     </issue>
 
@@ -1031,7 +899,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/ExtenderStateListener.java"
-            line="83"
+            line="86"
             column="5"/>
     </issue>
 
@@ -1042,7 +910,7 @@
         errorLine2="           ~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/ExtensionVersionImpl.java"
-            line="59"
+            line="62"
             column="12"/>
     </issue>
 
@@ -1053,7 +921,7 @@
         errorLine2="                                  ~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/ExtensionVersionImpl.java"
-            line="59"
+            line="62"
             column="35"/>
     </issue>
 
@@ -1064,7 +932,7 @@
         errorLine2="                     ~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java"
-            line="59"
+            line="66"
             column="22"/>
     </issue>
 
@@ -1075,7 +943,7 @@
         errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java"
-            line="59"
+            line="66"
             column="39"/>
     </issue>
 
@@ -1086,7 +954,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java"
-            line="70"
+            line="105"
             column="12"/>
     </issue>
 
@@ -1097,7 +965,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java"
-            line="97"
+            line="132"
             column="12"/>
     </issue>
 
@@ -1108,7 +976,7 @@
         errorLine2="                       ~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java"
-            line="221"
+            line="141"
             column="24"/>
     </issue>
 
@@ -1119,7 +987,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java"
-            line="221"
+            line="141"
             column="41"/>
     </issue>
 
@@ -1130,7 +998,7 @@
         errorLine2="            ~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java"
-            line="222"
+            line="142"
             column="13"/>
     </issue>
 
@@ -1141,7 +1009,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java"
-            line="232"
+            line="152"
             column="12"/>
     </issue>
 
@@ -1152,7 +1020,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java"
-            line="244"
+            line="164"
             column="12"/>
     </issue>
 
@@ -1163,314 +1031,6 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java"
-            line="250"
-            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="    public List&lt;Pair&lt;Integer, Size[]&gt;> getSupportedResolutions() {"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java"
-            line="261"
-            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="    public void init(String cameraId, CameraCharacteristics cameraCharacteristics) {"
-        errorLine2="                     ~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
-            line="48"
-            column="22"/>
-    </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 init(String cameraId, CameraCharacteristics cameraCharacteristics) {"
-        errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
-            line="48"
-            column="39"/>
-    </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 CaptureStageImpl getCaptureStage() {"
-        errorLine2="           ~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
-            line="59"
-            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="    public ProcessorType getProcessorType() {"
-        errorLine2="           ~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
-            line="68"
-            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="    public ProcessorImpl getProcessor() {"
-        errorLine2="           ~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
-            line="73"
-            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="    public List&lt;Pair&lt;Integer, Size[]&gt;> getSupportedResolutions() {"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
-            line="78"
-            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="    public void onInit(String cameraId, CameraCharacteristics cameraCharacteristics,"
-        errorLine2="                       ~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
-            line="118"
-            column="24"/>
-    </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 onInit(String cameraId, CameraCharacteristics cameraCharacteristics,"
-        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
-            line="118"
-            column="41"/>
-    </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="            Context context) {"
-        errorLine2="            ~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
-            line="119"
-            column="13"/>
-    </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 CaptureStageImpl onPresetSession() {"
-        errorLine2="           ~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
-            line="130"
-            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="    public CaptureStageImpl onEnableSession() {"
-        errorLine2="           ~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
-            line="135"
-            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="    public CaptureStageImpl onDisableSession() {"
-        errorLine2="           ~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
-            line="140"
-            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="    boolean isExtensionAvailable(String cameraId, CameraCharacteristics cameraCharacteristics);"
-        errorLine2="                                 ~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/ImageCaptureExtenderImpl.java"
-            line="42"
-            column="34"/>
-    </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="    boolean isExtensionAvailable(String cameraId, CameraCharacteristics cameraCharacteristics);"
-        errorLine2="                                                  ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/ImageCaptureExtenderImpl.java"
-            line="42"
-            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="    void init(String cameraId, CameraCharacteristics cameraCharacteristics);"
-        errorLine2="              ~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/ImageCaptureExtenderImpl.java"
-            line="53"
-            column="15"/>
-    </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="    void init(String cameraId, CameraCharacteristics cameraCharacteristics);"
-        errorLine2="                               ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/ImageCaptureExtenderImpl.java"
-            line="53"
-            column="32"/>
-    </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="    CaptureProcessorImpl getCaptureProcessor();"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/ImageCaptureExtenderImpl.java"
-            line="58"
-            column="5"/>
-    </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="    List&lt;CaptureStageImpl> getCaptureStages();"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/ImageCaptureExtenderImpl.java"
-            line="61"
-            column="5"/>
-    </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 init(String cameraId, CameraCharacteristics cameraCharacteristics) {"
-        errorLine2="                     ~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
-            line="57"
-            column="22"/>
-    </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 init(String cameraId, CameraCharacteristics cameraCharacteristics) {"
-        errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
-            line="57"
-            column="39"/>
-    </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 List&lt;CaptureStageImpl> getCaptureStages() {"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
-            line="76"
-            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="    public CaptureProcessorImpl getCaptureProcessor() {"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
-            line="86"
-            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="    public void onInit(String cameraId, CameraCharacteristics cameraCharacteristics,"
-        errorLine2="                       ~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
-            line="143"
-            column="24"/>
-    </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 onInit(String cameraId, CameraCharacteristics cameraCharacteristics,"
-        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
-            line="143"
-            column="41"/>
-    </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="            Context context) {"
-        errorLine2="            ~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
-            line="144"
-            column="13"/>
-    </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 CaptureStageImpl onPresetSession() {"
-        errorLine2="           ~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
-            line="154"
-            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="    public CaptureStageImpl onEnableSession() {"
-        errorLine2="           ~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
             line="170"
             column="12"/>
     </issue>
@@ -1478,22 +1038,11 @@
     <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 CaptureStageImpl onDisableSession() {"
-        errorLine2="           ~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
-            line="180"
-            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="    public List&lt;Pair&lt;Integer, Size[]&gt;> getSupportedResolutions() {"
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
-            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
-            line="195"
+            file="src/main/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java"
+            line="181"
             column="12"/>
     </issue>
 
@@ -1503,8 +1052,8 @@
         errorLine1="    public void init(String cameraId, CameraCharacteristics cameraCharacteristics) {"
         errorLine2="                     ~~~~~~">
         <location
-            file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
-            line="47"
+            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
+            line="50"
             column="22"/>
     </issue>
 
@@ -1514,8 +1063,8 @@
         errorLine1="    public void init(String cameraId, CameraCharacteristics cameraCharacteristics) {"
         errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~">
         <location
-            file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
-            line="47"
+            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
+            line="50"
             column="39"/>
     </issue>
 
@@ -1525,8 +1074,8 @@
         errorLine1="    public CaptureStageImpl getCaptureStage() {"
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
-            file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
-            line="63"
+            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
+            line="61"
             column="12"/>
     </issue>
 
@@ -1536,8 +1085,8 @@
         errorLine1="    public ProcessorType getProcessorType() {"
         errorLine2="           ~~~~~~~~~~~~~">
         <location
-            file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
-            line="73"
+            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
+            line="70"
             column="12"/>
     </issue>
 
@@ -1547,8 +1096,8 @@
         errorLine1="    public ProcessorImpl getProcessor() {"
         errorLine2="           ~~~~~~~~~~~~~">
         <location
-            file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
-            line="78"
+            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
+            line="75"
             column="12"/>
     </issue>
 
@@ -1558,8 +1107,8 @@
         errorLine1="    public List&lt;Pair&lt;Integer, Size[]&gt;> getSupportedResolutions() {"
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
-            file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
-            line="83"
+            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
+            line="80"
             column="12"/>
     </issue>
 
@@ -1569,7 +1118,7 @@
         errorLine1="    public void onInit(String cameraId, CameraCharacteristics cameraCharacteristics,"
         errorLine2="                       ~~~~~~">
         <location
-            file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
+            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
             line="88"
             column="24"/>
     </issue>
@@ -1580,7 +1129,7 @@
         errorLine1="    public void onInit(String cameraId, CameraCharacteristics cameraCharacteristics,"
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~">
         <location
-            file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
+            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
             line="88"
             column="41"/>
     </issue>
@@ -1591,7 +1140,7 @@
         errorLine1="            Context context) {"
         errorLine2="            ~~~~~~~">
         <location
-            file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
+            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
             line="89"
             column="13"/>
     </issue>
@@ -1602,8 +1151,327 @@
         errorLine1="    public CaptureStageImpl onPresetSession() {"
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
+            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
+            line="100"
+            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="    public CaptureStageImpl onEnableSession() {"
+        errorLine2="           ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
+            line="105"
+            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="    public CaptureStageImpl onDisableSession() {"
+        errorLine2="           ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/HdrPreviewExtenderImpl.java"
+            line="110"
+            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="    boolean isExtensionAvailable(String cameraId, CameraCharacteristics cameraCharacteristics);"
+        errorLine2="                                 ~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/ImageCaptureExtenderImpl.java"
+            line="44"
+            column="34"/>
+    </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="    boolean isExtensionAvailable(String cameraId, CameraCharacteristics cameraCharacteristics);"
+        errorLine2="                                                  ~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/ImageCaptureExtenderImpl.java"
+            line="44"
+            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="    void init(String cameraId, CameraCharacteristics cameraCharacteristics);"
+        errorLine2="              ~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/ImageCaptureExtenderImpl.java"
+            line="55"
+            column="15"/>
+    </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="    void init(String cameraId, CameraCharacteristics cameraCharacteristics);"
+        errorLine2="                               ~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/ImageCaptureExtenderImpl.java"
+            line="55"
+            column="32"/>
+    </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="    CaptureProcessorImpl getCaptureProcessor();"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/ImageCaptureExtenderImpl.java"
+            line="60"
+            column="5"/>
+    </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="    List&lt;CaptureStageImpl> getCaptureStages();"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/ImageCaptureExtenderImpl.java"
+            line="63"
+            column="5"/>
+    </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 init(String cameraId, CameraCharacteristics cameraCharacteristics) {"
+        errorLine2="                     ~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
+            line="59"
+            column="22"/>
+    </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 init(String cameraId, CameraCharacteristics cameraCharacteristics) {"
+        errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
+            line="59"
+            column="39"/>
+    </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 List&lt;CaptureStageImpl> getCaptureStages() {"
+        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
+            line="78"
+            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="    public CaptureProcessorImpl getCaptureProcessor() {"
+        errorLine2="           ~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
+            line="88"
+            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="    public void onInit(String cameraId, CameraCharacteristics cameraCharacteristics,"
+        errorLine2="                       ~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
+            line="97"
+            column="24"/>
+    </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 onInit(String cameraId, CameraCharacteristics cameraCharacteristics,"
+        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
+            line="97"
+            column="41"/>
+    </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="            Context context) {"
+        errorLine2="            ~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
+            line="98"
+            column="13"/>
+    </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 CaptureStageImpl onPresetSession() {"
+        errorLine2="           ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
+            line="108"
+            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="    public CaptureStageImpl onEnableSession() {"
+        errorLine2="           ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
+            line="124"
+            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="    public CaptureStageImpl onDisableSession() {"
+        errorLine2="           ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
+            line="134"
+            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="    public List&lt;Pair&lt;Integer, Size[]&gt;> getSupportedResolutions() {"
+        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java"
+            line="149"
+            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="    public void init(String cameraId, CameraCharacteristics cameraCharacteristics) {"
+        errorLine2="                     ~~~~~~">
+        <location
             file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
-            line="99"
+            line="49"
+            column="22"/>
+    </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 init(String cameraId, CameraCharacteristics cameraCharacteristics) {"
+        errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
+            line="49"
+            column="39"/>
+    </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 CaptureStageImpl getCaptureStage() {"
+        errorLine2="           ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
+            line="65"
+            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="    public ProcessorType getProcessorType() {"
+        errorLine2="           ~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
+            line="75"
+            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="    public ProcessorImpl getProcessor() {"
+        errorLine2="           ~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
+            line="80"
+            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="    public List&lt;Pair&lt;Integer, Size[]&gt;> getSupportedResolutions() {"
+        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
+            line="85"
+            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="    public void onInit(String cameraId, CameraCharacteristics cameraCharacteristics,"
+        errorLine2="                       ~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
+            line="90"
+            column="24"/>
+    </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 onInit(String cameraId, CameraCharacteristics cameraCharacteristics,"
+        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
+            line="90"
+            column="41"/>
+    </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="            Context context) {"
+        errorLine2="            ~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
+            line="91"
+            column="13"/>
+    </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 CaptureStageImpl onPresetSession() {"
+        errorLine2="           ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
+            line="101"
             column="12"/>
     </issue>
 
@@ -1614,7 +1482,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
-            line="115"
+            line="117"
             column="12"/>
     </issue>
 
@@ -1625,7 +1493,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/NightPreviewExtenderImpl.java"
-            line="125"
+            line="127"
             column="12"/>
     </issue>
 
@@ -1636,7 +1504,7 @@
         errorLine2="                                 ~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/PreviewExtenderImpl.java"
-            line="52"
+            line="54"
             column="34"/>
     </issue>
 
@@ -1647,7 +1515,7 @@
         errorLine2="                                                  ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/PreviewExtenderImpl.java"
-            line="52"
+            line="54"
             column="51"/>
     </issue>
 
@@ -1658,7 +1526,7 @@
         errorLine2="              ~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/PreviewExtenderImpl.java"
-            line="63"
+            line="65"
             column="15"/>
     </issue>
 
@@ -1669,7 +1537,7 @@
         errorLine2="                               ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/PreviewExtenderImpl.java"
-            line="63"
+            line="65"
             column="32"/>
     </issue>
 
@@ -1680,7 +1548,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/PreviewExtenderImpl.java"
-            line="76"
+            line="78"
             column="5"/>
     </issue>
 
@@ -1691,7 +1559,7 @@
         errorLine2="    ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/PreviewExtenderImpl.java"
-            line="79"
+            line="81"
             column="5"/>
     </issue>
 
@@ -1702,7 +1570,7 @@
         errorLine2="    ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/PreviewExtenderImpl.java"
-            line="94"
+            line="96"
             column="5"/>
     </issue>
 
@@ -1713,7 +1581,7 @@
         errorLine2="                 ~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/PreviewImageProcessorImpl.java"
-            line="40"
+            line="43"
             column="18"/>
     </issue>
 
@@ -1724,7 +1592,7 @@
         errorLine2="                              ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/PreviewImageProcessorImpl.java"
-            line="40"
+            line="43"
             column="31"/>
     </issue>
 
@@ -1735,7 +1603,7 @@
         errorLine2="                         ~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/ProcessorImpl.java"
-            line="34"
+            line="37"
             column="26"/>
     </issue>
 
@@ -1746,7 +1614,7 @@
         errorLine2="                            ~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/ProcessorImpl.java"
-            line="44"
+            line="47"
             column="29"/>
     </issue>
 
@@ -1757,7 +1625,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/RequestUpdateProcessorImpl.java"
-            line="35"
+            line="38"
             column="5"/>
     </issue>
 
@@ -1768,7 +1636,7 @@
         errorLine2="                             ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/extensions/impl/RequestUpdateProcessorImpl.java"
-            line="35"
+            line="38"
             column="30"/>
     </issue>
 
diff --git a/camera/camera-video/lint-baseline.xml b/camera/camera-video/lint-baseline.xml
index 896856e..6d7710c 100644
--- a/camera/camera-video/lint-baseline.xml
+++ b/camera/camera-video/lint-baseline.xml
@@ -1,37 +1,169 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
-        id="NewApi"
-        message="Call requires API level 26 (current min is 25): `prepareRecording`"
-        errorLine1="            recorder.prepareRecording(outputOptions)"
-        errorLine2="                     ~~~~~~~~~~~~~~~~">
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
         <location
-            file="src/androidTest/java/androidx/camera/video/RecorderTest.kt"
-            line="298"
-            column="22"/>
+            file="src/main/java/androidx/camera/video/internal/encoder/EncoderImpl.java"
+            line="769"
+            column="5"/>
     </issue>
 
     <issue
-        id="WrongConstant"
-        message="Must be one of: OutputFormat.MUXER_OUTPUT_MPEG_4, OutputFormat.MUXER_OUTPUT_WEBM, OutputFormat.MUXER_OUTPUT_3GPP, OutputFormat.MUXER_OUTPUT_HEIF, OutputFormat.MUXER_OUTPUT_OGG"
-        errorLine1="                        outputFormat);"
-        errorLine2="                        ~~~~~~~~~~~~">
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
         <location
-            file="src/main/java/androidx/camera/video/Recorder.java"
-            line="929"
-            column="25"/>
+            file="src/main/java/androidx/camera/video/internal/encoder/EncoderImpl.java"
+            line="1106"
+            column="5"/>
     </issue>
 
     <issue
-        id="WrongConstant"
-        message="Must be one of: OutputFormat.MUXER_OUTPUT_MPEG_4, OutputFormat.MUXER_OUTPUT_WEBM, OutputFormat.MUXER_OUTPUT_3GPP, OutputFormat.MUXER_OUTPUT_HEIF, OutputFormat.MUXER_OUTPUT_OGG"
-        errorLine1="                    mMediaMuxer = new MediaMuxer(path, outputFormat);"
-        errorLine2="                                                       ~~~~~~~~~~~~">
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/video/FileDescriptorOutputOptions.java"
+            line="95"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/video/FileOutputOptions.java"
+            line="87"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/video/MediaStoreOutputOptions.java"
+            line="144"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/video/QualitySelector.java"
+            line="531"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/video/Recorder.java"
-            line="964"
-            column="56"/>
+            line="2170"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/video/Recorder.java"
+            line="2295"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/video/VideoCapture.java"
+            line="580"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/video/VideoCaptureLegacy.java"
+            line="1121"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/video/VideoRecordEvent.java"
+            line="135"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/video/VideoRecordEvent.java"
+            line="231"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/video/VideoRecordEvent.java"
+            line="406"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/video/VideoRecordEvent.java"
+            line="426"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/video/VideoRecordEvent.java"
+            line="446"
+            column="5"/>
     </issue>
 
 </issues>
diff --git a/camera/camera-view/lint-baseline.xml b/camera/camera-view/lint-baseline.xml
index 90df4da..2cf141e 100644
--- a/camera/camera-view/lint-baseline.xml
+++ b/camera/camera-view/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
         id="UnsafeOptInUsageError"
@@ -8,7 +8,7 @@
         errorLine2="                                ~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/view/PreviewView.java"
-            line="566"
+            line="568"
             column="33"/>
     </issue>
 
@@ -19,7 +19,7 @@
         errorLine2="                                ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/view/PreviewView.java"
-            line="568"
+            line="570"
             column="33"/>
     </issue>
 
@@ -30,7 +30,7 @@
         errorLine2="                                ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/view/PreviewView.java"
-            line="570"
+            line="572"
             column="33"/>
     </issue>
 
@@ -41,8 +41,52 @@
         errorLine2="                                ~~~">
         <location
             file="src/main/java/androidx/camera/view/PreviewView.java"
-            line="576"
+            line="578"
             column="33"/>
     </issue>
 
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/view/CameraController.java"
+            line="1751"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/view/PreviewView.java"
+            line="630"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/view/PreviewView.java"
+            line="686"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/camera/view/SurfaceViewImplementation.java"
+            line="151"
+            column="5"/>
+    </issue>
+
 </issues>
diff --git a/camera/integration-tests/camerapipetestapp/lint-baseline.xml b/camera/integration-tests/camerapipetestapp/lint-baseline.xml
index b8de2b8..235520c 100644
--- a/camera/integration-tests/camerapipetestapp/lint-baseline.xml
+++ b/camera/integration-tests/camerapipetestapp/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ClassVerificationFailure"
diff --git a/camera/integration-tests/coretestapp/lint-baseline.xml b/camera/integration-tests/coretestapp/lint-baseline.xml
index 4560f89..9d8f2c8 100644
--- a/camera/integration-tests/coretestapp/lint-baseline.xml
+++ b/camera/integration-tests/coretestapp/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
@@ -24,35 +24,13 @@
     </issue>
 
     <issue
-        id="NewApi"
-        message="Call requires API level 23 (current min is 21): `android.media.ImageWriter#newInstance`"
-        errorLine1="            imageWriter = ImageWriter.newInstance(surface, 2)"
-        errorLine2="                                      ~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/camera/integration/core/ImageCaptureTest.kt"
-            line="1512"
-            column="39"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 23 (current min is 21): `android.media.ImageWriter#queueInputImage`"
-        errorLine1="                imageWriter!!.queueInputImage(imageProxy.image)"
-        errorLine2="                              ~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/camera/integration/core/ImageCaptureTest.kt"
-            line="1520"
-            column="31"/>
-    </issue>
-
-    <issue
         id="SyntheticAccessor"
         message="Access to `private` field `mImageAnalysisResult` of class `CameraXActivity` requires synthetic accessor"
         errorLine1="            mImageAnalysisResult.setValue("
         errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/integration/core/CameraXActivity.java"
-            line="180"
+            line="206"
             column="13"/>
     </issue>
 
@@ -63,7 +41,7 @@
         errorLine2="                     ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/integration/core/CameraXActivity.java"
-            line="183"
+            line="209"
             column="22"/>
     </issue>
 
@@ -74,7 +52,7 @@
         errorLine2="                    ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/integration/core/CameraXActivity.java"
-            line="184"
+            line="210"
             column="21"/>
     </issue>
 
@@ -85,7 +63,7 @@
         errorLine2="                        ~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/integration/core/CameraXActivity.java"
-            line="380"
+            line="537"
             column="25"/>
     </issue>
 
@@ -96,7 +74,7 @@
         errorLine2="                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/integration/core/CameraXActivity.java"
-            line="383"
+            line="540"
             column="25"/>
     </issue>
 
@@ -107,7 +85,7 @@
         errorLine2="                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/integration/core/CameraXActivity.java"
-            line="392"
+            line="549"
             column="33"/>
     </issue>
 
@@ -118,7 +96,7 @@
         errorLine2="                                            ~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/integration/core/CameraXActivity.java"
-            line="401"
+            line="558"
             column="45"/>
     </issue>
 
@@ -129,7 +107,7 @@
         errorLine2="                                            ~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/camera/integration/core/CameraXActivity.java"
-            line="423"
+            line="580"
             column="45"/>
     </issue>
 
@@ -177,26 +155,4 @@
             column="19"/>
     </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 OutputFileOptions getNewVideoOutputFileOptions(ContentResolver resolver) {"
-        errorLine2="           ~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/integration/core/VideoFileSaver.java"
-            line="66"
-            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="    public OutputFileOptions getNewVideoOutputFileOptions(ContentResolver resolver) {"
-        errorLine2="                                                          ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/camera/integration/core/VideoFileSaver.java"
-            line="66"
-            column="59"/>
-    </issue>
-
 </issues>
diff --git a/camera/integration-tests/extensionstestapp/lint-baseline.xml b/camera/integration-tests/extensionstestapp/lint-baseline.xml
index 4e7aca8..225b4fb 100644
--- a/camera/integration-tests/extensionstestapp/lint-baseline.xml
+++ b/camera/integration-tests/extensionstestapp/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
diff --git a/camera/integration-tests/timingtestapp/lint-baseline.xml b/camera/integration-tests/timingtestapp/lint-baseline.xml
index 56aa960..628280f 100644
--- a/camera/integration-tests/timingtestapp/lint-baseline.xml
+++ b/camera/integration-tests/timingtestapp/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ClassVerificationFailure"
diff --git a/camera/integration-tests/uiwidgetstestapp/lint-baseline.xml b/camera/integration-tests/uiwidgetstestapp/lint-baseline.xml
index 4baa02f..2116f70 100644
--- a/camera/integration-tests/uiwidgetstestapp/lint-baseline.xml
+++ b/camera/integration-tests/uiwidgetstestapp/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="SyntheticAccessor"
diff --git a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/foldable/FoldableCameraActivity.kt b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/foldable/FoldableCameraActivity.kt
index 65b7f42..f2f0b4e 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/foldable/FoldableCameraActivity.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/foldable/FoldableCameraActivity.kt
@@ -20,6 +20,7 @@
 import android.content.ContentValues
 import android.content.Context
 import android.content.pm.PackageManager
+import android.content.res.Configuration
 import android.graphics.Point
 import android.graphics.Rect
 import android.hardware.camera2.CameraCharacteristics
@@ -69,6 +70,7 @@
 import androidx.window.layout.WindowInfoRepository.Companion.windowInfoRepository
 import androidx.window.layout.WindowLayoutInfo
 import androidx.window.layout.WindowMetrics
+import androidx.window.layout.WindowMetricsCalculator
 import kotlinx.coroutines.flow.collect
 import kotlinx.coroutines.launch
 
@@ -93,7 +95,8 @@
     private var currentCameraSelector = CameraSelector.DEFAULT_BACK_CAMERA
     private var isPreviewInLeftTop = true
     private var activeWindowLayoutInfo: WindowLayoutInfo? = null
-    private var lastWindowMetrics: WindowMetrics? = null
+    private val lastWindowMetrics: WindowMetrics
+        get() = WindowMetricsCalculator.getOrCreate().computeCurrentWindowMetrics(this)
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
@@ -114,6 +117,11 @@
         }
     }
 
+    override fun onConfigurationChanged(newConfig: Configuration) {
+        super.onConfigurationChanged(newConfig)
+        showCamerasAndDisplayInfo()
+    }
+
     override fun onSaveInstanceState(outState: Bundle) {
         super.onSaveInstanceState(outState)
         outState.putString(KEY_CAMERA_SELECTOR, currentCameraSelectorString)
@@ -160,14 +168,7 @@
             setupUI()
         }
 
-        // Runs Flow.collect in separate coroutine because it will block the coroutine.
-        lifecycleScope.launch {
-            windowInfoRepository.currentWindowMetrics.collect {
-                Log.d(TAG, "currentWindowMetrics: ${it.bounds}")
-                lastWindowMetrics = it
-                showCamerasAndDisplayInfo()
-            }
-        }
+        showCamerasAndDisplayInfo()
 
         // Runs Flow.collect in separate coroutine because it will block the coroutine.
         lifecycleScope.launch {
@@ -398,7 +399,7 @@
                 "rot=${display.rotationString}\n"
         }
 
-        totalMsg += "WindowMetrics=${lastWindowMetrics?.bounds}\n"
+        totalMsg += "WindowMetrics=${lastWindowMetrics.bounds}\n"
 
         for (id in cameraManager.cameraIdList) {
             val characteristics = cameraManager.getCameraCharacteristics(id)
diff --git a/camera/integration-tests/viewtestapp/lint-baseline.xml b/camera/integration-tests/viewtestapp/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/camera/integration-tests/viewtestapp/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/car/app/app-automotive/lint-baseline.xml b/car/app/app-automotive/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/car/app/app-automotive/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/car/app/app-projected/lint-baseline.xml b/car/app/app-projected/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/car/app/app-projected/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/car/app/app-samples/helloworld/automotive/lint-baseline.xml b/car/app/app-samples/helloworld/automotive/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/car/app/app-samples/helloworld/automotive/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/car/app/app-samples/helloworld/common/lint-baseline.xml b/car/app/app-samples/helloworld/common/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/car/app/app-samples/helloworld/common/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/car/app/app-samples/helloworld/mobile/lint-baseline.xml b/car/app/app-samples/helloworld/mobile/lint-baseline.xml
index 14802ab..814d75b 100644
--- a/car/app/app-samples/helloworld/mobile/lint-baseline.xml
+++ b/car/app/app-samples/helloworld/mobile/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="Instantiatable"
diff --git a/car/app/app-samples/navigation/automotive/lint-baseline.xml b/car/app/app-samples/navigation/automotive/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/car/app/app-samples/navigation/automotive/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/car/app/app-samples/navigation/common/lint-baseline.xml b/car/app/app-samples/navigation/common/lint-baseline.xml
index e927ed7..c58b979 100644
--- a/car/app/app-samples/navigation/common/lint-baseline.xml
+++ b/car/app/app-samples/navigation/common/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ClassVerificationFailure"
@@ -8,7 +8,7 @@
         errorLine2="                    ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/car/app/sample/navigation/common/car/NavigationCarAppService.java"
-            line="104"
+            line="102"
             column="21"/>
     </issue>
 
@@ -19,7 +19,7 @@
         errorLine2="                                ~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/car/app/sample/navigation/common/car/NavigationCarAppService.java"
-            line="105"
+            line="103"
             column="33"/>
     </issue>
 
@@ -96,7 +96,7 @@
         errorLine2="                    ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/car/app/sample/navigation/common/nav/NavigationService.java"
-            line="503"
+            line="502"
             column="21"/>
     </issue>
 
@@ -107,7 +107,7 @@
         errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/car/app/sample/navigation/common/nav/NavigationService.java"
-            line="504"
+            line="503"
             column="34"/>
     </issue>
 
diff --git a/car/app/app-samples/navigation/mobile/lint-baseline.xml b/car/app/app-samples/navigation/mobile/lint-baseline.xml
index 1f71361..1c7225e 100644
--- a/car/app/app-samples/navigation/mobile/lint-baseline.xml
+++ b/car/app/app-samples/navigation/mobile/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="Instantiatable"
@@ -8,7 +8,7 @@
         errorLine2="                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/AndroidManifest.xml"
-            line="37"
+            line="38"
             column="23"/>
     </issue>
 
@@ -19,7 +19,7 @@
         errorLine2="                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/AndroidManifest.xml"
-            line="54"
+            line="55"
             column="23"/>
     </issue>
 
diff --git a/car/app/app-samples/places/automotive/lint-baseline.xml b/car/app/app-samples/places/automotive/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/car/app/app-samples/places/automotive/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/car/app/app-samples/places/common/lint-baseline.xml b/car/app/app-samples/places/common/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/car/app/app-samples/places/common/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/car/app/app-samples/places/mobile/lint-baseline.xml b/car/app/app-samples/places/mobile/lint-baseline.xml
index ea00bc2..8682e08 100644
--- a/car/app/app-samples/places/mobile/lint-baseline.xml
+++ b/car/app/app-samples/places/mobile/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="Instantiatable"
@@ -8,7 +8,7 @@
         errorLine2="                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/AndroidManifest.xml"
-            line="49"
+            line="50"
             column="23"/>
     </issue>
 
diff --git a/car/app/app-samples/showcase/automotive/lint-baseline.xml b/car/app/app-samples/showcase/automotive/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/car/app/app-samples/showcase/automotive/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/car/app/app-samples/showcase/common/lint-baseline.xml b/car/app/app-samples/showcase/common/lint-baseline.xml
index 41d7627..28cd994 100644
--- a/car/app/app-samples/showcase/common/lint-baseline.xml
+++ b/car/app/app-samples/showcase/common/lint-baseline.xml
@@ -1,16 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 26; however, the containing class androidx.car.app.sample.showcase.common.navigation.NavigationNotificationService is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                    new NotificationChannel("
-        errorLine2="                    ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/car/app/sample/showcase/common/navigation/NavigationNotificationService.java"
-            line="112"
-            column="21"/>
-    </issue>
+<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">
 
     <issue
         id="ClassVerificationFailure"
@@ -23,15 +12,4 @@
             column="49"/>
     </issue>
 
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 26; however, the containing class androidx.car.app.sample.showcase.common.misc.NotificationDemoScreen is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                    new NotificationChannel("
-        errorLine2="                    ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/car/app/sample/showcase/common/misc/NotificationDemoScreen.java"
-            line="228"
-            column="21"/>
-    </issue>
-
 </issues>
diff --git a/car/app/app-samples/showcase/common/src/main/java/androidx/car/app/sample/showcase/common/templates/SignInTemplateDemoScreen.java b/car/app/app-samples/showcase/common/src/main/java/androidx/car/app/sample/showcase/common/templates/SignInTemplateDemoScreen.java
index 6805bde..5d005f4 100644
--- a/car/app/app-samples/showcase/common/src/main/java/androidx/car/app/sample/showcase/common/templates/SignInTemplateDemoScreen.java
+++ b/car/app/app-samples/showcase/common/src/main/java/androidx/car/app/sample/showcase/common/templates/SignInTemplateDemoScreen.java
@@ -184,7 +184,7 @@
         return new SignInTemplate.Builder(signInMethod)
                 .addAction(mProviderSignInAction)
                 .addAction(mQRCodeSignInAction)
-                .setTitle("Sign in with username and password")
+                .setTitle("Sign in")
                 .setInstructions("Enter your credentials")
                 .setHeaderAction(Action.BACK)
                 .setAdditionalText(mAdditionalText)
@@ -252,7 +252,7 @@
         return new SignInTemplate.Builder(signInMethod)
                 .addAction(mProviderSignInAction)
                 .addAction(mQRCodeSignInAction)
-                .setTitle("Sign in with username and password")
+                .setTitle("Sign in")
                 .setInstructions("Username: " + mUsername)
                 .setHeaderAction(Action.BACK)
                 .setAdditionalText(mAdditionalText)
@@ -262,7 +262,7 @@
     private Template getPinSignInTemplate() {
         PinSignInMethod pinSignInMethod = new PinSignInMethod("123456789ABC");
         return new SignInTemplate.Builder(pinSignInMethod)
-                .setTitle("Sign in with PIN")
+                .setTitle("Sign in")
                 .setInstructions("Type this PIN in your phone")
                 .setHeaderAction(Action.BACK)
                 .setAdditionalText(mAdditionalText)
@@ -299,7 +299,7 @@
                                 this::performSignInWithGoogleFlow)).build());
 
         return new SignInTemplate.Builder(providerSignInMethod)
-                .setTitle("Sign in with Google")
+                .setTitle("Sign in")
                 .setInstructions("Use this button to complete your Google sign-in")
                 .setHeaderAction(Action.BACK)
                 .setAdditionalText(mAdditionalText)
diff --git a/car/app/app-samples/showcase/mobile/lint-baseline.xml b/car/app/app-samples/showcase/mobile/lint-baseline.xml
index 51b60eb..6548487 100644
--- a/car/app/app-samples/showcase/mobile/lint-baseline.xml
+++ b/car/app/app-samples/showcase/mobile/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="Instantiatable"
@@ -8,7 +8,7 @@
         errorLine2="                      ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/AndroidManifest.xml"
-            line="56"
+            line="62"
             column="23"/>
     </issue>
 
@@ -19,7 +19,7 @@
         errorLine2="                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/AndroidManifest.xml"
-            line="70"
+            line="76"
             column="23"/>
     </issue>
 
diff --git a/car/app/app-testing/lint-baseline.xml b/car/app/app-testing/lint-baseline.xml
index a412c08..1ba76e1 100644
--- a/car/app/app-testing/lint-baseline.xml
+++ b/car/app/app-testing/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="NewApi"
diff --git a/car/app/app/lint-baseline.xml b/car/app/app/lint-baseline.xml
index efbb573..1377ebc 100644
--- a/car/app/app/lint-baseline.xml
+++ b/car/app/app/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
         id="NewApi"
@@ -30,7 +30,7 @@
         errorLine2="                                                                 ~~~~~~~~~~">
         <location
             file="src/test/java/androidx/car/app/CarAppServiceTest.java"
-            line="212"
+            line="231"
             column="66"/>
     </issue>
 
@@ -41,7 +41,7 @@
         errorLine2="                                                                              ~~~">
         <location
             file="src/test/java/androidx/car/app/CarAppServiceTest.java"
-            line="212"
+            line="231"
             column="79"/>
     </issue>
 
@@ -52,7 +52,7 @@
         errorLine2="                                                                 ~~~~~~~~~~">
         <location
             file="src/test/java/androidx/car/app/CarAppServiceTest.java"
-            line="275"
+            line="294"
             column="66"/>
     </issue>
 
@@ -63,7 +63,7 @@
         errorLine2="                                                                              ~~~">
         <location
             file="src/test/java/androidx/car/app/CarAppServiceTest.java"
-            line="275"
+            line="294"
             column="79"/>
     </issue>
 
@@ -74,7 +74,7 @@
         errorLine2="                                                                 ~~~~~~~~~~">
         <location
             file="src/test/java/androidx/car/app/CarContextTest.java"
-            line="224"
+            line="245"
             column="66"/>
     </issue>
 
@@ -85,7 +85,7 @@
         errorLine2="                                                                              ~~~">
         <location
             file="src/test/java/androidx/car/app/CarContextTest.java"
-            line="224"
+            line="245"
             column="79"/>
     </issue>
 
@@ -459,7 +459,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/car/app/CarContext.java"
-            line="583"
+            line="645"
             column="27"/>
     </issue>
 
diff --git a/cardview/cardview/lint-baseline.xml b/cardview/cardview/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/cardview/cardview/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/collection/collection-benchmark/lint-baseline.xml b/collection/collection-benchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/collection/collection-benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/collection/collection-ktx/lint-baseline.xml b/collection/collection-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/collection/collection-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/collection/collection/lint-baseline.xml b/collection/collection/lint-baseline.xml
index 5769268..6a8c09a 100644
--- a/collection/collection/lint-baseline.xml
+++ b/collection/collection/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="BanSynchronizedMethods"
diff --git a/collection/collection/src/main/baseline-prof.txt b/collection/collection/src/main/baseline-prof.txt
new file mode 100644
index 0000000..1a76703
--- /dev/null
+++ b/collection/collection/src/main/baseline-prof.txt
@@ -0,0 +1,84 @@
+# Baseline Profiles for androidx.collections
+
+HSPLandroidx/collection/ArrayMap;-><init>()V
+HSPLandroidx/collection/ArraySet$1;-><init>(Landroidx/collection/ArraySet;)V
+HSPLandroidx/collection/ArraySet$1;->colGetSize()I
+HSPLandroidx/collection/ArraySet;-><clinit>()V
+HSPLandroidx/collection/ArraySet;-><init>()V
+HSPLandroidx/collection/ArraySet;-><init>(I)V
+HSPLandroidx/collection/ArraySet;->add(Ljava/lang/Object;)Z
+HSPLandroidx/collection/ArraySet;->allocArrays(I)V
+HSPLandroidx/collection/ArraySet;->clear()V
+HSPLandroidx/collection/ArraySet;->freeArrays([I[Ljava/lang/Object;I)V
+HSPLandroidx/collection/ArraySet;->getCollection()Landroidx/collection/MapCollections;
+HSPLandroidx/collection/ArraySet;->indexOf(Ljava/lang/Object;I)I
+HSPLandroidx/collection/ArraySet;->iterator()Ljava/util/Iterator;
+HSPLandroidx/collection/ArraySet;->toArray()[Ljava/lang/Object;
+HSPLandroidx/collection/ContainerHelpers;-><clinit>()V
+HSPLandroidx/collection/ContainerHelpers;->binarySearch([III)I
+HSPLandroidx/collection/ContainerHelpers;->binarySearch([JIJ)I
+HSPLandroidx/collection/ContainerHelpers;->idealByteArraySize(I)I
+HSPLandroidx/collection/ContainerHelpers;->idealIntArraySize(I)I
+HSPLandroidx/collection/ContainerHelpers;->idealLongArraySize(I)I
+HSPLandroidx/collection/LongSparseArray;-><clinit>()V
+HSPLandroidx/collection/LongSparseArray;-><init>()V
+HSPLandroidx/collection/LongSparseArray;-><init>(I)V
+HSPLandroidx/collection/LongSparseArray;->clear()V
+HSPLandroidx/collection/LongSparseArray;->get(J)Ljava/lang/Object;
+HSPLandroidx/collection/LongSparseArray;->get(JLjava/lang/Object;)Ljava/lang/Object;
+HSPLandroidx/collection/LongSparseArray;->size()I
+HSPLandroidx/collection/LruCache;-><init>(I)V
+HSPLandroidx/collection/MapCollections$ArrayIterator;-><init>(Landroidx/collection/MapCollections;I)V
+HSPLandroidx/collection/MapCollections$ArrayIterator;->hasNext()Z
+HSPLandroidx/collection/MapCollections$KeySet;-><init>(Landroidx/collection/MapCollections;)V
+HSPLandroidx/collection/MapCollections$KeySet;->iterator()Ljava/util/Iterator;
+HSPLandroidx/collection/MapCollections;-><init>()V
+HSPLandroidx/collection/MapCollections;->getKeySet()Ljava/util/Set;
+HSPLandroidx/collection/SimpleArrayMap;-><init>()V
+HSPLandroidx/collection/SimpleArrayMap;->allocArrays(I)V
+HSPLandroidx/collection/SimpleArrayMap;->binarySearchHashes([III)I
+HSPLandroidx/collection/SimpleArrayMap;->clear()V
+HSPLandroidx/collection/SimpleArrayMap;->freeArrays([I[Ljava/lang/Object;I)V
+HSPLandroidx/collection/SimpleArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroidx/collection/SimpleArrayMap;->getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroidx/collection/SimpleArrayMap;->indexOf(Ljava/lang/Object;I)I
+HSPLandroidx/collection/SimpleArrayMap;->indexOfKey(Ljava/lang/Object;)I
+HSPLandroidx/collection/SimpleArrayMap;->keyAt(I)Ljava/lang/Object;
+HSPLandroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroidx/collection/SimpleArrayMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroidx/collection/SimpleArrayMap;->removeAt(I)Ljava/lang/Object;
+HSPLandroidx/collection/SimpleArrayMap;->size()I
+HSPLandroidx/collection/SparseArrayCompat;-><clinit>()V
+HSPLandroidx/collection/SparseArrayCompat;-><init>()V
+HSPLandroidx/collection/SparseArrayCompat;-><init>(I)V
+HSPLandroidx/collection/SparseArrayCompat;->containsValue(Ljava/lang/Object;)Z
+HSPLandroidx/collection/SparseArrayCompat;->get(I)Ljava/lang/Object;
+HSPLandroidx/collection/SparseArrayCompat;->get(ILjava/lang/Object;)Ljava/lang/Object;
+HSPLandroidx/collection/SparseArrayCompat;->indexOfValue(Ljava/lang/Object;)I
+HSPLandroidx/collection/SparseArrayCompat;->keyAt(I)I
+HSPLandroidx/collection/SparseArrayCompat;->put(ILjava/lang/Object;)V
+HSPLandroidx/collection/SparseArrayCompat;->size()I
+HSPLandroidx/collection/SparseArrayCompat;->valueAt(I)Ljava/lang/Object;
+HSPLandroidx/collection/SparseArrayKt$valueIterator$1;-><init>(Landroidx/collection/SparseArrayCompat;)V
+HSPLandroidx/collection/SparseArrayKt$valueIterator$1;->hasNext()Z
+HSPLandroidx/collection/SparseArrayKt$valueIterator$1;->next()Ljava/lang/Object;
+HSPLandroidx/collection/SparseArrayKt;->valueIterator(Landroidx/collection/SparseArrayCompat;)Ljava/util/Iterator;
+Landroidx/collection/ArrayMap;
+Landroidx/collection/ArraySet$1;
+Landroidx/collection/ArraySet;
+Landroidx/collection/ContainerHelpers;
+Landroidx/collection/LongSparseArray;
+Landroidx/collection/LruCache;
+Landroidx/collection/MapCollections$ArrayIterator;
+Landroidx/collection/MapCollections$KeySet;
+Landroidx/collection/MapCollections;
+Landroidx/collection/SimpleArrayMap;
+Landroidx/collection/SparseArrayCompat;
+Landroidx/collection/SparseArrayKt$valueIterator$1;
+Landroidx/collection/SparseArrayKt;
+PLandroidx/collection/ArraySet$1;->colGetEntry(II)Ljava/lang/Object;
+PLandroidx/collection/ArraySet$1;->colRemoveAt(I)V
+PLandroidx/collection/ArraySet;->removeAt(I)Ljava/lang/Object;
+PLandroidx/collection/MapCollections$ArrayIterator;->next()Ljava/lang/Object;
+PLandroidx/collection/MapCollections$ArrayIterator;->remove()V
+PLandroidx/collection/SparseArrayCompat;->clear()V
diff --git a/collection/integration-tests/testapp/lint-baseline.xml b/collection/integration-tests/testapp/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/collection/integration-tests/testapp/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/collection2/collection2/integration-tests/publishing/lint-baseline.xml b/collection2/collection2/integration-tests/publishing/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/collection2/collection2/integration-tests/publishing/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/collection2/collection2/integration-tests/publishing/src/test/kotlin/androidx/room/gradle/CollectionTest.kt b/collection2/collection2/integration-tests/publishing/src/test/kotlin/androidx/room/gradle/CollectionTest.kt
index 3f31e1a..9e87e91 100644
--- a/collection2/collection2/integration-tests/publishing/src/test/kotlin/androidx/room/gradle/CollectionTest.kt
+++ b/collection2/collection2/integration-tests/publishing/src/test/kotlin/androidx/room/gradle/CollectionTest.kt
@@ -31,7 +31,7 @@
         val c1metadata = getPublishedFile("androidx/collection/collection/maven-metadata.xml")
         val c2metadata = getPublishedFile("androidx/collection2/collection2/maven-metadata.xml")
         c1metadata.readLines().zip(c2metadata.readLines()).forEach { (c1, c2) ->
-            if (!c1.contains("lastUpdated")) {
+            if (!c1.contains("lastUpdated") && !c1.contains("beta")) {
                 Assert.assertEquals(c1.replace("collection", "collection2"), c2)
             }
         }
diff --git a/collection2/collection2/lint-baseline.xml b/collection2/collection2/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/collection2/collection2/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/animation/animation-core-lint/lint-baseline.xml b/compose/animation/animation-core-lint/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/animation/animation-core-lint/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/animation/animation-core/benchmark/lint-baseline.xml b/compose/animation/animation-core/benchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/animation/animation-core/benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/animation/animation-core/lint-baseline.xml b/compose/animation/animation-core/lint-baseline.xml
index 94fd5e3..53e49c7e 100644
--- a/compose/animation/animation-core/lint-baseline.xml
+++ b/compose/animation/animation-core/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
diff --git a/compose/animation/animation-core/samples/lint-baseline.xml b/compose/animation/animation-core/samples/lint-baseline.xml
new file mode 100644
index 0000000..26f66b1
--- /dev/null
+++ b/compose/animation/animation-core/samples/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/compose/animation/animation-graphics/lint-baseline.xml b/compose/animation/animation-graphics/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/animation/animation-graphics/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/animation/animation-graphics/samples/lint-baseline.xml b/compose/animation/animation-graphics/samples/lint-baseline.xml
new file mode 100644
index 0000000..c6c7f6e
--- /dev/null
+++ b/compose/animation/animation-graphics/samples/lint-baseline.xml
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="140"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="145"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="149"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="153"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="158"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="162"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="166"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="170"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="174"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="186"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="191"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="196"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="206"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.LOLLIPOP)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="136"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="1311"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat.android.kt"
+            line="2557"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFont.kt"
+            line="133"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidFontListTypeface.android.kt"
+            line="160"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoader.android.kt"
+            line="52"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="82"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="95"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="36"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="43"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeLayer.android.kt"
+            line="93"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(api = 18)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../../../text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.kt"
+            line="296"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 28 here from outer annotations"
+        errorLine1="    @RequiresApi(28)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/TypefaceAdapter.android.kt"
+            line="271"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.android.kt"
+            line="97"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.Q)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/Wrapper.android.kt"
+            line="214"
+            column="5"/>
+    </issue>
+
+</issues>
diff --git a/compose/animation/animation-lint/lint-baseline.xml b/compose/animation/animation-lint/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/animation/animation-lint/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/animation/animation-tooling-internal/lint-baseline.xml b/compose/animation/animation-tooling-internal/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/compose/animation/animation-tooling-internal/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/compose/animation/animation/integration-tests/animation-demos/lint-baseline.xml b/compose/animation/animation/integration-tests/animation-demos/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/animation/animation/integration-tests/animation-demos/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/animation/animation/lint-baseline.xml b/compose/animation/animation/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/animation/animation/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/animation/animation/samples/lint-baseline.xml b/compose/animation/animation/samples/lint-baseline.xml
new file mode 100644
index 0000000..26f66b1
--- /dev/null
+++ b/compose/animation/animation/samples/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/compose/benchmark-utils/benchmark/lint-baseline.xml b/compose/benchmark-utils/benchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/benchmark-utils/benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/benchmark-utils/lint-baseline.xml b/compose/benchmark-utils/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/benchmark-utils/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/compiler/compiler-hosted/integration-tests/kotlin-compiler-repackaged/lint-baseline.xml b/compose/compiler/compiler-hosted/integration-tests/kotlin-compiler-repackaged/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/compiler/compiler-hosted/integration-tests/kotlin-compiler-repackaged/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/compiler/compiler-hosted/integration-tests/lint-baseline.xml b/compose/compiler/compiler-hosted/integration-tests/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/compiler/compiler-hosted/integration-tests/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ControlFlowTransformTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ControlFlowTransformTests.kt
index 871ebfb..251d6f1 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ControlFlowTransformTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ControlFlowTransformTests.kt
@@ -184,6 +184,55 @@
     )
 
     @Test
+    fun testInlineReturnLabel(): Unit = controlFlow(
+        """
+            @Composable
+            @NonRestartableComposable
+            fun CustomTextBroken(condition: Boolean) {
+                FakeBox {
+                    if (condition) {
+                        return@FakeBox
+                    }
+                    A()
+                }
+            }
+            @Composable
+            inline fun FakeBox(content: @Composable () -> Unit) {
+                content()
+            }
+        """,
+        """
+            @Composable
+            @NonRestartableComposable
+            fun CustomTextBroken(condition: Boolean, %composer: Composer?, %changed: Int) {
+              %composer.startReplaceableGroup(<>)
+              sourceInformation(%composer, "C(CustomTextBroken)<FakeBo...>:Test.kt")
+              FakeBox({ %composer: Composer?, %changed: Int ->
+                %composer.startReplaceableGroup(<>)
+                sourceInformation(%composer, "C<A()>:Test.kt")
+                if (%changed and 0b1011 xor 0b0010 !== 0 || !%composer.skipping) {
+                  if (condition) {
+                    %composer.endReplaceableGroup()
+                  }
+                  A(%composer, 0)
+                } else {
+                  %composer.skipToGroupEnd()
+                }
+                %composer.endReplaceableGroup()
+              }, %composer, 0)
+              %composer.endReplaceableGroup()
+            }
+            @Composable
+            fun FakeBox(content: Function2<Composer, Int, Unit>, %composer: Composer?, %changed: Int) {
+              %composer.startReplaceableGroup(<>)
+              sourceInformation(%composer, "C(FakeBox)<conten...>:Test.kt")
+              content(%composer, 0b1110 and %changed)
+              %composer.endReplaceableGroup()
+            }
+        """
+    )
+
+    @Test
     fun testIfElseWithCallsInConditions(): Unit = controlFlow(
         """
             @NonRestartableComposable @Composable
@@ -2549,7 +2598,7 @@
               sourceInformation(%composer, "C(Test)P(0:InlineClass)<A()>:Test.kt")
               val %dirty = %changed
               if (%changed and 0b1110 === 0) {
-                %dirty = %dirty or if (%composer.changed(value.value)) 0b0100 else 0b0010
+                %dirty = %dirty or if (%composer.changed(<unsafe-coerce>(value))) 0b0100 else 0b0010
               }
               if (%dirty and 0b1011 xor 0b0010 !== 0 || !%composer.skipping) {
                 used(value)
@@ -3437,7 +3486,7 @@
               sourceInformation(%composer, "C(Test)P(0:c#runtime.tests.LocalInlineClass):Test.kt#992ot2")
               val %dirty = %changed
               if (%changed and 0b1110 === 0) {
-                %dirty = %dirty or if (%composer.changed(value.value)) 0b0100 else 0b0010
+                %dirty = %dirty or if (%composer.changed(<unsafe-coerce>(value))) 0b0100 else 0b0010
               }
               if (%dirty and 0b1011 xor 0b0010 !== 0 || !%composer.skipping) {
                 used(value)
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/DefaultParamTransformTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/DefaultParamTransformTests.kt
index 6e844cd..65c1383 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/DefaultParamTransformTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/DefaultParamTransformTests.kt
@@ -103,7 +103,7 @@
               if (%default and 0b0001 !== 0) {
                 %dirty = %dirty or 0b0110
               } else if (%changed and 0b1110 === 0) {
-                %dirty = %dirty or if (%composer.changed(foo.value)) 0b0100 else 0b0010
+                %dirty = %dirty or if (%composer.changed(<unsafe-coerce>(foo))) 0b0100 else 0b0010
               }
               if (%dirty and 0b1011 xor 0b0010 !== 0 || !%composer.skipping) {
                 if (%default and 0b0001 !== 0) {
@@ -211,19 +211,19 @@
                 %dirty = %dirty or if (%default and 0b0001 === 0 && %composer.changed(x)) 0b0100 else 0b0010
               }
               if (%dirty and 0b1011 xor 0b0010 !== 0 || !%composer.skipping) {
+                %composer.startDefaults()
                 if (%changed and 0b0001 === 0 || %composer.defaultsInvalid) {
-                  %composer.startDefaults()
                   if (%default and 0b0001 !== 0) {
                     x = makeInt()
                     %dirty = %dirty and 0b1110.inv()
                   }
-                  %composer.endDefaults()
                 } else {
-                  %composer.skipCurrentGroup()
+                  %composer.skipToGroupEnd()
                   if (%default and 0b0001 !== 0) {
                     %dirty = %dirty and 0b1110.inv()
                   }
                 }
+                %composer.endDefaults()
                 used(x)
               } else {
                 %composer.skipToGroupEnd()
@@ -261,8 +261,8 @@
                 %dirty = %dirty or if (%default and 0b0010 === 0 && %composer.changed(b)) 0b00100000 else 0b00010000
               }
               if (%dirty and 0b01011011 xor 0b00010010 !== 0 || !%composer.skipping) {
+                %composer.startDefaults()
                 if (%changed and 0b0001 === 0 || %composer.defaultsInvalid) {
-                  %composer.startDefaults()
                   if (%default and 0b0001 !== 0) {
                     a = 0
                   }
@@ -270,13 +270,13 @@
                     b = a + 1
                     %dirty = %dirty and 0b01110000.inv()
                   }
-                  %composer.endDefaults()
                 } else {
-                  %composer.skipCurrentGroup()
+                  %composer.skipToGroupEnd()
                   if (%default and 0b0010 !== 0) {
                     %dirty = %dirty and 0b01110000.inv()
                   }
                 }
+                %composer.endDefaults()
                 print(a)
                 print(b)
               } else {
@@ -1283,8 +1283,8 @@
                 %dirty3 = %dirty3 or if (%default1 and 0b0001 === 0 && %composer.changed(a31)) 0b00100000 else 0b00010000
               }
               if (%dirty and 0b01011011011011011011011011011011 xor 0b00010010010010010010010010010010 !== 0 || %dirty1 and 0b01011011011011011011011011011011 xor 0b00010010010010010010010010010010 !== 0 || %dirty2 and 0b01011011011011011011011011011011 xor 0b00010010010010010010010010010010 !== 0 || %dirty3 and 0b01011011 xor 0b00010010 !== 0 || !%composer.skipping) {
+                %composer.startDefaults()
                 if (%changed and 0b0001 === 0 || %composer.defaultsInvalid) {
-                  %composer.startDefaults()
                   if (%default and 0b0001 !== 0) {
                     a00 = 0
                   }
@@ -1383,9 +1383,8 @@
                     a31 = Foo()
                     %dirty3 = %dirty3 and 0b01110000.inv()
                   }
-                  %composer.endDefaults()
                 } else {
-                  %composer.skipCurrentGroup()
+                  %composer.skipToGroupEnd()
                   if (%default and 0b001000000000 !== 0) {
                     %dirty = %dirty and 0b01110000000000000000000000000000.inv()
                   }
@@ -1393,6 +1392,7 @@
                     %dirty3 = %dirty3 and 0b01110000.inv()
                   }
                 }
+                %composer.endDefaults()
                 used(a00)
                 used(a01)
                 used(a02)
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/FunctionBodySkippingTransformTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/FunctionBodySkippingTransformTests.kt
index d5a82c9..970a2ed 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/FunctionBodySkippingTransformTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/FunctionBodySkippingTransformTests.kt
@@ -124,24 +124,12 @@
     @Test
     fun testBasicText(): Unit = comparisonPropagation(
         """
-            import androidx.compose.runtime.Stable
-            import androidx.compose.runtime.Immutable
-
-            class TextLayoutResult
-            @Immutable
-            class TextStyle(val foo: Int = 0) {
-                companion object {
-                    @Stable
-                    val Default = TextStyle()
-                }
-            }
-            inline class TextOverflow(val value: Int) {
-                companion object {
-                    val Clip = TextOverflow(1)
-                }
-            }
         """,
         """
+            import androidx.compose.ui.text.style.TextOverflow
+            import androidx.compose.ui.text.TextStyle
+            import androidx.compose.ui.text.TextLayoutResult
+
             @Composable
             fun BasicText(
                 style: TextStyle = TextStyle.Default,
@@ -157,7 +145,7 @@
             @Composable
             fun BasicText(style: TextStyle?, onTextLayout: Function1<TextLayoutResult, Unit>?, overflow: TextOverflow, %composer: Composer?, %changed: Int, %default: Int) {
               %composer = %composer.startRestartGroup(<>)
-              sourceInformation(%composer, "C(BasicText)P(2!,1:TextOverflow):Test.kt")
+              sourceInformation(%composer, "C(BasicText)P(2!,1:c#ui.text.style.TextOverflow):Test.kt")
               val %dirty = %changed
               if (%default and 0b0001 !== 0) {
                 %dirty = %dirty or 0b0110
@@ -172,7 +160,7 @@
               if (%default and 0b0100 !== 0) {
                 %dirty = %dirty or 0b000110000000
               } else if (%changed and 0b001110000000 === 0) {
-                %dirty = %dirty or if (%composer.changed(overflow.value)) 0b000100000000 else 0b10000000
+                %dirty = %dirty or if (%composer.changed(<unsafe-coerce>(overflow))) 0b000100000000 else 0b10000000
               }
               if (%dirty and 0b001011011011 xor 0b10010010 !== 0 || !%composer.skipping) {
                 if (%default and 0b0001 !== 0) {
@@ -199,6 +187,47 @@
     )
 
     @Test
+    fun testArrangement(): Unit = comparisonPropagation(
+        """
+        """,
+        """
+            import androidx.compose.foundation.layout.Arrangement
+            import androidx.compose.foundation.layout.Arrangement.Vertical
+
+            @Composable
+            fun A(
+                arrangement: Vertical = Arrangement.Top
+            ) {
+                used(arrangement)
+            }
+        """,
+        """
+            @Composable
+            fun A(arrangement: Vertical?, %composer: Composer?, %changed: Int, %default: Int) {
+              %composer = %composer.startRestartGroup(<>)
+              sourceInformation(%composer, "C(A):Test.kt")
+              val %dirty = %changed
+              if (%default and 0b0001 !== 0) {
+                %dirty = %dirty or 0b0110
+              } else if (%changed and 0b1110 === 0) {
+                %dirty = %dirty or if (%composer.changed(arrangement)) 0b0100 else 0b0010
+              }
+              if (%dirty and 0b1011 xor 0b0010 !== 0 || !%composer.skipping) {
+                if (%default and 0b0001 !== 0) {
+                  arrangement = Arrangement.Top
+                }
+                used(arrangement)
+              } else {
+                %composer.skipToGroupEnd()
+              }
+              %composer.endRestartGroup()?.updateScope { %composer: Composer?, %force: Int ->
+                A(arrangement, %composer, %changed or 0b0001, %default)
+              }
+            }
+        """
+    )
+
+    @Test
     fun testComposableSingletonsAreStatic(): Unit = comparisonPropagation(
         """
         """,
@@ -323,7 +352,7 @@
                 %dirty = %dirty or if (%composer.changed(colors)) 0b0100 else 0b0010
               }
               if (%dirty and 0b1011 xor 0b0010 !== 0 || !%composer.skipping) {
-                Text("hello world", null, colors.getColor(%composer, 0b1110 and %dirty), <unsafe-coerce>(0L), null, null, null, <unsafe-coerce>(0L), null, null, <unsafe-coerce>(0L), <unsafe-coerce>(0), false, 0, null, null, %composer, 0b0110, 0b01000000, 0b1111111111111010)
+                Text("hello world", null, colors.getColor(%composer, 0b1110 and %dirty), <unsafe-coerce>(0L), null, null, null, <unsafe-coerce>(0L), null, null, <unsafe-coerce>(0L), <unsafe-coerce>(0), false, 0, null, null, %composer, 0b0110, 0, 0b1111111111111010)
               } else {
                 %composer.skipToGroupEnd()
               }
@@ -611,19 +640,19 @@
                 %dirty = %dirty or if (%default and 0b0001 === 0 && %composer.changed(a)) 0b0100 else 0b0010
               }
               if (%dirty and 0b1011 xor 0b0010 !== 0 || !%composer.skipping) {
+                %composer.startDefaults()
                 if (%changed and 0b0001 === 0 || %composer.defaultsInvalid) {
-                  %composer.startDefaults()
                   if (%default and 0b0001 !== 0) {
                     a = newInt()
                     %dirty = %dirty and 0b1110.inv()
                   }
-                  %composer.endDefaults()
                 } else {
-                  %composer.skipCurrentGroup()
+                  %composer.skipToGroupEnd()
                   if (%default and 0b0001 !== 0) {
                     %dirty = %dirty and 0b1110.inv()
                   }
                 }
+                %composer.endDefaults()
                 print(a)
               } else {
                 %composer.skipToGroupEnd()
@@ -758,8 +787,8 @@
                 %dirty = %dirty or if (%default and 0b0010 === 0 && %composer.changed(shape)) 0b00100000 else 0b00010000
               }
               if (%dirty and 0b01011011 xor 0b00010010 !== 0 || !%composer.skipping) {
+                %composer.startDefaults()
                 if (%changed and 0b0001 === 0 || %composer.defaultsInvalid) {
-                  %composer.startDefaults()
                   if (%default and 0b0001 !== 0) {
                     modifier = Companion
                   }
@@ -767,13 +796,13 @@
                     shape = RectangleShape
                     %dirty = %dirty and 0b01110000.inv()
                   }
-                  %composer.endDefaults()
                 } else {
-                  %composer.skipCurrentGroup()
+                  %composer.skipToGroupEnd()
                   if (%default and 0b0010 !== 0) {
                     %dirty = %dirty and 0b01110000.inv()
                   }
                 }
+                %composer.endDefaults()
                 used(modifier)
                 used(shape)
               } else {
@@ -985,13 +1014,13 @@
               %composer = %composer.startRestartGroup(<>)
               sourceInformation(%composer, "C(B):Test.kt")
               val %dirty = %changed
-              %composer.startReplaceableGroup(values.size)
+              %composer.startMovableGroup(<>, values.size)
               val tmp0_iterator = values.iterator()
               while (tmp0_iterator.hasNext()) {
                 val value = tmp0_iterator.next()
                 %dirty = %dirty or if (%composer.changed(value)) 0b0100 else 0
               }
-              %composer.endReplaceableGroup()
+              %composer.endMovableGroup()
               if (%dirty and 0b1110 === 0) {
                 %dirty = %dirty or 0b0010
               }
@@ -1025,13 +1054,13 @@
               %composer = %composer.startRestartGroup(<>)
               sourceInformation(%composer, "C(B):Test.kt")
               val %dirty = %changed
-              %composer.startReplaceableGroup(values.size)
+              %composer.startMovableGroup(<>, values.size)
               val tmp0_iterator = values.iterator()
               while (tmp0_iterator.hasNext()) {
                 val value = tmp0_iterator.next()
                 %dirty = %dirty or if (%composer.changed(value)) 0b0100 else 0
               }
-              %composer.endReplaceableGroup()
+              %composer.endMovableGroup()
               if (%dirty and 0b1110 === 0) {
                 %dirty = %dirty or 0b0010
               }
@@ -1044,7 +1073,6 @@
                 B(*values, %composer, %changed or 0b0001)
               }
             }
-
         """
     )
 
@@ -1153,8 +1181,8 @@
                 %dirty = %dirty or if (%composer.changed(c)) 0b000100000000 else 0b10000000
               }
               if (%dirty and 0b001011011011 xor 0b10010010 !== 0 || !%composer.skipping) {
+                %composer.startDefaults()
                 if (%changed and 0b0001 === 0 || %composer.defaultsInvalid) {
-                  %composer.startDefaults()
                   if (%default and 0b0001 !== 0) {
                     a = 0
                   }
@@ -1165,13 +1193,13 @@
                   if (%default and 0b0100 !== 0) {
                     c = 0
                   }
-                  %composer.endDefaults()
                 } else {
-                  %composer.skipCurrentGroup()
+                  %composer.skipToGroupEnd()
                   if (%default and 0b0010 !== 0) {
                     %dirty = %dirty and 0b01110000.inv()
                   }
                 }
+                %composer.endDefaults()
                 used(a)
                 used(b)
                 used(c)
@@ -1419,8 +1447,8 @@
                 %dirty = %dirty or 0b00010000
               }
               if (%default.inv() and 0b0010 !== 0 || %dirty and 0b01011011 xor 0b00010010 !== 0 || !%composer.skipping) {
+                %composer.startDefaults()
                 if (%changed and 0b0001 === 0 || %composer.defaultsInvalid) {
-                  %composer.startDefaults()
                   if (%default and 0b0001 !== 0) {
                     a = 0
                   }
@@ -1429,13 +1457,13 @@
                     )
                     %dirty = %dirty and 0b01110000.inv()
                   }
-                  %composer.endDefaults()
                 } else {
-                  %composer.skipCurrentGroup()
+                  %composer.skipToGroupEnd()
                   if (%default and 0b0010 !== 0) {
                     %dirty = %dirty and 0b01110000.inv()
                   }
                 }
+                %composer.endDefaults()
                 used(a)
                 used(b)
               } else {
@@ -1490,20 +1518,20 @@
               sourceInformation(%composer, "C(CanSkip):Test.kt")
               val %dirty = %changed
               if (%default.inv() and 0b0001 !== 0 || %dirty and 0b0001 !== 0 || !%composer.skipping) {
+                %composer.startDefaults()
                 if (%changed and 0b0001 === 0 || %composer.defaultsInvalid) {
-                  %composer.startDefaults()
                   if (%default and 0b0001 !== 0) {
                     b = Foo(
                     )
                     %dirty = %dirty and 0b01110000.inv()
                   }
-                  %composer.endDefaults()
                 } else {
-                  %composer.skipCurrentGroup()
+                  %composer.skipToGroupEnd()
                   if (%default and 0b0001 !== 0) {
                     %dirty = %dirty and 0b01110000.inv()
                   }
                 }
+                %composer.endDefaults()
                 print("Hello World")
               } else {
                 %composer.skipToGroupEnd()
@@ -1627,7 +1655,7 @@
               if (%default and 0b0010 !== 0) {
                 %dirty = %dirty or 0b00110000
               } else if (%changed and 0b01110000 === 0) {
-                %dirty = %dirty or if (%composer.changed(color.value)) 0b00100000 else 0b00010000
+                %dirty = %dirty or if (%composer.changed(<unsafe-coerce>(color))) 0b00100000 else 0b00010000
               }
               if (%dirty and 0b01011011 xor 0b00010010 !== 0 || !%composer.skipping) {
                 if (%default and 0b0010 !== 0) {
@@ -1853,19 +1881,19 @@
                 %dirty = %dirty or if (%default and 0b0001 === 0 && %composer.changed(x)) 0b0100 else 0b0010
               }
               if (%dirty and 0b1011 xor 0b0010 !== 0 || !%composer.skipping) {
+                %composer.startDefaults()
                 if (%changed and 0b0001 === 0 || %composer.defaultsInvalid) {
-                  %composer.startDefaults()
                   if (%default and 0b0001 !== 0) {
                     x = I(%composer, 0)
                     %dirty = %dirty and 0b1110.inv()
                   }
-                  %composer.endDefaults()
                 } else {
-                  %composer.skipCurrentGroup()
+                  %composer.skipToGroupEnd()
                   if (%default and 0b0001 !== 0) {
                     %dirty = %dirty and 0b1110.inv()
                   }
                 }
+                %composer.endDefaults()
                 A(x, %composer, 0b1110 and %dirty)
               } else {
                 %composer.skipToGroupEnd()
@@ -1924,19 +1952,19 @@
                 %dirty = %dirty or if (%default and 0b0001 === 0 && %composer.changed(x)) 0b0100 else 0b0010
               }
               if (%dirty and 0b1011 xor 0b0010 !== 0 || !%composer.skipping) {
+                %composer.startDefaults()
                 if (%changed and 0b0001 === 0 || %composer.defaultsInvalid) {
-                  %composer.startDefaults()
                   if (%default and 0b0001 !== 0) {
                     x = Foo()
                     %dirty = %dirty and 0b1110.inv()
                   }
-                  %composer.endDefaults()
                 } else {
-                  %composer.skipCurrentGroup()
+                  %composer.skipToGroupEnd()
                   if (%default and 0b0001 !== 0) {
                     %dirty = %dirty and 0b1110.inv()
                   }
                 }
+                %composer.endDefaults()
                 A(x, %composer, 0b1110 and %dirty)
               } else {
                 %composer.skipToGroupEnd()
@@ -1988,8 +2016,8 @@
                 %dirty = %dirty or 0b0010000000000000
               }
               if (%default.inv() and 0b00010000 !== 0 || %dirty and 0b1011011011011011 xor 0b0010010010010010 !== 0 || !%composer.skipping) {
+                %composer.startDefaults()
                 if (%changed and 0b0001 === 0 || %composer.defaultsInvalid) {
-                  %composer.startDefaults()
                   if (%default and 0b0100 !== 0) {
                     c = 0
                   }
@@ -2001,9 +2029,8 @@
                     e = emptyList()
                     %dirty = %dirty and 0b1110000000000000.inv()
                   }
-                  %composer.endDefaults()
                 } else {
-                  %composer.skipCurrentGroup()
+                  %composer.skipToGroupEnd()
                   if (%default and 0b1000 !== 0) {
                     %dirty = %dirty and 0b0001110000000000.inv()
                   }
@@ -2011,6 +2038,7 @@
                     %dirty = %dirty and 0b1110000000000000.inv()
                   }
                 }
+                %composer.endDefaults()
                 A(a, b, c, d, e, %composer, 0b1000000000000000 or 0b1110 and %dirty or 0b01110000 and %dirty or 0b001110000000 and %dirty or 0b0001110000000000 and %dirty)
               } else {
                 %composer.skipToGroupEnd()
@@ -2920,8 +2948,8 @@
                 %dirty = %dirty or if (%default and 0b0010 === 0 && %composer.changed(mightChange)) 0b00100000 else 0b00010000
               }
               if (%dirty and 0b01011011 xor 0b00010010 !== 0 || !%composer.skipping) {
+                %composer.startDefaults()
                 if (%changed and 0b0001 === 0 || %composer.defaultsInvalid) {
-                  %composer.startDefaults()
                   if (%default and 0b0001 !== 0) {
                     wontChange = 123
                   }
@@ -2929,13 +2957,13 @@
                     mightChange = LocalColor.current
                     %dirty = %dirty and 0b01110000.inv()
                   }
-                  %composer.endDefaults()
                 } else {
-                  %composer.skipCurrentGroup()
+                  %composer.skipToGroupEnd()
                   if (%default and 0b0010 !== 0) {
                     %dirty = %dirty and 0b01110000.inv()
                   }
                 }
+                %composer.endDefaults()
                 A(wontChange, %composer, 0b1110 and %dirty)
                 A(mightChange, %composer, 0b1110 and %dirty shr 0b0011)
               } else {
@@ -3032,7 +3060,7 @@
               if (%default and 0b0010 !== 0) {
                 %dirty = %dirty or 0b00110000
               } else if (%changed and 0b01110000 === 0) {
-                %dirty = %dirty or if (%composer.changed(paddingStart.value)) 0b00100000 else 0b00010000
+                %dirty = %dirty or if (%composer.changed(<unsafe-coerce>(paddingStart))) 0b00100000 else 0b00010000
               }
               if (%default and 0b0100 !== 0) {
                 %dirty = %dirty or 0b000110000000
@@ -3258,6 +3286,66 @@
             }
         """
     )
+
+    @Test
+    fun testArrayDefaultArgWithState(): Unit = comparisonPropagation(
+        """
+        """,
+        """
+            import androidx.compose.runtime.MutableState
+
+            @Composable
+            fun VarargComposable(state: MutableState<Int>, vararg values: String = Array(1) { "value " + it }) {
+                state.value
+            }
+        """,
+        """
+            @Composable
+            fun VarargComposable(state: MutableState<Int>, values: Array<out String>?, %composer: Composer?, %changed: Int, %default: Int) {
+              %composer = %composer.startRestartGroup(<>)
+              sourceInformation(%composer, "C(VarargComposable):Test.kt")
+              val %dirty = %changed
+              if (%default and 0b0001 !== 0) {
+                %dirty = %dirty or 0b0110
+              } else if (%changed and 0b1110 === 0) {
+                %dirty = %dirty or if (%composer.changed(state)) 0b0100 else 0b0010
+              }
+              %composer.startMovableGroup(<>, values.size)
+              val tmp0_iterator = values.iterator()
+              while (tmp0_iterator.hasNext()) {
+                val value = tmp0_iterator.next()
+                %dirty = %dirty or if (%composer.changed(value)) 0b00100000 else 0
+              }
+              %composer.endMovableGroup()
+              if (%dirty and 0b01110000 === 0) {
+                %dirty = %dirty or 0b00010000
+              }
+              if (%dirty and 0b1011 xor 0b0010 !== 0 || !%composer.skipping) {
+                %composer.startDefaults()
+                if (%changed and 0b0001 === 0 || %composer.defaultsInvalid) {
+                  if (%default and 0b0010 !== 0) {
+                    values = Array(1) { it: Int ->
+                      "value " + it
+                    }
+                    %dirty = %dirty and 0b01110000.inv()
+                  }
+                } else {
+                  %composer.skipToGroupEnd()
+                  if (%default and 0b0010 !== 0) {
+                    %dirty = %dirty and 0b01110000.inv()
+                  }
+                }
+                %composer.endDefaults()
+                state.value
+              } else {
+                %composer.skipToGroupEnd()
+              }
+              %composer.endRestartGroup()?.updateScope { %composer: Composer?, %force: Int ->
+                VarargComposable(state, *values, %composer, %changed or 0b0001, %default)
+              }
+            }
+        """
+    )
 }
 
 class FunctionBodySkippingTransformTestsNoSource : FunctionBodySkippingTransfomrTestsBase() {
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/RememberIntrinsicTransformTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/RememberIntrinsicTransformTests.kt
index 77a8421..89aa6c0 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/RememberIntrinsicTransformTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/RememberIntrinsicTransformTests.kt
@@ -788,7 +788,7 @@
               sourceInformation(%composer, "C(Test)P(0:InlineInt):Test.kt")
               val %dirty = %changed
               if (%changed and 0b1110 === 0) {
-                %dirty = %dirty or if (%composer.changed(inlineInt.value)) 0b0100 else 0b0010
+                %dirty = %dirty or if (%composer.changed(<unsafe-coerce>(inlineInt))) 0b0100 else 0b0010
               }
               if (%dirty and 0b1011 xor 0b0010 !== 0 || !%composer.skipping) {
                 val a = InlineInt(123)
diff --git a/compose/compiler/compiler-hosted/lint-baseline.xml b/compose/compiler/compiler-hosted/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/compiler/compiler-hosted/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/analysis/Stability.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/analysis/Stability.kt
index e36cc25..649315b 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/analysis/Stability.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/analysis/Stability.kt
@@ -19,6 +19,7 @@
 import androidx.compose.compiler.plugins.kotlin.ComposeFqNames
 import androidx.compose.compiler.plugins.kotlin.lower.annotationClass
 import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
+import org.jetbrains.kotlin.backend.jvm.ir.isInlineClassType
 import org.jetbrains.kotlin.ir.declarations.IrAnnotationContainer
 import org.jetbrains.kotlin.ir.declarations.IrClass
 import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
@@ -49,19 +50,18 @@
 import org.jetbrains.kotlin.ir.types.classifierOrFail
 import org.jetbrains.kotlin.ir.types.classifierOrNull
 import org.jetbrains.kotlin.ir.types.isAny
-import org.jetbrains.kotlin.ir.types.isMarkedNullable
 import org.jetbrains.kotlin.ir.types.isNullable
 import org.jetbrains.kotlin.ir.types.isPrimitiveType
 import org.jetbrains.kotlin.ir.types.isString
 import org.jetbrains.kotlin.ir.types.isUnit
 import org.jetbrains.kotlin.ir.types.makeNotNull
+import org.jetbrains.kotlin.ir.util.defaultType
 import org.jetbrains.kotlin.ir.util.fqNameForIrSerialization
 import org.jetbrains.kotlin.ir.util.fqNameWhenAvailable
 import org.jetbrains.kotlin.ir.util.getInlineClassUnderlyingType
 import org.jetbrains.kotlin.ir.util.isEnumClass
 import org.jetbrains.kotlin.ir.util.isEnumEntry
 import org.jetbrains.kotlin.ir.util.isFunctionOrKFunction
-import org.jetbrains.kotlin.ir.util.isInlined
 import org.jetbrains.kotlin.ir.util.isInterface
 import org.jetbrains.kotlin.ir.util.isTypeParameter
 
@@ -259,6 +259,7 @@
         if (currentlyAnalyzing.contains(symbol)) return Stability.Unstable
         if (declaration.hasStableMarkedDescendant()) return Stability.Stable
         if (declaration.isEnumClass || declaration.isEnumEntry) return Stability.Stable
+        if (declaration.defaultType.isPrimitiveType()) return Stability.Stable
 
         val analyzing = currentlyAnalyzing + symbol
 
@@ -373,7 +374,7 @@
                 substitutions,
                 currentlyAnalyzing
             )
-            type.isInlined() -> stabilityOf(
+            type.isInlineClassType() -> stabilityOf(
                 type.getInlinedClass()!!,
                 substitutions,
                 currentlyAnalyzing
@@ -433,7 +434,7 @@
         return when (expr) {
             is IrConst<*> -> Stability.Stable
             is IrGetObjectValue ->
-                if (expr.symbol.owner.superTypes.any { stabilityOf(it).knownStable() })
+                if (stabilityOf(expr.symbol.owner).knownStable())
                     Stability.Stable
                 else
                     Stability.Unstable
@@ -459,32 +460,13 @@
     }
 }
 
-/**
- * Returns inline class for given class or null of type is not inlined
- * TODO: Make this configurable for different backends (currently implements logic of JS BE)
- */
-// From Kotin's InlineClasses.kt
 private fun IrType.getInlinedClass(): IrClass? {
-    if (this is IrSimpleType) {
-        val erased = erase(this) ?: return null
-        if (erased.isInline) {
-            if (this.isMarkedNullable()) {
-                var fieldType: IrType
-                var fieldInlinedClass = erased
-                while (true) {
-                    fieldType = getInlineClassUnderlyingType(fieldInlinedClass)
-                    if (fieldType.isMarkedNullable()) {
-                        return null
-                    }
-
-                    fieldInlinedClass = fieldType.getInlinedClass() ?: break
-                }
-            }
-
-            return erased
-        }
+    val erased = erase(this) ?: return null
+    if (this is IrSimpleType && erased.isInline) {
+        val fieldType = getInlineClassUnderlyingType(erased)
+        return fieldType.getInlinedClass()
     }
-    return null
+    return erased
 }
 
 // From Kotin's InlineClasses.kt
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/AbstractComposeLowering.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/AbstractComposeLowering.kt
index 73a9997..c8881b5 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/AbstractComposeLowering.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/AbstractComposeLowering.kt
@@ -28,9 +28,7 @@
 import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
 import org.jetbrains.kotlin.backend.common.lower.DeclarationIrBuilder
 import org.jetbrains.kotlin.builtins.extractParameterNameFromFunctionTypeArgument
-import org.jetbrains.kotlin.builtins.functions.FunctionClassKind
 import org.jetbrains.kotlin.builtins.functions.FunctionInvokeDescriptor
-import org.jetbrains.kotlin.builtins.getFunctionalClassKind
 import org.jetbrains.kotlin.builtins.getReceiverTypeFromFunctionType
 import org.jetbrains.kotlin.builtins.getReturnTypeFromFunctionType
 import org.jetbrains.kotlin.builtins.getValueParameterTypesFromFunctionType
@@ -56,7 +54,10 @@
 import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
 import org.jetbrains.kotlin.ir.builders.IrBlockBodyBuilder
 import org.jetbrains.kotlin.ir.builders.IrBuilderWithScope
+import org.jetbrains.kotlin.ir.builders.declarations.addTypeParameter
+import org.jetbrains.kotlin.ir.builders.declarations.addValueParameter
 import org.jetbrains.kotlin.ir.builders.declarations.buildField
+import org.jetbrains.kotlin.ir.builders.declarations.buildFun
 import org.jetbrains.kotlin.ir.builders.irBlock
 import org.jetbrains.kotlin.ir.builders.irBlockBody
 import org.jetbrains.kotlin.ir.declarations.IrAnnotationContainer
@@ -71,6 +72,7 @@
 import org.jetbrains.kotlin.ir.declarations.IrValueDeclaration
 import org.jetbrains.kotlin.ir.declarations.IrValueParameter
 import org.jetbrains.kotlin.ir.declarations.IrVariable
+import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
 import org.jetbrains.kotlin.ir.declarations.impl.IrFunctionImpl
 import org.jetbrains.kotlin.ir.declarations.impl.IrTypeParameterImpl
 import org.jetbrains.kotlin.ir.declarations.impl.IrValueParameterImpl
@@ -86,7 +88,6 @@
 import org.jetbrains.kotlin.ir.expressions.IrGetObjectValue
 import org.jetbrains.kotlin.ir.expressions.IrGetValue
 import org.jetbrains.kotlin.ir.expressions.IrStatementOrigin
-import org.jetbrains.kotlin.ir.expressions.IrStatementOriginImpl
 import org.jetbrains.kotlin.ir.expressions.impl.IrBlockImpl
 import org.jetbrains.kotlin.ir.expressions.impl.IrBranchImpl
 import org.jetbrains.kotlin.ir.expressions.impl.IrCallImpl
@@ -116,6 +117,7 @@
 import org.jetbrains.kotlin.ir.types.IrType
 import org.jetbrains.kotlin.ir.types.classOrNull
 import org.jetbrains.kotlin.ir.types.classifierOrFail
+import org.jetbrains.kotlin.ir.types.defaultType
 import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl
 import org.jetbrains.kotlin.ir.types.impl.IrStarProjectionImpl
 import org.jetbrains.kotlin.ir.types.isNullable
@@ -130,12 +132,10 @@
 import org.jetbrains.kotlin.ir.util.functions
 import org.jetbrains.kotlin.ir.util.getArguments
 import org.jetbrains.kotlin.ir.util.getPrimitiveArrayElementType
-import org.jetbrains.kotlin.ir.util.getPropertyGetter
 import org.jetbrains.kotlin.ir.util.isCrossinline
 import org.jetbrains.kotlin.ir.util.isFunction
 import org.jetbrains.kotlin.ir.util.isInlined
 import org.jetbrains.kotlin.ir.util.isNoinline
-import org.jetbrains.kotlin.ir.util.primaryConstructor
 import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid
 import org.jetbrains.kotlin.name.FqName
 import org.jetbrains.kotlin.name.Name
@@ -181,6 +181,7 @@
 
     fun stabilityOf(expr: IrExpression) = stabilityInferencer.stabilityOf(expr)
     fun stabilityOf(type: IrType) = stabilityInferencer.stabilityOf(type)
+    fun stabilityOf(cls: IrClass) = stabilityInferencer.stabilityOf(cls)
 
     fun IrAnnotationContainer.hasStableMarker(): Boolean = with(stabilityInferencer) {
         hasStableMarker()
@@ -298,15 +299,10 @@
         val classSymbol = type.classOrNull ?: return this
         val klass = classSymbol.owner
         if (klass.isInline) {
-            val primaryValueParameter = klass
-                .primaryConstructor
-                ?.valueParameters
-                ?.get(0) ?: error("Expected a value parameter")
-            val fieldGetter = klass.getPropertyGetter(primaryValueParameter.name.identifier)
-                ?: error("Expected a getter")
-            return irCall(
-                symbol = fieldGetter,
-                dispatchReceiver = this
+            return coerceInlineClasses(
+                this,
+                type,
+                type.unboxInlineClass()
             ).unboxValueIfInline()
         }
         return this
@@ -1073,7 +1069,7 @@
             // type of that object is Stable. (`Modifier` for instance is a common example)
             is IrGetObjectValue -> {
                 if (symbol.owner.isCompanion) true
-                else symbol.owner.superTypes.any { stabilityOf(it).knownStable() }
+                else stabilityOf(symbol.owner).knownStable()
             }
             is IrConstructorCall -> isStatic()
             is IrCall -> isStatic()
@@ -1225,6 +1221,44 @@
             Name.identifier(sanitized)
         } else name
     }
+
+    fun coerceInlineClasses(argument: IrExpression, from: IrType, to: IrType) =
+        IrCallImpl.fromSymbolOwner(
+            UNDEFINED_OFFSET,
+            UNDEFINED_OFFSET,
+            to,
+            unsafeCoerceIntrinsic!!
+        ).apply {
+            putTypeArgument(0, from)
+            putTypeArgument(1, to)
+            putValueArgument(0, argument)
+        }
+
+    fun IrExpression.coerceToUnboxed() =
+        coerceInlineClasses(this, this.type, this.type.unboxInlineClass())
+
+    // Construct a reference to the JVM specific <unsafe-coerce> intrinsic.
+    // This code should be kept in sync with the declaration in JvmSymbols.kt.
+    @OptIn(ObsoleteDescriptorBasedAPI::class)
+    private val unsafeCoerceIntrinsic: IrSimpleFunctionSymbol? by lazy {
+        if (context.platform.isJvm()) {
+            context.irFactory.buildFun {
+                name = Name.special("<unsafe-coerce>")
+                origin = IrDeclarationOrigin.IR_BUILTINS_STUB
+            }.apply {
+                parent = IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment(
+                    context.moduleDescriptor,
+                    FqName("kotlin.jvm.internal")
+                )
+                val src = addTypeParameter("T", context.irBuiltIns.anyNType)
+                val dst = addTypeParameter("R", context.irBuiltIns.anyNType)
+                addValueParameter("v", src.defaultType)
+                returnType = dst.defaultType
+            }.symbol
+        } else {
+            null
+        }
+    }
 }
 
 private val unsafeSymbolsRegex = "[ <>]".toRegex()
@@ -1249,15 +1283,6 @@
 fun IrPluginContext.function(arity: Int): IrClassSymbol =
     referenceClass(FqName("kotlin.Function$arity"))!!
 
-object COMPOSE_STATEMENT_ORIGIN : IrStatementOriginImpl("COMPOSE_STATEMENT_ORIGIN")
-
-@ObsoleteDescriptorBasedAPI
-val KotlinType.isFunctionOrKFunctionType: Boolean
-    get() {
-        val kind = constructor.declarationDescriptor?.getFunctionalClassKind()
-        return kind == FunctionClassKind.Function || kind == FunctionClassKind.KFunction
-    }
-
 @ObsoleteDescriptorBasedAPI
 val DeclarationDescriptorWithSource.startOffset: Int? get() =
     (this.source as? PsiSourceElement)?.psi?.startOffset
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableFunctionBodyTransformer.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableFunctionBodyTransformer.kt
index 1f95c79..873c28c 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableFunctionBodyTransformer.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableFunctionBodyTransformer.kt
@@ -983,6 +983,9 @@
                     returnVar?.let { irReturn(declaration.symbol, irGet(it)) }
                 )
             )
+            if (collectSourceInformation && scope.isInlinedLambda) {
+                scope.realizeEndCalls { irEndReplaceableGroup() }
+            }
         } else {
             declaration.body = IrBlockBodyImpl(
                 body.startOffset,
@@ -1404,17 +1407,17 @@
                 // over time. In the future, we may want to make an optimization where whether or
                 // not the call site had a spread or not and only create groups if it did.
 
-                // composer.startReplaceableGroup(values.size)
+                // composer.startMovableGroup(<>, values.size)
                 val irGetParamSize = irMethodCall(
                     irGet(param),
                     param.type.classOrNull!!.getPropertyGetter("size")!!.owner
                 )
                 // TODO(lmr): verify this works with default vararg expressions!
                 skipPreamble.statements.add(
-                    irStartReplaceableGroup(
+                    irStartMovableGroup(
                         param,
+                        irGetParamSize,
                         defaultScope,
-                        irGetParamSize
                     )
                 )
 
@@ -1442,8 +1445,8 @@
                     }
                 )
 
-                // composer.endReplaceableGroup()
-                skipPreamble.statements.add(irEndReplaceableGroup())
+                // composer.endMovableGroup()
+                skipPreamble.statements.add(irEndMovableGroup())
 
                 // if (dirty and 0b0110 === 0) {
                 //   dirty = dirty or 0b0010
@@ -1476,6 +1479,7 @@
             // otherwise, we wrap the whole thing in an if expression with a skip
             scope.hasDefaultsGroup = true
             scope.metrics.recordGroup()
+            bodyPreamble.statements.add(irStartDefaults(sourceElement))
             bodyPreamble.statements.add(
                 irIfThenElse(
                     // this prevents us from re-executing the defaults if this function is getting
@@ -1486,22 +1490,17 @@
                         irDefaultsInvalid()
                     ),
                     // set all of the default temp vars
-                    thenPart = irBlock(
-                        statements = listOf(
-                            irStartDefaults(sourceElement),
-                            *setDefaults.statements.toTypedArray(),
-                            irEndDefaults()
-                        )
-                    ),
+                    thenPart = setDefaults,
                     // composer.skipCurrentGroup()
                     elsePart = irBlock(
                         statements = listOf(
-                            irSkipCurrentGroup(),
+                            irSkipToGroupEnd(UNDEFINED_OFFSET, UNDEFINED_OFFSET),
                             *skipDefaults.statements.toTypedArray()
                         )
                     )
                 )
             )
+            bodyPreamble.statements.add(irEndDefaults())
         }
 
         return mightSkip
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposerParamTransformer.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposerParamTransformer.kt
index 0d7b3ae..1287a2d 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposerParamTransformer.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposerParamTransformer.kt
@@ -39,9 +39,7 @@
 import org.jetbrains.kotlin.ir.IrStatement
 import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
 import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
-import org.jetbrains.kotlin.ir.builders.declarations.addTypeParameter
 import org.jetbrains.kotlin.ir.builders.declarations.addValueParameter
-import org.jetbrains.kotlin.ir.builders.declarations.buildFun
 import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
 import org.jetbrains.kotlin.ir.declarations.IrFunction
 import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
@@ -49,7 +47,6 @@
 import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction
 import org.jetbrains.kotlin.ir.declarations.IrValueParameter
 import org.jetbrains.kotlin.ir.declarations.copyAttributes
-import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
 import org.jetbrains.kotlin.ir.declarations.impl.IrFunctionImpl
 import org.jetbrains.kotlin.ir.descriptors.IrBasedDeclarationDescriptor
 import org.jetbrains.kotlin.ir.expressions.IrCall
@@ -71,7 +68,6 @@
 import org.jetbrains.kotlin.ir.types.IrType
 import org.jetbrains.kotlin.ir.types.classOrNull
 import org.jetbrains.kotlin.ir.types.createType
-import org.jetbrains.kotlin.ir.types.defaultType
 import org.jetbrains.kotlin.ir.types.isMarkedNullable
 import org.jetbrains.kotlin.ir.types.isPrimitiveType
 import org.jetbrains.kotlin.ir.types.makeNullable
@@ -90,8 +86,6 @@
 import org.jetbrains.kotlin.ir.visitors.acceptVoid
 import org.jetbrains.kotlin.ir.visitors.transformChildrenVoid
 import org.jetbrains.kotlin.load.java.JvmAbi
-import org.jetbrains.kotlin.name.FqName
-import org.jetbrains.kotlin.name.Name
 import org.jetbrains.kotlin.platform.js.isJs
 import org.jetbrains.kotlin.platform.jvm.isJvm
 import org.jetbrains.kotlin.resolve.BindingTrace
@@ -291,17 +285,13 @@
             }
         }
 
-        val coerceIntrinsic = unsafeCoerceIntrinsic
-        if (coerceIntrinsic != null) {
+        if (context.platform.isJvm()) {
             val underlyingType = unboxInlineClass()
-            return IrCallImpl.fromSymbolOwner(startOffset, endOffset, this, coerceIntrinsic).also {
-                it.putTypeArgument(0, underlyingType) // from
-                it.putTypeArgument(1, this) // to
-                it.putValueArgument(
-                    0,
-                    IrConstImpl.defaultValueForType(startOffset, endOffset, underlyingType)
-                )
-            }
+            return coerceInlineClasses(
+                IrConstImpl.defaultValueForType(startOffset, endOffset, underlyingType),
+                underlyingType,
+                this
+            )
         } else {
             val ctor = classSymbol.constructors.first()
             val underlyingType = getUnderlyingType(classSymbol.owner)
@@ -323,28 +313,6 @@
         }
     }
 
-    // Construct a reference to the JVM specific <unsafe-coerce> intrinsic.
-    // This code should be kept in sync with the declaration in JvmSymbols.kt.
-    private val unsafeCoerceIntrinsic: IrSimpleFunctionSymbol? by lazy {
-        if (context.platform.isJvm()) {
-            context.irFactory.buildFun {
-                name = Name.special("<unsafe-coerce>")
-                origin = IrDeclarationOrigin.IR_BUILTINS_STUB
-            }.apply {
-                parent = IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment(
-                    currentModule!!.descriptor,
-                    FqName("kotlin.jvm.internal")
-                )
-                val src = addTypeParameter("T", context.irBuiltIns.anyNType)
-                val dst = addTypeParameter("R", context.irBuiltIns.anyNType)
-                addValueParameter("v", src.defaultType)
-                returnType = dst.defaultType
-            }.symbol
-        } else {
-            null
-        }
-    }
-
     // Transform `@Composable fun foo(params): RetType` into `fun foo(params, $composer: Composer): RetType`
     @OptIn(ObsoleteDescriptorBasedAPI::class)
     private fun IrFunction.withComposerParamIfNeeded(): IrFunction {
diff --git a/compose/compiler/compiler/integration-tests/lint-baseline.xml b/compose/compiler/compiler/integration-tests/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/compiler/compiler/integration-tests/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/compiler/compiler/lint-baseline.xml b/compose/compiler/compiler/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/compiler/compiler/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/foundation/foundation-layout/benchmark/lint-baseline.xml b/compose/foundation/foundation-layout/benchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/foundation/foundation-layout/benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/foundation/foundation-layout/integration-tests/layout-demos/lint-baseline.xml b/compose/foundation/foundation-layout/integration-tests/layout-demos/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/foundation/foundation-layout/integration-tests/layout-demos/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/foundation/foundation-layout/lint-baseline.xml b/compose/foundation/foundation-layout/lint-baseline.xml
index 8d64150..635fd76 100644
--- a/compose/foundation/foundation-layout/lint-baseline.xml
+++ b/compose/foundation/foundation-layout/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
diff --git a/compose/foundation/foundation-layout/samples/lint-baseline.xml b/compose/foundation/foundation-layout/samples/lint-baseline.xml
new file mode 100644
index 0000000..c6c7f6e
--- /dev/null
+++ b/compose/foundation/foundation-layout/samples/lint-baseline.xml
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="140"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="145"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="149"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="153"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="158"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="162"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="166"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="170"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="174"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="186"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="191"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="196"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="206"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.LOLLIPOP)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="136"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="1311"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat.android.kt"
+            line="2557"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFont.kt"
+            line="133"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidFontListTypeface.android.kt"
+            line="160"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoader.android.kt"
+            line="52"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="82"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="95"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="36"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="43"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeLayer.android.kt"
+            line="93"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(api = 18)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../../../text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.kt"
+            line="296"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 28 here from outer annotations"
+        errorLine1="    @RequiresApi(28)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/TypefaceAdapter.android.kt"
+            line="271"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.android.kt"
+            line="97"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.Q)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/Wrapper.android.kt"
+            line="214"
+            column="5"/>
+    </issue>
+
+</issues>
diff --git a/compose/foundation/foundation/benchmark/lint-baseline.xml b/compose/foundation/foundation/benchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/foundation/foundation/benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/lint-baseline.xml b/compose/foundation/foundation/integration-tests/foundation-demos/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/foundation/foundation/lint-baseline.xml b/compose/foundation/foundation/lint-baseline.xml
index 78df605..eb58b18 100644
--- a/compose/foundation/foundation/lint-baseline.xml
+++ b/compose/foundation/foundation/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
diff --git a/compose/foundation/foundation/samples/lint-baseline.xml b/compose/foundation/foundation/samples/lint-baseline.xml
new file mode 100644
index 0000000..c6c7f6e
--- /dev/null
+++ b/compose/foundation/foundation/samples/lint-baseline.xml
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="140"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="145"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="149"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="153"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="158"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="162"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="166"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="170"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="174"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="186"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="191"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="196"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="206"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.LOLLIPOP)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="136"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="1311"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat.android.kt"
+            line="2557"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFont.kt"
+            line="133"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidFontListTypeface.android.kt"
+            line="160"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoader.android.kt"
+            line="52"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="82"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="95"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="36"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="43"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeLayer.android.kt"
+            line="93"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(api = 18)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../../../text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.kt"
+            line="296"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 28 here from outer annotations"
+        errorLine1="    @RequiresApi(28)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/TypefaceAdapter.android.kt"
+            line="271"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.android.kt"
+            line="97"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.Q)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/Wrapper.android.kt"
+            line="214"
+            column="5"/>
+    </issue>
+
+</issues>
diff --git a/compose/integration-tests/demos/common/lint-baseline.xml b/compose/integration-tests/demos/common/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/integration-tests/demos/common/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/integration-tests/demos/lint-baseline.xml b/compose/integration-tests/demos/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/integration-tests/demos/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/integration-tests/docs-snippets/lint-baseline.xml b/compose/integration-tests/docs-snippets/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/integration-tests/docs-snippets/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Anatomy.kt b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Anatomy.kt
new file mode 100644
index 0000000..7cf760f
--- /dev/null
+++ b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Anatomy.kt
@@ -0,0 +1,136 @@
+// ktlint-disable indent https://github.com/pinterest/ktlint/issues/967
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Ignore lint warnings in documentation snippets
+@file:Suppress(
+    "unused", "UNUSED_PARAMETER", "UNUSED_VARIABLE", "RemoveEmptyParenthesesFromLambdaCall"
+)
+
+package androidx.compose.integration.docs.theming
+
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.runtime.Immutable
+import androidx.compose.runtime.staticCompositionLocalOf
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.unit.sp
+
+/**
+ * This file lets DevRel track changes to snippets present in
+ * https://developer.android.com/jetpack/compose/themes/anatomy
+ *
+ * No action required if it's modified.
+ */
+
+private object Anatomy {
+    // Start snippet 1
+    @Immutable
+    data class ColorSystem(
+        val color: Color,
+        val gradient: List<Color>
+        /* ... */
+    )
+
+    @Immutable
+    data class TypographySystem(
+        val fontFamily: FontFamily,
+        val textStyle: TextStyle
+    )
+    /* ... */
+
+    @Immutable
+    data class CustomSystem(
+        val value1: Int,
+        val value2: String
+        /* ... */
+    )
+
+    /* ... */
+    // End snippet 1
+
+    // Start snippet 2
+    val LocalColorSystem = staticCompositionLocalOf {
+        ColorSystem(
+            color = Color.Unspecified,
+            gradient = emptyList()
+        )
+    }
+
+    val LocalTypographySystem = staticCompositionLocalOf {
+        TypographySystem(
+            fontFamily = FontFamily.Default,
+            textStyle = TextStyle.Default
+        )
+    }
+
+    val LocalCustomSystem = staticCompositionLocalOf {
+        CustomSystem(
+            value1 = 0,
+            value2 = ""
+        )
+    }
+
+    /* ... */
+    // End snippet 2
+
+    // Start snippet 3
+    @Composable
+    fun Theme(
+        /* ... */
+        content: @Composable () -> Unit
+    ) {
+        val colorSystem = ColorSystem(
+            color = Color(0xFF3DDC84),
+            gradient = listOf(Color.White, Color(0xFFD7EFFF))
+        )
+        val typographySystem = TypographySystem(
+            fontFamily = FontFamily.Monospace,
+            textStyle = TextStyle(fontSize = 18.sp)
+        )
+        val customSystem = CustomSystem(
+            value1 = 1000,
+            value2 = "Custom system"
+        )
+        /* ... */
+        CompositionLocalProvider(
+            LocalColorSystem provides colorSystem,
+            LocalTypographySystem provides typographySystem,
+            LocalCustomSystem provides customSystem,
+            /* ... */
+            content = content
+        )
+    }
+    // End snippet 3
+
+    // Start snippet 4
+    // Use with eg. Theme.colorSystem.color
+    object Theme {
+        val colorSystem: ColorSystem
+            @Composable
+            get() = LocalColorSystem.current
+        val typographySystem: TypographySystem
+            @Composable
+            get() = LocalTypographySystem.current
+        val customSystem: CustomSystem
+            @Composable
+            get() = LocalCustomSystem.current
+        /* ... */
+    }
+    // End snippet 4
+}
diff --git a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Custom.kt b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Custom.kt
new file mode 100644
index 0000000..beb52bb5
--- /dev/null
+++ b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Custom.kt
@@ -0,0 +1,364 @@
+// ktlint-disable indent https://github.com/pinterest/ktlint/issues/967
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Ignore lint warnings in documentation snippets
+@file:Suppress(
+    "unused", "UNUSED_PARAMETER", "UNUSED_VARIABLE", "RemoveEmptyParenthesesFromLambdaCall"
+)
+
+package androidx.compose.integration.docs.theming
+
+import androidx.compose.foundation.layout.RowScope
+import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.foundation.shape.ZeroCornerSize
+import androidx.compose.material.Button
+import androidx.compose.material.ButtonDefaults
+import androidx.compose.material.Colors
+import androidx.compose.material.ContentAlpha
+import androidx.compose.material.MaterialTheme
+import androidx.compose.material.ProvideTextStyle
+import androidx.compose.material.Shapes
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.runtime.Immutable
+import androidx.compose.runtime.staticCompositionLocalOf
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.Shape
+import androidx.compose.ui.graphics.compositeOver
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.unit.Dp
+import androidx.compose.ui.unit.dp
+import androidx.compose.ui.unit.sp
+
+/**
+ * This file lets DevRel track changes to snippets present in
+ * https://developer.android.com/jetpack/compose/themes/custom
+ *
+ * No action required if it's modified.
+ */
+
+private object CustomSnippet1 {
+    // Use with MaterialTheme.colors.snackbarAction
+    val Colors.snackbarAction: Color
+        get() = if (isLight) Red300 else Red700
+
+    // Use with MaterialTheme.typography.textFieldInput
+    val Typography.textFieldInput: TextStyle
+        get() = TextStyle(/* ... */)
+
+    // Use with MaterialTheme.shapes.card
+    val Shapes.card: Shape
+        get() = RoundedCornerShape(size = 20.dp)
+}
+
+private object CustomSnippet234 {
+    // Start snippet 2
+    @Immutable
+    data class ExtendedColors(
+        val tertiary: Color,
+        val onTertiary: Color
+    )
+
+    val LocalExtendedColors = staticCompositionLocalOf {
+        ExtendedColors(
+            tertiary = Color.Unspecified,
+            onTertiary = Color.Unspecified
+        )
+    }
+
+    @Composable
+    fun ExtendedTheme(
+        /* ... */
+        content: @Composable () -> Unit
+    ) {
+        val extendedColors = ExtendedColors(
+            tertiary = Color(0xFFA8EFF0),
+            onTertiary = Color(0xFF002021)
+        )
+        CompositionLocalProvider(LocalExtendedColors provides extendedColors) {
+            MaterialTheme(
+                /* colors = ..., typography = ..., shapes = ... */
+                content = content
+            )
+        }
+    }
+
+    // Use with eg. ExtendedTheme.colors.tertiary
+    object ExtendedTheme {
+        val colors: ExtendedColors
+            @Composable
+            get() = LocalExtendedColors.current
+    }
+    // End snippet 2
+
+    // Start snippet 3
+    @Composable
+    fun ExtendedButton(
+        onClick: () -> Unit,
+        modifier: Modifier = Modifier,
+        content: @Composable RowScope.() -> Unit
+    ) {
+        Button(
+            colors = ButtonDefaults.buttonColors(
+                backgroundColor = ExtendedTheme.colors.tertiary,
+                contentColor = ExtendedTheme.colors.onTertiary
+                /* Other colors use values from MaterialTheme */
+            ),
+            onClick = onClick,
+            modifier = modifier,
+            content = content
+        )
+    }
+    // End snippet 3
+
+    // Start snippet 4
+    @Composable
+    fun ExtendedApp() {
+        ExtendedTheme {
+            /*...*/
+            ExtendedButton(onClick = { /* ... */ }) {
+                /* ... */
+            }
+        }
+    }
+    // End snippet 4
+}
+
+private object CustomSnippet567 {
+    // Start snippet 5
+    @Immutable
+    data class ReplacementTypography(
+        val body: TextStyle,
+        val title: TextStyle
+    )
+
+    @Immutable
+    data class ReplacementShapes(
+        val component: Shape,
+        val surface: Shape
+    )
+
+    val LocalReplacementTypography = staticCompositionLocalOf {
+        ReplacementTypography(
+            body = TextStyle.Default,
+            title = TextStyle.Default
+        )
+    }
+    val LocalReplacementShapes = staticCompositionLocalOf {
+        ReplacementShapes(
+            component = RoundedCornerShape(ZeroCornerSize),
+            surface = RoundedCornerShape(ZeroCornerSize)
+        )
+    }
+
+    @Composable
+    fun ReplacementTheme(
+        /* ... */
+        content: @Composable () -> Unit
+    ) {
+        val replacementTypography = ReplacementTypography(
+            body = TextStyle(fontSize = 16.sp),
+            title = TextStyle(fontSize = 32.sp)
+        )
+        val replacementShapes = ReplacementShapes(
+            component = RoundedCornerShape(percent = 50),
+            surface = RoundedCornerShape(size = 40.dp)
+        )
+        CompositionLocalProvider(
+            LocalReplacementTypography provides replacementTypography,
+            LocalReplacementShapes provides replacementShapes
+        ) {
+            MaterialTheme(
+                /* colors = ... */
+                content = content
+            )
+        }
+    }
+
+    // Use with eg. ReplacementTheme.typography.body
+    object ReplacementTheme {
+        val typography: ReplacementTypography
+            @Composable
+            get() = LocalReplacementTypography.current
+        val shapes: ReplacementShapes
+            @Composable
+            get() = LocalReplacementShapes.current
+    }
+    // End snippet 5
+
+    // Start snippet 6
+    @Composable
+    fun ReplacementButton(
+        onClick: () -> Unit,
+        modifier: Modifier = Modifier,
+        content: @Composable RowScope.() -> Unit
+    ) {
+        Button(
+            shape = ReplacementTheme.shapes.component,
+            onClick = onClick,
+            modifier = modifier,
+            content = {
+                ProvideTextStyle(
+                    value = ReplacementTheme.typography.body
+                ) {
+                    content()
+                }
+            }
+        )
+    }
+    // End snippet 6
+
+    // Start snippet 7
+    @Composable
+    fun ReplacementApp() {
+        ReplacementTheme {
+            /*...*/
+            ReplacementButton(onClick = { /* ... */ }) {
+                /* ... */
+            }
+        }
+    }
+    // End snippet 7
+}
+
+private object CustomSnippet89 {
+    // Start snippet 8
+    @Immutable
+    data class CustomColors(
+        val content: Color,
+        val component: Color,
+        val background: List<Color>
+    )
+
+    @Immutable
+    data class CustomTypography(
+        val body: TextStyle,
+        val title: TextStyle
+    )
+
+    @Immutable
+    data class CustomElevation(
+        val default: Dp,
+        val pressed: Dp
+    )
+
+    val LocalCustomColors = staticCompositionLocalOf {
+        CustomColors(
+            content = Color.Unspecified,
+            component = Color.Unspecified,
+            background = emptyList()
+        )
+    }
+    val LocalCustomTypography = staticCompositionLocalOf {
+        CustomTypography(
+            body = TextStyle.Default,
+            title = TextStyle.Default
+        )
+    }
+    val LocalCustomElevation = staticCompositionLocalOf {
+        CustomElevation(
+            default = Dp.Unspecified,
+            pressed = Dp.Unspecified
+        )
+    }
+
+    @Composable
+    fun CustomTheme(
+        /* ... */
+        content: @Composable () -> Unit
+    ) {
+        val customColors = CustomColors(
+            content = Color(0xFFDD0D3C),
+            component = Color(0xFFC20029),
+            background = listOf(Color.White, Color(0xFFF8BBD0))
+        )
+        val customTypography = CustomTypography(
+            body = TextStyle(fontSize = 16.sp),
+            title = TextStyle(fontSize = 32.sp)
+        )
+        val customElevation = CustomElevation(
+            default = 4.dp,
+            pressed = 8.dp
+        )
+        CompositionLocalProvider(
+            LocalCustomColors provides customColors,
+            LocalCustomTypography provides customTypography,
+            LocalCustomElevation provides customElevation,
+            content = content
+        )
+    }
+
+    // Use with eg. CustomTheme.elevation.small
+    object CustomTheme {
+        val colors: CustomColors
+            @Composable
+            get() = LocalCustomColors.current
+        val typography: CustomTypography
+            @Composable
+            get() = LocalCustomTypography.current
+        val elevation: CustomElevation
+            @Composable
+            get() = LocalCustomElevation.current
+    }
+    // End snippet 8
+
+    // Start snippet 9
+    @Composable
+    fun CustomButton(
+        onClick: () -> Unit,
+        modifier: Modifier = Modifier,
+        content: @Composable RowScope.() -> Unit
+    ) {
+        Button(
+            colors = ButtonDefaults.buttonColors(
+                backgroundColor = CustomTheme.colors.component,
+                contentColor = CustomTheme.colors.content,
+                disabledBackgroundColor = CustomTheme.colors.content
+                    .copy(alpha = 0.12f)
+                    .compositeOver(CustomTheme.colors.component),
+                disabledContentColor = CustomTheme.colors.content
+                    .copy(alpha = ContentAlpha.disabled)
+            ),
+            shape = ButtonShape,
+            elevation = ButtonDefaults.elevation(
+                defaultElevation = CustomTheme.elevation.default,
+                pressedElevation = CustomTheme.elevation.pressed
+                /* disabledElevation = 0.dp */
+            ),
+            onClick = onClick,
+            modifier = modifier,
+            content = {
+                ProvideTextStyle(
+                    value = CustomTheme.typography.body
+                ) {
+                    content()
+                }
+            }
+        )
+    }
+
+    val ButtonShape = RoundedCornerShape(percent = 50)
+    // End snippet 9
+}
+
+/*
+Fakes needed for snippets to build:
+ */
+
+private val Red300 = Color(0xffff0000)
+private val Red700 = Color(0xffff0000)
diff --git a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Material.kt b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Material.kt
new file mode 100644
index 0000000..551f343
--- /dev/null
+++ b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Material.kt
@@ -0,0 +1,446 @@
+// ktlint-disable indent https://github.com/pinterest/ktlint/issues/967
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Ignore lint warnings in documentation snippets
+@file:Suppress(
+    "unused", "UNUSED_PARAMETER", "UNUSED_VARIABLE", "RemoveEmptyParenthesesFromLambdaCall"
+)
+
+package androidx.compose.integration.docs.theming
+
+import androidx.compose.foundation.isSystemInDarkTheme
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.RowScope
+import androidx.compose.foundation.shape.CutCornerShape
+import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.material.Button
+import androidx.compose.material.ButtonDefaults
+import androidx.compose.material.ContentAlpha
+import androidx.compose.material.Icon
+import androidx.compose.material.LocalContentAlpha
+import androidx.compose.material.LocalElevationOverlay
+import androidx.compose.material.MaterialTheme
+import androidx.compose.material.Shapes
+import androidx.compose.material.Surface
+import androidx.compose.material.Text
+import androidx.compose.material.TopAppBar
+import androidx.compose.material.Typography
+import androidx.compose.material.contentColorFor
+import androidx.compose.material.darkColors
+import androidx.compose.material.lightColors
+import androidx.compose.material.primarySurface
+import androidx.compose.material.ripple.LocalRippleTheme
+import androidx.compose.material.ripple.RippleTheme
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.runtime.Immutable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.compositeOver
+import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.unit.dp
+import androidx.compose.ui.unit.sp
+
+/**
+ * This file lets DevRel track changes to snippets present in
+ * https://developer.android.com/jetpack/compose/themes/material
+ *
+ * No action required if it's modified.
+ */
+
+private object MaterialSnippet1 {
+    /* Can't be compiled. See snippet below for changes.
+    MaterialTheme(
+    colors = ...,
+    typography = ...,
+    shapes = ...
+    ) {
+        // app content
+    }
+     */
+    @Composable
+    fun MaterialTheming() {
+        MaterialTheme(
+            colors = MaterialTheme.colors,
+            typography = MaterialTheme.typography,
+            shapes = MaterialTheme.shapes
+        ) { }
+    }
+}
+
+private object MaterialSnippet2 {
+    val Red = Color(0xffff0000)
+    val Blue = Color(red = 0f, green = 0f, blue = 1f)
+}
+
+private object MaterialSnippet3 {
+    private val Yellow200 = Color(0xffffeb46)
+    private val Blue200 = Color(0xff91a4fc)
+    // ...
+
+    private val DarkColors = darkColors(
+        primary = Yellow200,
+        secondary = Blue200,
+        // ...
+    )
+    private val LightColors = lightColors(
+        primary = Yellow500,
+        primaryVariant = Yellow400,
+        secondary = Blue700,
+        // ...
+    )
+}
+
+private object MaterialSnippet4 {
+    @Composable
+    fun MaterialTheming() {
+        MaterialTheme(
+            colors = if (darkTheme) DarkColors else LightColors
+        ) {
+            // app content
+        }
+    }
+}
+
+private object MaterialSnippet5 {
+    @Composable
+    fun MaterialTheming() {
+        Text(
+            text = "Hello theming",
+            color = MaterialTheme.colors.primary
+        )
+    }
+}
+
+private object MaterialSnippet6 {
+    @Composable
+    fun MaterialTheming() {
+        /* This snippet comes from the API. It needs to be updated if the snippet below is modified:
+Surface(
+    color: Color = MaterialTheme.colors.surface,
+    contentColor: Color = contentColorFor(color),
+    ...
+
+TopAppBar(
+    backgroundColor: Color = MaterialTheme.colors.primarySurface,
+    contentColor: Color = contentColorFor(backgroundColor),
+    ...
+     */
+        Column {
+            Surface(
+                color = MaterialTheme.colors.surface,
+                contentColor = contentColorFor(MaterialTheme.colors.surface)
+            ) {}
+            TopAppBar(
+                backgroundColor = MaterialTheme.colors.primarySurface,
+                contentColor = contentColorFor(MaterialTheme.colors.primarySurface)
+            ) {}
+        }
+    }
+}
+
+private object MaterialSnippet7 {
+    @Composable
+    fun MaterialTheming() {
+        // By default, both Icon & Text use the combination of LocalContentColor &
+        // LocalContentAlpha. De-emphasize content by setting content alpha
+        CompositionLocalProvider(LocalContentAlpha provides ContentAlpha.medium) {
+            Text(/*...*/)
+        }
+        CompositionLocalProvider(LocalContentAlpha provides ContentAlpha.disabled) {
+            Icon(/*...*/)
+            Text(/*...*/)
+        }
+    }
+    @Composable private fun Icon() { }
+    @Composable private fun Text() { }
+}
+
+private object MaterialSnippet8 {
+    @Composable
+    fun MyTheme(
+        darkTheme: Boolean = isSystemInDarkTheme(),
+        content: @Composable () -> Unit
+    ) {
+        MaterialTheme(
+            colors = if (darkTheme) DarkColors else LightColors,
+            /*...*/
+            content = content
+        )
+    }
+}
+
+private object MaterialSnippet9 {
+    @Composable
+    fun MaterialTheming() {
+        val isLightTheme = MaterialTheme.colors.isLight
+        Icon(
+            painterResource(
+                id = if (isLightTheme) {
+                    R.drawable.ic_sun_24dp
+                } else {
+                    R.drawable.ic_moon_24dp
+                }
+            ),
+            contentDescription = "Theme"
+        )
+    }
+}
+
+private object MaterialSnippet10 {
+    @Composable
+    fun MaterialTheming() {
+        Surface(
+            elevation = 2.dp,
+            color = MaterialTheme.colors.surface, // color will be adjusted for elevation
+            /*...*/
+        ) { /*...*/ }
+    }
+}
+
+private object MaterialSnippet11 {
+    @Composable
+    fun MaterialTheming() {
+        // Elevation overlays
+        // Implemented in Surface (and any components that use it)
+        val color = MaterialTheme.colors.surface
+        val elevation = 4.dp
+        val overlaidColor = LocalElevationOverlay.current?.apply(
+            color, elevation
+        )
+    }
+}
+
+private object MaterialSnippet12 {
+    @Composable
+    fun MaterialTheming() {
+        MyTheme {
+            CompositionLocalProvider(LocalElevationOverlay provides null) {
+                // Content without elevation overlays
+            }
+        }
+    }
+}
+
+private object MaterialSnippet13 {
+    @Composable
+    fun MaterialTheming() {
+        Surface(
+            // Switches between primary in light theme and surface in dark theme
+            color = MaterialTheme.colors.primarySurface,
+            /*...*/
+        ) { /*...*/ }
+    }
+}
+
+private object MaterialSnippet14 {
+    @Composable
+    fun MaterialTheming() {
+        val Rubik = FontFamily(
+            Font(R.font.rubik_regular),
+            Font(R.font.rubik_medium, FontWeight.W500),
+            Font(R.font.rubik_bold, FontWeight.Bold)
+        )
+
+        val MyTypography = Typography(
+            h1 = TextStyle(
+                fontFamily = Rubik,
+                fontWeight = FontWeight.W300,
+                fontSize = 96.sp
+            ),
+            body1 = TextStyle(
+                fontFamily = Rubik,
+                fontWeight = FontWeight.W600,
+                fontSize = 16.sp
+            )
+            /*...*/
+        )
+        MaterialTheme(typography = MyTypography, /*...*/)
+    }
+    @Composable private fun MaterialTheme(typography: Typography) { }
+}
+
+private object MaterialSnippet15 {
+    @Composable
+    fun MaterialTheming() {
+        val typography = Typography(defaultFontFamily = Rubik)
+        MaterialTheme(typography = typography, /*...*/)
+    }
+    @Composable private fun MaterialTheme(typography: Typography) { }
+}
+
+private object MaterialSnippet16 {
+    @Composable
+    fun MaterialTheming() {
+        Text(
+            text = "Subtitle2 styled",
+            style = MaterialTheme.typography.subtitle2
+        )
+    }
+}
+
+private object MaterialSnippet17 {
+    @Composable
+    fun MaterialTheming() {
+        val Shapes = Shapes(
+            small = RoundedCornerShape(percent = 50),
+            medium = RoundedCornerShape(0f),
+            large = CutCornerShape(
+                topStart = 16.dp,
+                topEnd = 0.dp,
+                bottomEnd = 0.dp,
+                bottomStart = 16.dp
+            )
+        )
+
+        MaterialTheme(shapes = Shapes, /*...*/)
+    }
+    @Composable private fun MaterialTheme(shapes: Shapes) { }
+}
+
+private object MaterialSnippet18 {
+    @Composable
+    fun MaterialTheming() {
+        Surface(
+            shape = MaterialTheme.shapes.medium, /*...*/
+        ) {
+            /*...*/
+        }
+    }
+}
+
+private object MaterialSnippet19 {
+    @Composable
+    fun MyButton(
+        onClick: () -> Unit,
+        modifier: Modifier = Modifier,
+        content: @Composable RowScope.() -> Unit
+    ) {
+        Button(
+            colors = ButtonDefaults.buttonColors(
+                backgroundColor = MaterialTheme.colors.secondary
+            ),
+            onClick = onClick,
+            modifier = modifier,
+            content = content
+        )
+    }
+}
+
+private object MaterialSnippet20 {
+    @Composable
+    fun DetailsScreen(/* ... */) {
+        PinkTheme {
+            // other content
+            RelatedSection()
+        }
+    }
+
+    @Composable
+    fun RelatedSection(/* ... */) {
+        BlueTheme {
+            // content
+        }
+    }
+}
+
+private object MaterialSnippet21 {
+    @Composable
+    fun MaterialTheming() {
+        Button(
+            onClick = { /* ... */ },
+            enabled = true,
+            // Custom colors for different states
+            colors = ButtonDefaults.buttonColors(
+                backgroundColor = MaterialTheme.colors.secondary,
+                disabledBackgroundColor = MaterialTheme.colors.onBackground
+                    .copy(alpha = 0.2f)
+                    .compositeOver(MaterialTheme.colors.background)
+                // Also contentColor and disabledContentColor
+            ),
+            // Custom elevation for different states
+            elevation = ButtonDefaults.elevation(
+                defaultElevation = 8.dp,
+                disabledElevation = 2.dp,
+                // Also pressedElevation
+            )
+        ) { /* ... */ }
+    }
+}
+
+private object MaterialSnippet22 {
+    @Composable
+    fun MyApp() {
+        MaterialTheme {
+            CompositionLocalProvider(
+                LocalRippleTheme provides SecondaryRippleTheme
+            ) {
+                // App content
+            }
+        }
+    }
+
+    @Immutable
+    private object SecondaryRippleTheme : RippleTheme {
+        @Composable
+        override fun defaultColor() = RippleTheme.defaultRippleColor(
+            contentColor = MaterialTheme.colors.secondary,
+            lightTheme = MaterialTheme.colors.isLight
+        )
+
+        @Composable
+        override fun rippleAlpha() = RippleTheme.defaultRippleAlpha(
+            contentColor = MaterialTheme.colors.secondary,
+            lightTheme = MaterialTheme.colors.isLight
+        )
+    }
+}
+
+/*
+Fakes needed for snippets to build:
+ */
+
+private val Yellow500 = Color(0xffffeb46)
+private val Yellow400 = Color(0xffffeb46)
+private val Blue700 = Color(0xffffeb46)
+
+private const val darkTheme = true
+private val DarkColors = darkColors()
+private val LightColors = lightColors()
+
+@Composable private fun MyTheme(content: @Composable () -> Unit) {}
+@Composable private fun PinkTheme(content: @Composable () -> Unit) {}
+@Composable private fun BlueTheme(content: @Composable () -> Unit) {}
+
+@Suppress("ClassName")
+private object R {
+    object drawable {
+        const val ic_sun_24dp = 1
+        const val ic_moon_24dp = 1
+    }
+    object font {
+        const val rubik_regular = 1
+        const val rubik_medium = 1
+        const val rubik_bold = 1
+    }
+}
+
+private val Rubik = FontFamily()
diff --git a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Theming.kt b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Theming.kt
deleted file mode 100644
index 9fefe71..0000000
--- a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Theming.kt
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Ignore lint warnings in documentation snippets
-@file:Suppress("unused", "UNUSED_PARAMETER", "UNUSED_VARIABLE", "LocalVariableName")
-
-package androidx.compose.integration.docs.theming
-
-import androidx.compose.foundation.isSystemInDarkTheme
-import androidx.compose.foundation.layout.Column
-import androidx.compose.foundation.layout.RowScope
-import androidx.compose.foundation.shape.CutCornerShape
-import androidx.compose.foundation.shape.RoundedCornerShape
-import androidx.compose.material.Button
-import androidx.compose.material.ButtonDefaults
-import androidx.compose.material.Colors
-import androidx.compose.material.ContentAlpha
-import androidx.compose.material.LocalContentAlpha
-import androidx.compose.material.MaterialTheme
-import androidx.compose.material.Shapes
-import androidx.compose.material.Surface
-import androidx.compose.material.Text
-import androidx.compose.material.TopAppBar
-import androidx.compose.material.Typography
-import androidx.compose.material.contentColorFor
-import androidx.compose.material.darkColors
-import androidx.compose.material.lightColors
-import androidx.compose.material.primarySurface
-import androidx.compose.runtime.Composable
-import androidx.compose.runtime.CompositionLocalProvider
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.text.TextStyle
-import androidx.compose.ui.text.font.Font
-import androidx.compose.ui.text.font.FontFamily
-import androidx.compose.ui.text.font.FontWeight
-import androidx.compose.ui.unit.dp
-import androidx.compose.ui.unit.sp
-
-/**
- * This file lets DevRel track changes to snippets present in
- * https://developer.android.com/jetpack/compose/themes
- *
- * No action required if it's modified.
- */
-
-private object ThemingSnippet1 {
-    /* Can't be compiled. See snippet below for changes.
-    MaterialTheme(
-    colors = ...,
-    typography = ...,
-    shapes = ...
-    ) {
-        // app content
-    }
-     */
-    @Composable
-    fun MaterialThemeSignature() {
-        MaterialTheme(
-            colors = MaterialTheme.colors,
-            typography = MaterialTheme.typography,
-            shapes = MaterialTheme.shapes
-        ) { }
-    }
-}
-
-private object ThemingSnippet2 {
-    val Red = Color(0xffff0000)
-    val Blue = Color(red = 0f, green = 0f, blue = 1f)
-}
-
-private object ThemingSnippet3 {
-    private val Yellow200 = Color(0xffffeb46)
-    private val Blue200 = Color(0xff91a4fc)
-    // ...
-
-    private val DarkColors = darkColors(
-        primary = Yellow200,
-        secondary = Blue200,
-        // ...
-    )
-    private val LightColors = lightColors(
-        primary = Yellow500,
-        primaryVariant = Yellow400,
-        secondary = Blue700,
-        // ...
-    )
-}
-
-@Composable private fun ThemingSnippet4() {
-
-    MaterialTheme(
-        colors = if (darkTheme) DarkColors else LightColors
-    ) {
-        // app content
-    }
-}
-
-@Composable private fun ThemingSnippet5() {
-    Text(
-        text = "Hello theming",
-        color = MaterialTheme.colors.primary
-    )
-}
-
-@Composable private fun ThemingSnippet6() {
-    /* This snippet comes from the API. It needs to be updated if the snippet below is modified:
-Surface(
-    color: Color = MaterialTheme.colors.surface,
-    contentColor: Color = contentColorFor(color),
-    ...
-
-TopAppBar(
-    backgroundColor: Color = MaterialTheme.colors.primarySurface,
-    contentColor: Color = contentColorFor(backgroundColor),
-    ...
-     */
-    Column {
-        Surface(
-            color = MaterialTheme.colors.surface,
-            contentColor = contentColorFor(MaterialTheme.colors.surface)
-        ) {}
-        TopAppBar(
-            backgroundColor = MaterialTheme.colors.primarySurface,
-            contentColor = contentColorFor(MaterialTheme.colors.primarySurface)
-        ) {}
-    }
-}
-
-@Composable private fun ThemingSnippet7() {
-    // By default, both Icon & Text use the combination of LocalContentColor &
-    // LocalContentAlpha. De-emphasize content by setting content alpha
-    CompositionLocalProvider(LocalContentAlpha provides ContentAlpha.medium) {
-        Text(/*...*/)
-    }
-    CompositionLocalProvider(LocalContentAlpha provides ContentAlpha.disabled) {
-        Icon(/*...*/)
-        Text(/*...*/)
-    }
-}
-
-private object ThemingSnippet8 {
-    @Composable
-    fun MyTheme(
-        darkTheme: Boolean = isSystemInDarkTheme(),
-        content: @Composable () -> Unit
-    ) {
-        MaterialTheme(
-            colors = if (darkTheme) DarkColors else LightColors,
-            /*...*/
-            content = content
-        )
-    }
-}
-
-@Composable private fun ThemingSnippet9() {
-    val isLightTheme = MaterialTheme.colors.isLight
-}
-
-@Composable private fun ThemingSnippet10() {
-    Surface(
-        elevation = 2.dp,
-        color = MaterialTheme.colors.surface, // color will be adjusted for elevation
-        /*...*/
-    ) { /*...*/ }
-}
-
-private object ThemingSnippet11 {
-    val Colors.snackbarAction: Color
-        @Composable get() = if (isLight) Red300 else Red700
-}
-
-@Composable private fun ThemingSnippet12() {
-    val Rubik = FontFamily(
-        Font(R.font.rubik_regular),
-        Font(R.font.rubik_medium, FontWeight.W500),
-        Font(R.font.rubik_bold, FontWeight.Bold)
-    )
-
-    val MyTypography = Typography(
-        h1 = TextStyle(
-            fontFamily = Rubik,
-            fontWeight = FontWeight.W300,
-            fontSize = 96.sp
-        ),
-        body1 = TextStyle(
-            fontFamily = Rubik,
-            fontWeight = FontWeight.W600,
-            fontSize = 16.sp
-        )
-        /*...*/
-    )
-    MaterialTheme(typography = MyTypography, /*...*/)
-}
-
-@Composable private fun ThemingSnippet13() {
-    val typography = Typography(defaultFontFamily = Rubik)
-    MaterialTheme(typography = typography, /*...*/)
-}
-
-@Composable private fun ThemingSnippet14() {
-    Text(
-        text = "Subtitle2 styled",
-        style = MaterialTheme.typography.subtitle2
-    )
-}
-
-@Composable private fun ThemingSnippet15() {
-    val Shapes = Shapes(
-        small = RoundedCornerShape(percent = 50),
-        medium = RoundedCornerShape(0f),
-        large = CutCornerShape(
-            topStart = 16.dp,
-            topEnd = 0.dp,
-            bottomEnd = 0.dp,
-            bottomStart = 16.dp
-        )
-    )
-
-    MaterialTheme(shapes = Shapes, /*...*/)
-}
-
-@Composable private fun ThemingSnippet16() {
-    Surface(
-        shape = MaterialTheme.shapes.medium, /*...*/
-    ) {
-        /*...*/
-    }
-}
-
-/* ktlint-disable indent */
-private object ThemingSnippet17 {
-    @Composable
-    fun LoginButton(
-        onClick: () -> Unit,
-        modifier: Modifier = Modifier,
-        content: @Composable RowScope.() -> Unit
-    ) {
-        Button(
-            colors = ButtonDefaults.buttonColors(
-                backgroundColor = MaterialTheme.colors.secondary
-            ),
-            onClick = onClick,
-            modifier = modifier,
-            content = content
-        )
-    }
-}
-
-/*
-Fakes needed for snippets to build:
- */
-
-private val Yellow500 = Color(0xffffeb46)
-private val Yellow400 = Color(0xffffeb46)
-private val Blue700 = Color(0xffffeb46)
-
-private val darkTheme = true
-private val DarkColors = darkColors()
-private val LightColors = lightColors()
-
-@Composable private fun Icon() { }
-@Composable private fun Text() { }
-
-private val Red300 = Color(0xffffeb46)
-private val Red700 = Color(0xffffeb46)
-
-@Suppress("ClassName")
-private object R {
-    object font {
-        const val rubik_regular = 1
-        const val rubik_medium = 1
-        const val rubik_bold = 1
-    }
-}
-
-private val Rubik = FontFamily()
-private fun MaterialTheme(typography: Typography) { }
-private fun MaterialTheme(shapes: Shapes) { }
diff --git a/compose/integration-tests/macrobenchmark-target/lint-baseline.xml b/compose/integration-tests/macrobenchmark-target/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/integration-tests/macrobenchmark-target/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/integration-tests/macrobenchmark/lint-baseline.xml b/compose/integration-tests/macrobenchmark/lint-baseline.xml
index b620a2b5..0867719 100644
--- a/compose/integration-tests/macrobenchmark/lint-baseline.xml
+++ b/compose/integration-tests/macrobenchmark/lint-baseline.xml
@@ -1,136 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
-        errorLine1="    val benchmarkRule = MacrobenchmarkRule()"
-        errorLine2="                        ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/compose/integration/macrobenchmark/IoSettingsStartupBenchmark.kt"
-            line="37"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 28): `measureStartup`"
-        errorLine1="    fun startup() = benchmarkRule.measureStartup("
-        errorLine2="                                  ~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/compose/integration/macrobenchmark/IoSettingsStartupBenchmark.kt"
-            line="40"
-            column="35"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
-        errorLine1="    val benchmarkRule = MacrobenchmarkRule()"
-        errorLine2="                        ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/compose/integration/macrobenchmark/NestedListsScrollBenchmark.kt"
-            line="42"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 28): `measureRepeated`"
-        errorLine1="        benchmarkRule.measureRepeated("
-        errorLine2="                      ~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/compose/integration/macrobenchmark/NestedListsScrollBenchmark.kt"
-            line="54"
-            column="23"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 28): `measureRepeated`"
-        errorLine1="            iterations = 10,"
-        errorLine2="                         ~~">
-        <location
-            file="src/androidTest/java/androidx/compose/integration/macrobenchmark/NestedListsScrollBenchmark.kt"
-            line="58"
-            column="26"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
-        errorLine1="    val benchmarkRule = MacrobenchmarkRule()"
-        errorLine2="                        ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/compose/integration/macrobenchmark/SmallListStartupBenchmark.kt"
-            line="37"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 28): `measureStartup`"
-        errorLine1="    fun startup() = benchmarkRule.measureStartup("
-        errorLine2="                                  ~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/compose/integration/macrobenchmark/SmallListStartupBenchmark.kt"
-            line="40"
-            column="35"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
-        errorLine1="    val benchmarkRule = MacrobenchmarkRule()"
-        errorLine2="                        ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/compose/integration/macrobenchmark/TrivialListScrollBenchmark.kt"
-            line="42"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 28): `measureRepeated`"
-        errorLine1="        benchmarkRule.measureRepeated("
-        errorLine2="                      ~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/compose/integration/macrobenchmark/TrivialListScrollBenchmark.kt"
-            line="54"
-            column="23"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 28): `measureRepeated`"
-        errorLine1="            iterations = 10,"
-        errorLine2="                         ~~">
-        <location
-            file="src/androidTest/java/androidx/compose/integration/macrobenchmark/TrivialListScrollBenchmark.kt"
-            line="58"
-            column="26"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
-        errorLine1="    val benchmarkRule = MacrobenchmarkRule()"
-        errorLine2="                        ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/compose/integration/macrobenchmark/TrivialStartupBenchmark.kt"
-            line="37"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 28): `measureStartup`"
-        errorLine1="    fun startup() = benchmarkRule.measureStartup("
-        errorLine2="                                  ~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/compose/integration/macrobenchmark/TrivialStartupBenchmark.kt"
-            line="40"
-            column="35"/>
-    </issue>
+<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>
diff --git a/compose/integration-tests/material-catalog/lint-baseline.xml b/compose/integration-tests/material-catalog/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/integration-tests/material-catalog/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/lint/common-test/lint-baseline.xml b/compose/lint/common-test/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/lint/common-test/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/lint/common/lint-baseline.xml b/compose/lint/common/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/lint/common/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/lint/internal-lint-checks/lint-baseline.xml b/compose/lint/internal-lint-checks/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/lint/internal-lint-checks/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/material/material-icons-core/lint-baseline.xml b/compose/material/material-icons-core/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/material/material-icons-core/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/material/material-icons-core/samples/lint-baseline.xml b/compose/material/material-icons-core/samples/lint-baseline.xml
new file mode 100644
index 0000000..5535c9a
--- /dev/null
+++ b/compose/material/material-icons-core/samples/lint-baseline.xml
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="140"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="145"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="149"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="153"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="158"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="162"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="166"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="170"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="174"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="186"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="191"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="196"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="206"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.LOLLIPOP)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="136"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="1311"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat.android.kt"
+            line="2557"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFont.kt"
+            line="133"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidFontListTypeface.android.kt"
+            line="160"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoader.android.kt"
+            line="52"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="82"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="95"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="36"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="43"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeLayer.android.kt"
+            line="93"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(api = 18)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../../../text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.kt"
+            line="296"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 28 here from outer annotations"
+        errorLine1="    @RequiresApi(28)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/TypefaceAdapter.android.kt"
+            line="271"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.android.kt"
+            line="97"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.Q)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/Wrapper.android.kt"
+            line="214"
+            column="5"/>
+    </issue>
+
+</issues>
diff --git a/compose/material/material-icons-extended-filled/lint-baseline.xml b/compose/material/material-icons-extended-filled/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/material/material-icons-extended-filled/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/material/material-icons-extended-outlined/lint-baseline.xml b/compose/material/material-icons-extended-outlined/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/material/material-icons-extended-outlined/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/material/material-icons-extended-rounded/lint-baseline.xml b/compose/material/material-icons-extended-rounded/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/material/material-icons-extended-rounded/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/material/material-icons-extended-sharp/lint-baseline.xml b/compose/material/material-icons-extended-sharp/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/compose/material/material-icons-extended-sharp/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/compose/material/material-icons-extended-twotone/lint-baseline.xml b/compose/material/material-icons-extended-twotone/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/material/material-icons-extended-twotone/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/material/material-icons-extended/build.gradle b/compose/material/material-icons-extended/build.gradle
index 5e33daf8..92a6884 100644
--- a/compose/material/material-icons-extended/build.gradle
+++ b/compose/material/material-icons-extended/build.gradle
@@ -68,7 +68,7 @@
          * corresponding block above
          */
         sourceSets {
-            androidTest.dependencies {
+            androidAndroidTest.dependencies {
                 implementation(project(":compose:foundation:foundation"))
                 implementation(project(":compose:foundation:foundation-layout"))
                 implementation(project(":compose:ui:ui"))
diff --git a/compose/material/material-icons-extended/lint-baseline.xml b/compose/material/material-icons-extended/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/material/material-icons-extended/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/material/material-lint/lint-baseline.xml b/compose/material/material-lint/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/material/material-lint/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/material/material-ripple/build.gradle b/compose/material/material-ripple/build.gradle
index e52ddfe..24c5c5c9 100644
--- a/compose/material/material-ripple/build.gradle
+++ b/compose/material/material-ripple/build.gradle
@@ -75,7 +75,7 @@
 
             desktopMain.dependsOn(jvmMain)
 
-            test.dependencies {
+            androidTest.dependencies {
                 implementation(libs.testRules)
                 implementation(libs.testRunner)
                 implementation(libs.junit)
diff --git a/compose/material/material-ripple/lint-baseline.xml b/compose/material/material-ripple/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/material/material-ripple/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/material/material/benchmark/lint-baseline.xml b/compose/material/material/benchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/material/material/benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/material/material/build.gradle b/compose/material/material/build.gradle
index c8a8eeb..4086ced 100644
--- a/compose/material/material/build.gradle
+++ b/compose/material/material/build.gradle
@@ -103,7 +103,7 @@
                 implementation(libs.kotlinStdlib)
             }
 
-            test.dependencies {
+            androidTest.dependencies {
                 implementation(libs.testRules)
                 implementation(libs.testRunner)
                 implementation(libs.junit)
diff --git a/compose/material/material/icons/generator/lint-baseline.xml b/compose/material/material/icons/generator/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/material/material/icons/generator/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/material/material/integration-tests/material-catalog/lint-baseline.xml b/compose/material/material/integration-tests/material-catalog/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/material/material/integration-tests/material-catalog/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/material/material/integration-tests/material-demos/lint-baseline.xml b/compose/material/material/integration-tests/material-demos/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/material/material/integration-tests/material-demos/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/material/material/lint-baseline.xml b/compose/material/material/lint-baseline.xml
index b0b67ac..3944a6a 100644
--- a/compose/material/material/lint-baseline.xml
+++ b/compose/material/material/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
diff --git a/compose/material/material/samples/lint-baseline.xml b/compose/material/material/samples/lint-baseline.xml
new file mode 100644
index 0000000..5535c9a
--- /dev/null
+++ b/compose/material/material/samples/lint-baseline.xml
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="140"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="145"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="149"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="153"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="158"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="162"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="166"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="170"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="174"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="186"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="191"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="196"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="206"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.LOLLIPOP)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="136"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="1311"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat.android.kt"
+            line="2557"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFont.kt"
+            line="133"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidFontListTypeface.android.kt"
+            line="160"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoader.android.kt"
+            line="52"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="82"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="95"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="36"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="43"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeLayer.android.kt"
+            line="93"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(api = 18)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../../../text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.kt"
+            line="296"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 28 here from outer annotations"
+        errorLine1="    @RequiresApi(28)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/TypefaceAdapter.android.kt"
+            line="271"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.android.kt"
+            line="97"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.Q)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/Wrapper.android.kt"
+            line="214"
+            column="5"/>
+    </issue>
+
+</issues>
diff --git a/compose/material3/material3/build.gradle b/compose/material3/material3/build.gradle
index c0b208a..5ce98d0 100644
--- a/compose/material3/material3/build.gradle
+++ b/compose/material3/material3/build.gradle
@@ -94,7 +94,7 @@
                 implementation(libs.kotlinStdlib)
             }
 
-            test.dependencies {
+            androidTest.dependencies {
                 implementation(libs.testRules)
                 implementation(libs.testRunner)
                 implementation(libs.junit)
diff --git a/compose/material3/material3/integration-tests/material3-catalog/lint-baseline.xml b/compose/material3/material3/integration-tests/material3-catalog/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/material3/material3/integration-tests/material3-catalog/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/Border.kt b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/Border.kt
index 85c458c..52fea3f 100644
--- a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/Border.kt
+++ b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/Border.kt
@@ -16,8 +16,8 @@
 
 package androidx.compose.material3.catalog.library.ui.common
 
-import androidx.compose.material.LocalContentColor
-import androidx.compose.material.MaterialTheme
+import androidx.compose.material3.LocalContentColor
+import androidx.compose.material3.MaterialTheme
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.drawBehind
@@ -65,7 +65,7 @@
  */
 @Composable
 fun compositeBorderColor(): Color = LocalContentColor.current.copy(alpha = BorderAlpha)
-    .compositeOver(MaterialTheme.colors.background)
+    .compositeOver(MaterialTheme.colorScheme.background)
 
 val BorderWidth = 1.dp
 private const val BorderAlpha = 0.12f
diff --git a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/CatalogScaffold.kt b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/CatalogScaffold.kt
index 6fb21f85..f4309de 100644
--- a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/CatalogScaffold.kt
+++ b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/CatalogScaffold.kt
@@ -20,8 +20,11 @@
 import androidx.compose.material.ExperimentalMaterialApi
 import androidx.compose.material.ModalBottomSheetLayout
 import androidx.compose.material.ModalBottomSheetValue
-import androidx.compose.material.Scaffold
 import androidx.compose.material.rememberModalBottomSheetState
+import androidx.compose.material3.ExperimentalMaterial3Api
+import androidx.compose.material3.LocalContentColor
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Scaffold
 import androidx.compose.material3.catalog.library.model.Theme
 import androidx.compose.material3.catalog.library.ui.theme.ThemePicker
 import androidx.compose.material3.catalog.library.util.GuidelinesUrl
@@ -32,14 +35,16 @@
 import androidx.compose.material3.catalog.library.util.SourceUrl
 import androidx.compose.material3.catalog.library.util.TermsUrl
 import androidx.compose.material3.catalog.library.util.openUrl
+import androidx.compose.material3.contentColorFor
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.CompositionLocalProvider
 import androidx.compose.runtime.rememberCoroutineScope
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.platform.LocalContext
 import kotlinx.coroutines.launch
 
 // TODO: Use components/values from Material3 when available
-@OptIn(ExperimentalMaterialApi::class)
+@OptIn(ExperimentalMaterialApi::class, ExperimentalMaterial3Api::class)
 @Composable
 fun CatalogScaffold(
     topBarTitle: String,
@@ -58,42 +63,50 @@
 ) {
     val coroutineScope = rememberCoroutineScope()
     val sheetState = rememberModalBottomSheetState(ModalBottomSheetValue.Hidden)
-    ModalBottomSheetLayout(
-        sheetState = sheetState,
-        sheetContent = {
-            ThemePicker(
-                theme = theme,
-                onThemeChange = { theme ->
-                    coroutineScope.launch {
-                        sheetState.hide()
-                        onThemeChange(theme)
+    val containerColor = MaterialTheme.colorScheme.background
+    val contentColor = contentColorFor(containerColor)
+    CompositionLocalProvider(LocalContentColor provides contentColor) {
+        ModalBottomSheetLayout(
+            sheetState = sheetState,
+            sheetBackgroundColor = containerColor,
+            sheetContentColor = contentColor,
+            sheetContent = {
+                ThemePicker(
+                    theme = theme,
+                    onThemeChange = { theme ->
+                        coroutineScope.launch {
+                            sheetState.hide()
+                            onThemeChange(theme)
+                        }
                     }
-                }
-            )
-        },
-        // Default scrim color is onSurface which is incorrect in dark theme
-        // https://issuetracker.google.com/issues/183697056
-        scrimColor = SheetScrimColor
-    ) {
-        val context = LocalContext.current
-        Scaffold(
-            topBar = {
-                CatalogTopAppBar(
-                    title = topBarTitle,
-                    showBackNavigationIcon = showBackNavigationIcon,
-                    onBackClick = onBackClick,
-                    onThemeClick = { coroutineScope.launch { sheetState.show() } },
-                    onGuidelinesClick = { context.openUrl(guidelinesUrl) },
-                    onDocsClick = { context.openUrl(docsUrl) },
-                    onSourceClick = { context.openUrl(sourceUrl) },
-                    onIssueClick = { context.openUrl(issueUrl) },
-                    onTermsClick = { context.openUrl(termsUrl) },
-                    onPrivacyClick = { context.openUrl(privacyUrl) },
-                    onLicensesClick = { context.openUrl(licensesUrl) }
                 )
             },
-            content = content
-        )
+            // Default scrim color is onSurface which is incorrect in dark theme
+            // https://issuetracker.google.com/issues/183697056
+            scrimColor = SheetScrimColor
+        ) {
+            val context = LocalContext.current
+            Scaffold(
+                topBar = {
+                    CatalogTopAppBar(
+                        title = topBarTitle,
+                        showBackNavigationIcon = showBackNavigationIcon,
+                        onBackClick = onBackClick,
+                        onThemeClick = { coroutineScope.launch { sheetState.show() } },
+                        onGuidelinesClick = { context.openUrl(guidelinesUrl) },
+                        onDocsClick = { context.openUrl(docsUrl) },
+                        onSourceClick = { context.openUrl(sourceUrl) },
+                        onIssueClick = { context.openUrl(issueUrl) },
+                        onTermsClick = { context.openUrl(termsUrl) },
+                        onPrivacyClick = { context.openUrl(privacyUrl) },
+                        onLicensesClick = { context.openUrl(licensesUrl) }
+                    )
+                },
+                containerColor = containerColor,
+                contentColor = contentColor,
+                content = content
+            )
+        }
     }
 }
 
diff --git a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/CatalogTopAppBar.kt b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/CatalogTopAppBar.kt
index 7d8413a..f94d9f9 100644
--- a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/CatalogTopAppBar.kt
+++ b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/CatalogTopAppBar.kt
@@ -16,30 +16,30 @@
 
 package androidx.compose.material3.catalog.library.ui.common
 
+import androidx.compose.foundation.background
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.Row
 import androidx.compose.material.AppBarDefaults
 import androidx.compose.material.Divider
 import androidx.compose.material.DropdownMenu
 import androidx.compose.material.DropdownMenuItem
-import androidx.compose.material.Icon
-import androidx.compose.material.IconButton
-import androidx.compose.material.MaterialTheme
-import androidx.compose.material.Surface
-import androidx.compose.material.Text
 import androidx.compose.material.TopAppBar
 import androidx.compose.material.icons.Icons
 import androidx.compose.material.icons.filled.ArrowBack
 import androidx.compose.material.icons.filled.MoreVert
-import androidx.compose.material.primarySurface
+import androidx.compose.material3.Icon
+import androidx.compose.material3.IconButton
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Surface
+import androidx.compose.material3.Text
 import androidx.compose.material3.catalog.library.R
+import androidx.compose.material3.contentColorFor
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.getValue
 import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
 import androidx.compose.runtime.setValue
 import androidx.compose.ui.Modifier
-import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.text.style.TextOverflow
@@ -63,18 +63,19 @@
     onLicensesClick: () -> Unit = {}
 ) {
     var moreMenuExpanded by remember { mutableStateOf(false) }
+    val backgroundColor = MaterialTheme.colorScheme.background
     // Wrapping in a Surface to handle window insets
     // https://issuetracker.google.com/issues/183161866
     Surface(
-        color = MaterialTheme.colors.primarySurface,
-        elevation = AppBarDefaults.TopAppBarElevation
+        color = MaterialTheme.colorScheme.surface,
+        tonalElevation = AppBarDefaults.TopAppBarElevation,
     ) {
         TopAppBar(
             title = {
                 Text(
                     text = title,
                     maxLines = 1,
-                    overflow = TextOverflow.Ellipsis
+                    overflow = TextOverflow.Ellipsis,
                 )
             },
             actions = {
@@ -139,7 +140,8 @@
             } else {
                 null
             },
-            backgroundColor = Color.Transparent,
+            backgroundColor = backgroundColor,
+            contentColor = contentColorFor(backgroundColor),
             elevation = 0.dp,
             modifier = Modifier
                 .statusBarsPadding()
@@ -162,7 +164,8 @@
 ) {
     DropdownMenu(
         expanded = expanded,
-        onDismissRequest = onDismissRequest
+        onDismissRequest = onDismissRequest,
+        modifier = Modifier.background(MaterialTheme.colorScheme.background),
     ) {
         DropdownMenuItem(onClick = onGuidelinesClick) {
             Text(stringResource(id = R.string.view_design_guidelines))
diff --git a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/component/Component.kt b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/component/Component.kt
index f372e0e..c82f698 100644
--- a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/component/Component.kt
+++ b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/component/Component.kt
@@ -26,9 +26,9 @@
 import androidx.compose.foundation.lazy.LazyColumn
 import androidx.compose.foundation.lazy.items
 import androidx.compose.material.ContentAlpha
-import androidx.compose.material.LocalContentColor
-import androidx.compose.material.MaterialTheme
-import androidx.compose.material.Text
+import androidx.compose.material3.LocalContentColor
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
 import androidx.compose.material3.catalog.library.R
 import androidx.compose.material3.catalog.library.model.Component
 import androidx.compose.material3.catalog.library.model.Example
@@ -97,19 +97,19 @@
             item {
                 Text(
                     text = stringResource(id = R.string.description),
-                    style = MaterialTheme.typography.body1
+                    style = MaterialTheme.typography.bodyMedium
                 )
                 Spacer(modifier = Modifier.height(ComponentPadding))
                 Text(
                     text = component.description,
-                    style = MaterialTheme.typography.body2
+                    style = MaterialTheme.typography.bodyMedium
                 )
                 Spacer(modifier = Modifier.height(ComponentDescriptionPadding))
             }
             item {
                 Text(
                     text = stringResource(id = R.string.examples),
-                    style = MaterialTheme.typography.body1
+                    style = MaterialTheme.typography.bodyMedium
                 )
                 Spacer(modifier = Modifier.height(ComponentPadding))
             }
@@ -125,7 +125,7 @@
                 item {
                     Text(
                         text = stringResource(id = R.string.no_examples),
-                        style = MaterialTheme.typography.body2
+                        style = MaterialTheme.typography.bodyMedium
                     )
                     Spacer(modifier = Modifier.height(ComponentPadding))
                 }
diff --git a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/component/ComponentItem.kt b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/component/ComponentItem.kt
index 2303f42..b752170 100644
--- a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/component/ComponentItem.kt
+++ b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/component/ComponentItem.kt
@@ -23,9 +23,9 @@
 import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.size
 import androidx.compose.material.ContentAlpha
-import androidx.compose.material.LocalContentColor
-import androidx.compose.material.MaterialTheme
-import androidx.compose.material.Text
+import androidx.compose.material3.LocalContentColor
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
 import androidx.compose.material3.catalog.library.model.Component
 import androidx.compose.material3.catalog.library.ui.common.compositeBorderColor
 import androidx.compose.material3.catalog.library.ui.common.gridItemBorder
@@ -72,7 +72,7 @@
         Text(
             text = component.name,
             modifier = Modifier.align(Alignment.BottomStart),
-            style = MaterialTheme.typography.caption
+            style = MaterialTheme.typography.labelSmall
         )
     }
 }
diff --git a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/example/ExampleItem.kt b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/example/ExampleItem.kt
index 05b8b19..861375e 100644
--- a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/example/ExampleItem.kt
+++ b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/example/ExampleItem.kt
@@ -26,18 +26,16 @@
 import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.width
 import androidx.compose.material.Card
-import androidx.compose.material.ContentAlpha
-import androidx.compose.material.Icon
-import androidx.compose.material.LocalContentAlpha
-import androidx.compose.material.MaterialTheme
-import androidx.compose.material.Text
 import androidx.compose.material.icons.Icons
 import androidx.compose.material.icons.filled.KeyboardArrowRight
+import androidx.compose.material3.Icon
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
 import androidx.compose.material3.catalog.library.model.Example
 import androidx.compose.material3.catalog.library.ui.common.BorderWidth
 import androidx.compose.material3.catalog.library.ui.common.compositeBorderColor
+import androidx.compose.material3.contentColorFor
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.CompositionLocalProvider
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.unit.dp
@@ -48,12 +46,15 @@
     example: Example,
     onClick: (example: Example) -> Unit
 ) {
+    val backgroundColor = MaterialTheme.colorScheme.background
     Card(
         elevation = 0.dp,
         border = BorderStroke(
             width = BorderWidth,
             color = compositeBorderColor()
         ),
+        backgroundColor = backgroundColor,
+        contentColor = contentColorFor(backgroundColor),
         modifier = Modifier.fillMaxWidth()
     ) {
         Row(
@@ -64,15 +65,13 @@
             Column(modifier = Modifier.weight(1f, fill = true)) {
                 Text(
                     text = example.name,
-                    style = MaterialTheme.typography.subtitle2
+                    style = MaterialTheme.typography.bodySmall
                 )
                 Spacer(modifier = Modifier.height(ExampleItemTextPadding))
-                CompositionLocalProvider(LocalContentAlpha provides ContentAlpha.medium) {
-                    Text(
-                        text = example.description,
-                        style = MaterialTheme.typography.caption
-                    )
-                }
+                Text(
+                    text = example.description,
+                    style = MaterialTheme.typography.labelSmall,
+                )
             }
             Spacer(modifier = Modifier.width(ExampleItemPadding))
             Icon(
diff --git a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/theme/Theme.kt b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/theme/Theme.kt
index b10b1e1..178262e 100644
--- a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/theme/Theme.kt
+++ b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/theme/Theme.kt
@@ -16,16 +16,76 @@
 
 package androidx.compose.material3.catalog.library.ui.theme
 
+import android.os.Build
+import androidx.compose.foundation.isSystemInDarkTheme
 import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.catalog.library.model.ColorMode
+import androidx.compose.material3.catalog.library.model.TextDirection
 import androidx.compose.material3.catalog.library.model.Theme
+import androidx.compose.material3.catalog.library.model.ThemeMode
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.dynamicDarkColorScheme
+import androidx.compose.material3.dynamicLightColorScheme
+import androidx.compose.material3.lightColorScheme
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.platform.LocalDensity
+import androidx.compose.ui.platform.LocalLayoutDirection
+import androidx.compose.ui.unit.Density
+import androidx.compose.ui.unit.LayoutDirection
 
-// TODO: Use components/values from Material3 when available
 @Composable
 @Suppress("UNUSED_PARAMETER")
 fun CatalogTheme(
     theme: Theme,
     content: @Composable () -> Unit
 ) {
-    MaterialTheme(content = content)
+    // TODO(b/201804011): Add sampleDynamicColorScheme
+    val colorScheme =
+        if (theme.colorMode == ColorMode.TrueDynamic &&
+            Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
+            val context = LocalContext.current
+            when (theme.themeMode) {
+                ThemeMode.Light -> dynamicLightColorScheme(context)
+                ThemeMode.Dark -> dynamicDarkColorScheme(context)
+                ThemeMode.System ->
+                    if (!isSystemInDarkTheme()) {
+                        dynamicLightColorScheme(context)
+                    } else {
+                        dynamicDarkColorScheme(context)
+                    }
+            }
+        } else {
+            when (theme.themeMode) {
+                ThemeMode.Light -> lightColorScheme()
+                ThemeMode.Dark -> darkColorScheme()
+                ThemeMode.System ->
+                    if (!isSystemInDarkTheme()) {
+                        lightColorScheme()
+                    } else {
+                        darkColorScheme()
+                    }
+            }
+        }
+
+    val layoutDirection = when (theme.textDirection) {
+        TextDirection.Ltr -> LayoutDirection.Ltr
+        TextDirection.Rtl -> LayoutDirection.Rtl
+        TextDirection.System -> LocalLayoutDirection.current
+    }
+
+    CompositionLocalProvider(
+        LocalLayoutDirection provides layoutDirection,
+        LocalDensity provides
+            Density(
+                density = LocalDensity.current.density,
+                fontScale = theme.fontScale,
+            ),
+    ) {
+        MaterialTheme(
+            colorScheme = colorScheme,
+            content = content,
+        )
+    }
 }
diff --git a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/theme/ThemePicker.kt b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/theme/ThemePicker.kt
index f0fd19c..2e13ab02 100644
--- a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/theme/ThemePicker.kt
+++ b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/theme/ThemePicker.kt
@@ -16,20 +16,33 @@
 
 package androidx.compose.material3.catalog.library.ui.theme
 
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
 import androidx.compose.foundation.layout.Spacer
 import androidx.compose.foundation.layout.height
 import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.width
 import androidx.compose.foundation.lazy.LazyColumn
-import androidx.compose.material.Text
+import androidx.compose.material.Divider
+import androidx.compose.material.RadioButton
+import androidx.compose.material.RadioButtonDefaults
+import androidx.compose.material.Slider
 import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
 import androidx.compose.material3.catalog.library.R
+import androidx.compose.material3.catalog.library.model.ColorMode
+import androidx.compose.material3.catalog.library.model.TextDirection
 import androidx.compose.material3.catalog.library.model.Theme
+import androidx.compose.material3.catalog.library.model.ThemeMode
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
+import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.unit.dp
-import com.google.accompanist.insets.LocalWindowInsets
-import com.google.accompanist.insets.rememberInsetsPaddingValues
 
 // TODO: Use components/values from Material3 when available
 @Composable
@@ -38,30 +51,208 @@
     theme: Theme,
     onThemeChange: (theme: Theme) -> Unit
 ) {
-    LazyColumn(
-        contentPadding = rememberInsetsPaddingValues(
-            insets = LocalWindowInsets.current.navigationBars,
-            additionalTop = ThemePickerPadding,
-            additionalBottom = ThemePickerPadding
-        )
-    ) {
+    LazyColumn {
         item {
             Text(
-                text = stringResource(id = R.string.theming_options),
-                style = MaterialTheme.typography.bodyLarge,
-                modifier = Modifier.padding(horizontal = ThemePickerPadding)
-            )
-            Spacer(modifier = Modifier.height(ThemePickerPadding))
-        }
-        // TODO: Use values from Material3 theme model when available
-        item {
-            Text(
-                text = "Work in progress",
+                text = stringResource(id = R.string.theme),
                 style = MaterialTheme.typography.bodyMedium,
                 modifier = Modifier.padding(horizontal = ThemePickerPadding)
             )
+            // LazyVerticalGrid can't be used within LazyColumn due to nested scrolling
+            val themeModes = ThemeMode.values()
+            Column(modifier = Modifier.padding(ThemePickerPadding)) {
+                Row {
+                    ThemeModeItem(
+                        modifier = Modifier.weight(1f),
+                        themeMode = themeModes[0],
+                        selected = themeModes[0] == theme.themeMode,
+                        onClick = { onThemeChange(theme.copy(themeMode = it)) }
+                    )
+                    Spacer(modifier = Modifier.width(ThemePickerPadding))
+                    ThemeModeItem(
+                        modifier = Modifier.weight(1f),
+                        themeMode = themeModes[1],
+                        selected = themeModes[1] == theme.themeMode,
+                        onClick = { onThemeChange(theme.copy(themeMode = it)) }
+                    )
+                }
+                Spacer(modifier = Modifier.height(ThemePickerPadding))
+                Row {
+                    ThemeModeItem(
+                        modifier = Modifier.weight(1f),
+                        themeMode = themeModes[2],
+                        selected = themeModes[2] == theme.themeMode,
+                        onClick = { onThemeChange(theme.copy(themeMode = it)) }
+                    )
+                }
+            }
+            Divider(modifier = Modifier.padding(horizontal = ThemePickerPadding))
             Spacer(modifier = Modifier.height(ThemePickerPadding))
         }
+        item {
+            Text(
+                text = stringResource(id = R.string.color_mode),
+                style = MaterialTheme.typography.bodyMedium,
+                modifier = Modifier.padding(horizontal = ThemePickerPadding)
+            )
+            // LazyVerticalGrid can't be used within LazyColumn due to nested scrolling
+            val colorModes = ColorMode.values()
+            Column(modifier = Modifier.padding(ThemePickerPadding)) {
+                Row {
+                    ColorModeItem(
+                        modifier = Modifier.weight(1f),
+                        colorMode = colorModes[0],
+                        selected = colorModes[0] == theme.colorMode,
+                        onClick = { onThemeChange(theme.copy(colorMode = it)) }
+                    )
+                    Spacer(modifier = Modifier.width(ThemePickerPadding))
+                    ColorModeItem(
+                        modifier = Modifier.weight(1f),
+                        colorMode = colorModes[1],
+                        selected = colorModes[1] == theme.colorMode,
+                        onClick = { onThemeChange(theme.copy(colorMode = it)) }
+                    )
+                }
+                Spacer(modifier = Modifier.height(ThemePickerPadding))
+                Row {
+                    ColorModeItem(
+                        modifier = Modifier.weight(1f),
+                        colorMode = colorModes[2],
+                        selected = colorModes[2] == theme.colorMode,
+                        onClick = { onThemeChange(theme.copy(colorMode = it)) }
+                    )
+                }
+            }
+            Divider(modifier = Modifier.padding(horizontal = ThemePickerPadding))
+            Spacer(modifier = Modifier.height(ThemePickerPadding))
+        }
+        item {
+            Text(
+                text = stringResource(id = R.string.text_scale),
+                style = MaterialTheme.typography.bodyMedium,
+                modifier = Modifier.padding(horizontal = ThemePickerPadding)
+            )
+            var fontScale by remember { mutableStateOf(theme.fontScale) }
+            Slider(
+                value = fontScale,
+                onValueChange = { fontScale = it },
+                onValueChangeFinished = { onThemeChange(theme.copy(fontScale = fontScale)) },
+                valueRange = 0f..4f,
+            )
+        }
+        item {
+            Text(
+                text = stringResource(id = R.string.text_direction),
+                style = MaterialTheme.typography.bodyMedium,
+                modifier = Modifier.padding(horizontal = ThemePickerPadding)
+            )
+            // LazyVerticalGrid can't be used within LazyColumn due to nested scrolling
+            val textDirections = TextDirection.values()
+            Column(modifier = Modifier.padding(ThemePickerPadding)) {
+                Row {
+                    TextDirectionItem(
+                        modifier = Modifier.weight(1f),
+                        textDirection = textDirections[0],
+                        selected = textDirections[0] == theme.textDirection,
+                        onClick = { onThemeChange(theme.copy(textDirection = it)) }
+                    )
+                    Spacer(modifier = Modifier.width(ThemePickerPadding))
+                    TextDirectionItem(
+                        modifier = Modifier.weight(1f),
+                        textDirection = textDirections[1],
+                        selected = textDirections[1] == theme.textDirection,
+                        onClick = { onThemeChange(theme.copy(textDirection = it)) }
+                    )
+                }
+                Spacer(modifier = Modifier.height(ThemePickerPadding))
+                Row {
+                    TextDirectionItem(
+                        modifier = Modifier.weight(1f),
+                        textDirection = textDirections[2],
+                        selected = textDirections[2] == theme.textDirection,
+                        onClick = { onThemeChange(theme.copy(textDirection = it)) }
+                    )
+                }
+            }
+        }
+    }
+}
+
+@Composable
+private fun ThemeModeItem(
+    modifier: Modifier = Modifier,
+    themeMode: ThemeMode,
+    selected: Boolean,
+    onClick: (ThemeMode) -> Unit
+) {
+    Row(
+        modifier = modifier,
+        verticalAlignment = Alignment.CenterVertically
+    ) {
+        RadioButton(
+            selected = selected,
+            onClick = { onClick(themeMode) },
+            colors = RadioButtonDefaults.colors(
+                selectedColor = MaterialTheme.colorScheme.secondary,
+                unselectedColor = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.6f),
+            ),
+        )
+        Spacer(modifier = Modifier.width(ThemePickerPadding))
+        Text(
+            text = themeMode.toString(),
+        )
+    }
+}
+
+@Composable
+private fun ColorModeItem(
+    modifier: Modifier = Modifier,
+    colorMode: ColorMode,
+    selected: Boolean,
+    onClick: (ColorMode) -> Unit
+) {
+    Row(
+        modifier = modifier,
+        verticalAlignment = Alignment.CenterVertically
+    ) {
+        RadioButton(
+            selected = selected,
+            onClick = { onClick(colorMode) },
+            colors = RadioButtonDefaults.colors(
+                selectedColor = MaterialTheme.colorScheme.secondary,
+                unselectedColor = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.6f),
+            ),
+        )
+        Spacer(modifier = Modifier.width(ThemePickerPadding))
+        Text(
+            text = colorMode.toString(),
+        )
+    }
+}
+
+@Composable
+private fun TextDirectionItem(
+    modifier: Modifier = Modifier,
+    textDirection: TextDirection,
+    selected: Boolean,
+    onClick: (TextDirection) -> Unit
+) {
+    Row(
+        modifier = modifier,
+        verticalAlignment = Alignment.CenterVertically
+    ) {
+        RadioButton(
+            selected = selected,
+            onClick = { onClick(textDirection) },
+            colors = RadioButtonDefaults.colors(
+                selectedColor = MaterialTheme.colorScheme.secondary,
+                unselectedColor = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.6f),
+            ),
+        )
+        Spacer(modifier = Modifier.width(ThemePickerPadding))
+        Text(
+            text = textDirection.toString(),
+        )
     }
 }
 
diff --git a/compose/material3/material3/integration-tests/material3-catalog/src/main/res/values/donottranslate-strings.xml b/compose/material3/material3/integration-tests/material3-catalog/src/main/res/values/donottranslate-strings.xml
index 8a20a1b..4632454 100644
--- a/compose/material3/material3/integration-tests/material3-catalog/src/main/res/values/donottranslate-strings.xml
+++ b/compose/material3/material3/integration-tests/material3-catalog/src/main/res/values/donottranslate-strings.xml
@@ -33,4 +33,8 @@
     <string name="privacy_policy">Privacy policy</string>
     <string name="open_source_licenses">Open source licenses</string>
 
+    <string name="theme" description="Theme. [CHAR_LIMIT=NONE]">Theme</string>
+    <string name="color_mode" description=" Material 3 Color Mode. [CHAR_LIMIT=NONE]">Color Mode</string>
+    <string name="text_scale" description="Text scale. [CHAR_LIMIT=NONE]">Text Scale</string>
+    <string name="text_direction" description="Text direction. [CHAR_LIMIT=NONE]">Text Direction</string>
 </resources>
diff --git a/compose/material3/material3/lint-baseline.xml b/compose/material3/material3/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/material3/material3/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/material3/material3/samples/lint-baseline.xml b/compose/material3/material3/samples/lint-baseline.xml
new file mode 100644
index 0000000..5535c9a
--- /dev/null
+++ b/compose/material3/material3/samples/lint-baseline.xml
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="140"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="145"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="149"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="153"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="158"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="162"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="166"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="170"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="174"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="186"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="191"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="196"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="206"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.LOLLIPOP)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="136"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="1311"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat.android.kt"
+            line="2557"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFont.kt"
+            line="133"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidFontListTypeface.android.kt"
+            line="160"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoader.android.kt"
+            line="52"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="82"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="95"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="36"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="43"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeLayer.android.kt"
+            line="93"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(api = 18)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../../../text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.kt"
+            line="296"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 28 here from outer annotations"
+        errorLine1="    @RequiresApi(28)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/TypefaceAdapter.android.kt"
+            line="271"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.android.kt"
+            line="97"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.Q)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/Wrapper.android.kt"
+            line="214"
+            column="5"/>
+    </issue>
+
+</issues>
diff --git a/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/ColorSamples.kt b/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/ColorSamples.kt
index 29869ca..11a9165 100644
--- a/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/ColorSamples.kt
+++ b/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/ColorSamples.kt
@@ -27,9 +27,9 @@
 import androidx.compose.foundation.layout.width
 import androidx.compose.foundation.rememberScrollState
 import androidx.compose.foundation.verticalScroll
-import androidx.compose.material.Surface
-import androidx.compose.material.Text
 import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Surface
+import androidx.compose.material3.Text
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Color
diff --git a/compose/runtime/runtime-lint/lint-baseline.xml b/compose/runtime/runtime-lint/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/runtime/runtime-lint/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/runtime/runtime-livedata/lint-baseline.xml b/compose/runtime/runtime-livedata/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/runtime/runtime-livedata/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/runtime/runtime-livedata/samples/lint-baseline.xml b/compose/runtime/runtime-livedata/samples/lint-baseline.xml
new file mode 100644
index 0000000..26f66b1
--- /dev/null
+++ b/compose/runtime/runtime-livedata/samples/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/compose/runtime/runtime-rxjava2/lint-baseline.xml b/compose/runtime/runtime-rxjava2/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/runtime/runtime-rxjava2/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/runtime/runtime-rxjava2/samples/lint-baseline.xml b/compose/runtime/runtime-rxjava2/samples/lint-baseline.xml
new file mode 100644
index 0000000..cac506a
--- /dev/null
+++ b/compose/runtime/runtime-rxjava2/samples/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/compose/runtime/runtime-rxjava3/lint-baseline.xml b/compose/runtime/runtime-rxjava3/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/runtime/runtime-rxjava3/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/runtime/runtime-rxjava3/samples/lint-baseline.xml b/compose/runtime/runtime-rxjava3/samples/lint-baseline.xml
new file mode 100644
index 0000000..26f66b1
--- /dev/null
+++ b/compose/runtime/runtime-rxjava3/samples/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/compose/runtime/runtime-saveable-lint/lint-baseline.xml b/compose/runtime/runtime-saveable-lint/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/runtime/runtime-saveable-lint/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/runtime/runtime-saveable/lint-baseline.xml b/compose/runtime/runtime-saveable/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/runtime/runtime-saveable/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/runtime/runtime-saveable/samples/lint-baseline.xml b/compose/runtime/runtime-saveable/samples/lint-baseline.xml
new file mode 100644
index 0000000..5535c9a
--- /dev/null
+++ b/compose/runtime/runtime-saveable/samples/lint-baseline.xml
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="140"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="145"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="149"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="153"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="158"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="162"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="166"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="170"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="174"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="186"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="191"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="196"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="206"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.LOLLIPOP)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="136"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="1311"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat.android.kt"
+            line="2557"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFont.kt"
+            line="133"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidFontListTypeface.android.kt"
+            line="160"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoader.android.kt"
+            line="52"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="82"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="95"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="36"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="43"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeLayer.android.kt"
+            line="93"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(api = 18)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../../../text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.kt"
+            line="296"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 28 here from outer annotations"
+        errorLine1="    @RequiresApi(28)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/TypefaceAdapter.android.kt"
+            line="271"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.android.kt"
+            line="97"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.Q)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/Wrapper.android.kt"
+            line="214"
+            column="5"/>
+    </issue>
+
+</issues>
diff --git a/compose/runtime/runtime/compose-runtime-benchmark/lint-baseline.xml b/compose/runtime/runtime/compose-runtime-benchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/runtime/runtime/compose-runtime-benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/runtime/runtime/integration-tests/lint-baseline.xml b/compose/runtime/runtime/integration-tests/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/runtime/runtime/integration-tests/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/runtime/runtime/lint-baseline.xml b/compose/runtime/runtime/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/runtime/runtime/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/runtime/runtime/samples/lint-baseline.xml b/compose/runtime/runtime/samples/lint-baseline.xml
new file mode 100644
index 0000000..26f66b1
--- /dev/null
+++ b/compose/runtime/runtime/samples/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Composer.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Composer.kt
index 45b41d1..b794fa3 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Composer.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Composer.kt
@@ -1126,7 +1126,7 @@
      */
     @ComposeCompilerApi
     @Suppress("unused")
-    override fun startDefaults() = start(0, null, false, null)
+    override fun startDefaults() = start(defaultsKey, null, false, null)
 
     /**
      *
@@ -3410,6 +3410,9 @@
 // An arbitrary key value for a node used to force the node to be replaced.
 private const val nodeKeyReplace = 126
 
+// An arbitrary key value for a node used to force the node to be replaced.
+private const val defaultsKey = -127
+
 @PublishedApi
 internal const val invocationKey = 200
 
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Recomposer.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Recomposer.kt
index a2a09dc..29d8d66 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Recomposer.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Recomposer.kt
@@ -751,7 +751,6 @@
         if (!composerWasComposing) {
             Snapshot.notifyObjectsInitialized()
         }
-        composition.applyChanges()
 
         synchronized(stateLock) {
             if (_state.value > State.ShuttingDown) {
@@ -761,6 +760,8 @@
             }
         }
 
+        composition.applyChanges()
+
         if (!composerWasComposing) {
             // Ensure that any state objects created during applyChanges are seen as changed
             // if modified after this call.
diff --git a/compose/test-utils/build.gradle b/compose/test-utils/build.gradle
index b03b1b4..bf81a8d 100644
--- a/compose/test-utils/build.gradle
+++ b/compose/test-utils/build.gradle
@@ -85,7 +85,7 @@
                 implementation(libs.testRules)
             }
 
-            test.dependencies {
+            androidTest.dependencies {
                 implementation(libs.truth)
             }
 
diff --git a/compose/test-utils/lint-baseline.xml b/compose/test-utils/lint-baseline.xml
index 75d53c0..30d4f58 100644
--- a/compose/test-utils/lint-baseline.xml
+++ b/compose/test-utils/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
         id="VisibleForTests"
diff --git a/compose/ui/ui-android-stubs/lint-baseline.xml b/compose/ui/ui-android-stubs/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/ui/ui-android-stubs/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/ui/ui-geometry/lint-baseline.xml b/compose/ui/ui-geometry/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/ui/ui-geometry/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/Offset.kt b/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/Offset.kt
index d86fb2c..41c7a25 100644
--- a/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/Offset.kt
+++ b/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/Offset.kt
@@ -207,7 +207,13 @@
     @Stable
     operator fun rem(operand: Float) = Offset(x % operand, y % operand)
 
-    override fun toString() = "Offset(${x.toStringAsFixed(1)}, ${y.toStringAsFixed(1)})"
+    override fun toString() = if (isSpecified) {
+        "Offset(${x.toStringAsFixed(1)}, ${y.toStringAsFixed(1)})"
+    } else {
+        // In this case reading the x or y properties will throw, and they don't contain meaningful
+        // values as strings anyway.
+        "Offset.Unspecified"
+    }
 }
 
 /**
diff --git a/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/Size.kt b/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/Size.kt
index 9b68ada..449c160 100644
--- a/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/Size.kt
+++ b/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/Size.kt
@@ -138,7 +138,9 @@
         if (isSpecified) {
             "Size(${width.toStringAsFixed(1)}, ${height.toStringAsFixed(1)})"
         } else {
-            "Size(UNSPECIFIED)"
+            // In this case reading the width or height properties will throw, and they don't
+            // contain meaningful values as strings anyway.
+            "Size.Unspecified"
         }
 }
 
diff --git a/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/OffsetTest.kt b/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/OffsetTest.kt
index 5f252f00..f63483a 100644
--- a/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/OffsetTest.kt
+++ b/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/OffsetTest.kt
@@ -17,6 +17,7 @@
 package androidx.compose.ui.geometry
 
 import org.junit.Assert
+import org.junit.Assert.assertEquals
 import org.junit.Assert.assertFalse
 import org.junit.Assert.assertTrue
 import org.junit.Test
@@ -28,23 +29,23 @@
     @Test
     fun testOffsetCopy() {
         val offset = Offset(100f, 200f)
-        Assert.assertEquals(offset, offset.copy())
+        assertEquals(offset, offset.copy())
     }
 
     @Test
     fun testOffsetCopyOverwriteX() {
         val offset = Offset(100f, 200f)
         val copy = offset.copy(x = 50f)
-        Assert.assertEquals(50f, copy.x)
-        Assert.assertEquals(200f, copy.y)
+        assertEquals(50f, copy.x)
+        assertEquals(200f, copy.y)
     }
 
     @Test
     fun testOffsetCopyOverwriteY() {
         val offset = Offset(100f, 200f)
         val copy = offset.copy(y = 300f)
-        Assert.assertEquals(100f, copy.x)
-        Assert.assertEquals(300f, copy.y)
+        assertEquals(100f, copy.x)
+        assertEquals(300f, copy.y)
     }
 
     @Test
@@ -116,4 +117,9 @@
     fun testTakeOrElseFalse() {
         assertTrue(Offset.Unspecified.takeOrElse { Offset(1f, 1f) }.isSpecified)
     }
+
+    @Test
+    fun testUnspecifiedOffsetToString() {
+        assertEquals("Offset.Unspecified", Offset.Unspecified.toString())
+    }
 }
\ No newline at end of file
diff --git a/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/SizeTest.kt b/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/SizeTest.kt
index 50d051b..d610346 100644
--- a/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/SizeTest.kt
+++ b/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/SizeTest.kt
@@ -164,7 +164,7 @@
 
     @Test
     fun testUnspecifiedSizeToString() {
-        Assert.assertEquals("Size(UNSPECIFIED)", Size.Unspecified.toString())
+        Assert.assertEquals("Size.Unspecified", Size.Unspecified.toString())
     }
 
     @Test
diff --git a/compose/ui/ui-graphics-lint/lint-baseline.xml b/compose/ui/ui-graphics-lint/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/ui/ui-graphics-lint/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/ui/ui-graphics/benchmark/lint-baseline.xml b/compose/ui/ui-graphics/benchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/ui/ui-graphics/benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/ui/ui-graphics/benchmark/test/lint-baseline.xml b/compose/ui/ui-graphics/benchmark/test/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/ui/ui-graphics/benchmark/test/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/ui/ui-graphics/build.gradle b/compose/ui/ui-graphics/build.gradle
index 5fd756c..26340f2 100644
--- a/compose/ui/ui-graphics/build.gradle
+++ b/compose/ui/ui-graphics/build.gradle
@@ -84,10 +84,18 @@
                 api("androidx.annotation:annotation:1.2.0")
             }
 
-            desktopMain.dependencies {
-                implementation(libs.kotlinStdlib)
-                implementation(libs.kotlinStdlibJdk8)
-                api(libs.skiko)
+            skikoMain {
+                dependencies {
+                    api(libs.skikoCommon)
+                }
+            }
+
+            desktopMain {
+                dependsOn skikoMain
+                dependencies {
+                    implementation(libs.kotlinStdlib)
+                    implementation(libs.kotlinStdlibJdk8)
+                }
             }
 
             androidTest.dependencies {
diff --git a/compose/ui/ui-graphics/lint-baseline.xml b/compose/ui/ui-graphics/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/ui/ui-graphics/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/ui/ui-graphics/samples/lint-baseline.xml b/compose/ui/ui-graphics/samples/lint-baseline.xml
new file mode 100644
index 0000000..5535c9a
--- /dev/null
+++ b/compose/ui/ui-graphics/samples/lint-baseline.xml
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="140"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="145"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="149"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="153"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="158"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="162"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="166"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="170"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="174"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="186"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="191"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="196"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="206"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.LOLLIPOP)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="136"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="1311"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat.android.kt"
+            line="2557"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFont.kt"
+            line="133"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidFontListTypeface.android.kt"
+            line="160"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoader.android.kt"
+            line="52"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="82"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="95"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="36"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="43"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeLayer.android.kt"
+            line="93"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(api = 18)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../../../text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.kt"
+            line="296"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 28 here from outer annotations"
+        errorLine1="    @RequiresApi(28)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/TypefaceAdapter.android.kt"
+            line="271"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.android.kt"
+            line="97"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.Q)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/Wrapper.android.kt"
+            line="214"
+            column="5"/>
+    </issue>
+
+</issues>
diff --git a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopCanvas.desktop.kt b/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopCanvas.desktop.kt
deleted file mode 100644
index c5fb5ce..0000000
--- a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopCanvas.desktop.kt
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.compose.ui.graphics
-
-import androidx.compose.ui.geometry.Offset
-import androidx.compose.ui.geometry.Rect
-import androidx.compose.ui.geometry.Size
-import androidx.compose.ui.unit.IntOffset
-import androidx.compose.ui.unit.IntSize
-import androidx.compose.ui.util.fastForEach
-import org.jetbrains.skia.CubicResampler
-import org.jetbrains.skia.FilterMipmap
-import org.jetbrains.skia.FilterMode
-import org.jetbrains.skia.Image
-import org.jetbrains.skia.Matrix44
-import org.jetbrains.skia.MipmapMode
-import org.jetbrains.skia.SamplingMode
-import org.jetbrains.skia.ClipMode as SkiaClipMode
-import org.jetbrains.skia.RRect as SkiaRRect
-import org.jetbrains.skia.Rect as SkiaRect
-
-actual typealias NativeCanvas = org.jetbrains.skia.Canvas
-
-internal actual fun ActualCanvas(image: ImageBitmap): Canvas {
-    val skiaBitmap = image.asSkiaBitmap()
-    require(!skiaBitmap.isImmutable) {
-        "Cannot draw on immutable ImageBitmap"
-    }
-    return DesktopCanvas(org.jetbrains.skia.Canvas(skiaBitmap))
-}
-
-/**
- * Convert the [org.jetbrains.skia.Canvas] instance into a Compose-compatible Canvas
- */
-fun org.jetbrains.skia.Canvas.asComposeCanvas(): Canvas = DesktopCanvas(this)
-
-actual val Canvas.nativeCanvas: NativeCanvas get() = (this as DesktopCanvas).skia
-
-internal class DesktopCanvas(val skia: org.jetbrains.skia.Canvas) : Canvas {
-    private val Paint.skia get() = (this as DesktopPaint).skia
-
-    override fun save() {
-        skia.save()
-    }
-
-    override fun restore() {
-        skia.restore()
-    }
-
-    override fun saveLayer(bounds: Rect, paint: Paint) {
-        skia.saveLayer(
-            bounds.left,
-            bounds.top,
-            bounds.right,
-            bounds.bottom,
-            paint.skia
-        )
-    }
-
-    override fun translate(dx: Float, dy: Float) {
-        skia.translate(dx, dy)
-    }
-
-    override fun scale(sx: Float, sy: Float) {
-        skia.scale(sx, sy)
-    }
-
-    override fun rotate(degrees: Float) {
-        skia.rotate(degrees)
-    }
-
-    override fun skew(sx: Float, sy: Float) {
-        skia.skew(sx, sy)
-    }
-
-    override fun concat(matrix: Matrix) {
-        if (!matrix.isIdentity()) {
-            skia.concat(matrix.toSkia())
-        }
-    }
-
-    override fun clipRect(left: Float, top: Float, right: Float, bottom: Float, clipOp: ClipOp) {
-        val antiAlias = true
-        skia.clipRect(SkiaRect.makeLTRB(left, top, right, bottom), clipOp.toSkia(), antiAlias)
-    }
-
-    override fun clipPath(path: Path, clipOp: ClipOp) {
-        val antiAlias = true
-        skia.clipPath(path.asSkiaPath(), clipOp.toSkia(), antiAlias)
-    }
-
-    override fun drawLine(p1: Offset, p2: Offset, paint: Paint) {
-        skia.drawLine(p1.x, p1.y, p2.x, p2.y, paint.skia)
-    }
-
-    override fun drawRect(left: Float, top: Float, right: Float, bottom: Float, paint: Paint) {
-        skia.drawRect(SkiaRect.makeLTRB(left, top, right, bottom), paint.skia)
-    }
-
-    override fun drawRoundRect(
-        left: Float,
-        top: Float,
-        right: Float,
-        bottom: Float,
-        radiusX: Float,
-        radiusY: Float,
-        paint: Paint
-    ) {
-        skia.drawRRect(
-            SkiaRRect.makeLTRB(
-                left,
-                top,
-                right,
-                bottom,
-                radiusX,
-                radiusY
-            ),
-            paint.skia
-        )
-    }
-
-    override fun drawOval(left: Float, top: Float, right: Float, bottom: Float, paint: Paint) {
-        skia.drawOval(SkiaRect.makeLTRB(left, top, right, bottom), paint.skia)
-    }
-
-    override fun drawCircle(center: Offset, radius: Float, paint: Paint) {
-        skia.drawCircle(center.x, center.y, radius, paint.skia)
-    }
-
-    override fun drawArc(
-        left: Float,
-        top: Float,
-        right: Float,
-        bottom: Float,
-        startAngle: Float,
-        sweepAngle: Float,
-        useCenter: Boolean,
-        paint: Paint
-    ) {
-        skia.drawArc(
-            left,
-            top,
-            right,
-            bottom,
-            startAngle,
-            sweepAngle,
-            useCenter,
-            paint.skia
-        )
-    }
-
-    override fun drawPath(path: Path, paint: Paint) {
-        skia.drawPath(path.asSkiaPath(), paint.skia)
-    }
-
-    override fun drawImage(image: ImageBitmap, topLeftOffset: Offset, paint: Paint) {
-        val size = Size(image.width.toFloat(), image.height.toFloat())
-        drawImageRect(image, Offset.Zero, size, topLeftOffset, size, paint)
-    }
-
-    override fun drawImageRect(
-        image: ImageBitmap,
-        srcOffset: IntOffset,
-        srcSize: IntSize,
-        dstOffset: IntOffset,
-        dstSize: IntSize,
-        paint: Paint
-    ) {
-        drawImageRect(
-            image,
-            Offset(srcOffset.x.toFloat(), srcOffset.y.toFloat()),
-            Size(srcSize.width.toFloat(), srcSize.height.toFloat()),
-            Offset(dstOffset.x.toFloat(), dstOffset.y.toFloat()),
-            Size(dstSize.width.toFloat(), dstSize.height.toFloat()),
-            paint
-        )
-    }
-
-    // TODO(demin): probably this method should be in the common Canvas
-    private fun drawImageRect(
-        image: ImageBitmap,
-        srcOffset: Offset,
-        srcSize: Size,
-        dstOffset: Offset,
-        dstSize: Size,
-        paint: Paint
-    ) {
-        val bitmap = image.asSkiaBitmap()
-        Image.makeFromBitmap(bitmap).use { skiaImage ->
-            skia.drawImageRect(
-                skiaImage,
-                SkiaRect.makeXYWH(
-                    srcOffset.x,
-                    srcOffset.y,
-                    srcSize.width,
-                    srcSize.height
-                ),
-                SkiaRect.makeXYWH(
-                    dstOffset.x,
-                    dstOffset.y,
-                    dstSize.width,
-                    dstSize.height
-                ),
-                paint.filterQuality.toSkia(),
-                paint.skia,
-                true
-            )
-        }
-    }
-
-    override fun drawPoints(pointMode: PointMode, points: List<Offset>, paint: Paint) {
-        when (pointMode) {
-            // Draw a line between each pair of points, each point has at most one line
-            // If the number of points is odd, then the last point is ignored.
-            PointMode.Lines -> drawLines(points, paint, 2)
-
-            // Connect each adjacent point with a line
-            PointMode.Polygon -> drawLines(points, paint, 1)
-
-            // Draw a point at each provided coordinate
-            PointMode.Points -> drawPoints(points, paint)
-        }
-    }
-
-    override fun enableZ() = Unit
-
-    override fun disableZ() = Unit
-
-    private fun drawPoints(points: List<Offset>, paint: Paint) {
-        points.fastForEach { point ->
-            skia.drawPoint(
-                point.x,
-                point.y,
-                paint.skia
-            )
-        }
-    }
-
-    /**
-     * Draw lines connecting points based on the corresponding step.
-     *
-     * ex. 3 points with a step of 1 would draw 2 lines between the first and second points
-     * and another between the second and third
-     *
-     * ex. 4 points with a step of 2 would draw 2 lines between the first and second and another
-     * between the third and fourth. If there is an odd number of points, the last point is
-     * ignored
-     *
-     * @see drawRawLines
-     */
-    private fun drawLines(points: List<Offset>, paint: Paint, stepBy: Int) {
-        if (points.size >= 2) {
-            for (i in 0 until points.size - 1 step stepBy) {
-                val p1 = points[i]
-                val p2 = points[i + 1]
-                skia.drawLine(
-                    p1.x,
-                    p1.y,
-                    p2.x,
-                    p2.y,
-                    paint.skia
-                )
-            }
-        }
-    }
-
-    /**
-     * @throws IllegalArgumentException if a non even number of points is provided
-     */
-    override fun drawRawPoints(pointMode: PointMode, points: FloatArray, paint: Paint) {
-        if (points.size % 2 != 0) {
-            throw IllegalArgumentException("points must have an even number of values")
-        }
-        when (pointMode) {
-            PointMode.Lines -> drawRawLines(points, paint, 2)
-            PointMode.Polygon -> drawRawLines(points, paint, 1)
-            PointMode.Points -> drawRawPoints(points, paint, 2)
-        }
-    }
-
-    private fun drawRawPoints(points: FloatArray, paint: Paint, stepBy: Int) {
-        if (points.size % 2 == 0) {
-            for (i in 0 until points.size - 1 step stepBy) {
-                val x = points[i]
-                val y = points[i + 1]
-                skia.drawPoint(x, y, paint.skia)
-            }
-        }
-    }
-
-    /**
-     * Draw lines connecting points based on the corresponding step. The points are interpreted
-     * as x, y coordinate pairs in alternating index positions
-     *
-     * ex. 3 points with a step of 1 would draw 2 lines between the first and second points
-     * and another between the second and third
-     *
-     * ex. 4 points with a step of 2 would draw 2 lines between the first and second and another
-     * between the third and fourth. If there is an odd number of points, the last point is
-     * ignored
-     *
-     * @see drawLines
-     */
-    private fun drawRawLines(points: FloatArray, paint: Paint, stepBy: Int) {
-        // Float array is treated as alternative set of x and y coordinates
-        // x1, y1, x2, y2, x3, y3, ... etc.
-        if (points.size >= 4 && points.size % 2 == 0) {
-            for (i in 0 until points.size - 3 step stepBy * 2) {
-                val x1 = points[i]
-                val y1 = points[i + 1]
-                val x2 = points[i + 2]
-                val y2 = points[i + 3]
-                skia.drawLine(
-                    x1,
-                    y1,
-                    x2,
-                    y2,
-                    paint.skia
-                )
-            }
-        }
-    }
-
-    override fun drawVertices(vertices: Vertices, blendMode: BlendMode, paint: Paint) {
-        skia.drawVertices(
-            vertices.vertexMode.toSkiaVertexMode(),
-            vertices.positions,
-            vertices.colors,
-            vertices.textureCoordinates,
-            vertices.indices,
-            blendMode.toSkia(),
-            paint.asFrameworkPaint()
-        )
-    }
-
-    private fun ClipOp.toSkia() = when (this) {
-        ClipOp.Difference -> SkiaClipMode.DIFFERENCE
-        ClipOp.Intersect -> SkiaClipMode.INTERSECT
-        else -> SkiaClipMode.INTERSECT
-    }
-
-    private fun Matrix.toSkia() = Matrix44(
-        this[0, 0],
-        this[1, 0],
-        this[2, 0],
-        this[3, 0],
-
-        this[0, 1],
-        this[1, 1],
-        this[2, 1],
-        this[3, 1],
-
-        this[0, 2],
-        this[1, 2],
-        this[2, 2],
-        this[3, 2],
-
-        this[0, 3],
-        this[1, 3],
-        this[2, 3],
-        this[3, 3]
-    )
-
-    // These constants are chosen to correspond the old implementation of SkFilterQuality:
-    // https://github.com/google/skia/blob/1f193df9b393d50da39570dab77a0bb5d28ec8ef/src/image/SkImage.cpp#L809
-    // https://github.com/google/skia/blob/1f193df9b393d50da39570dab77a0bb5d28ec8ef/include/core/SkSamplingOptions.h#L86
-    private fun FilterQuality.toSkia(): SamplingMode = when (this) {
-        FilterQuality.Low -> FilterMipmap(FilterMode.LINEAR, MipmapMode.NONE)
-        FilterQuality.Medium -> FilterMipmap(FilterMode.LINEAR, MipmapMode.NEAREST)
-        FilterQuality.High -> CubicResampler(1 / 3.0f, 1 / 3.0f)
-        else -> FilterMipmap(FilterMode.NEAREST, MipmapMode.NONE)
-    }
-}
\ No newline at end of file
diff --git a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopColorFilter.desktop.kt b/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopColorFilter.desktop.kt
index 8612ddf..e9591c3 100644
--- a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopColorFilter.desktop.kt
+++ b/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopColorFilter.desktop.kt
@@ -18,8 +18,6 @@
 
 import org.jetbrains.skia.ColorFilter as SkiaColorFilter
 
-actual typealias NativeColorFilter = SkiaColorFilter
-
 /**
  * Obtain a reference to the desktop ColorFilter type
  */
@@ -29,25 +27,5 @@
 /**
  * Obtain a [org.jetbrains.skia.ColorFilter] instance from this [ColorFilter]
  */
-fun ColorFilter.asSkiaColorFilter(): SkiaColorFilter = nativeColorFilter
-
 @Deprecated("Use asComposeColorFilter()", replaceWith = ReplaceWith("asComposeColorFilter()"))
-fun org.jetbrains.skia.ColorFilter.toComposeColorFilter(): ColorFilter = ColorFilter(this)
-
-/**
- * Create a [ColorFilter] from the given [org.jetbrains.skia.ColorFilter] instance
- */
-fun org.jetbrains.skia.ColorFilter.asComposeColorFilter(): ColorFilter = ColorFilter(this)
-
-internal actual fun actualTintColorFilter(color: Color, blendMode: BlendMode): ColorFilter =
-    ColorFilter(SkiaColorFilter.makeBlend(color.toArgb(), blendMode.toSkia()))
-
-internal actual fun actualColorMatrixColorFilter(colorMatrix: ColorMatrix): ColorFilter =
-    ColorFilter(
-        SkiaColorFilter.makeMatrix(
-            org.jetbrains.skia.ColorMatrix(*colorMatrix.values)
-        )
-    )
-
-internal actual fun actualLightingColorFilter(multiply: Color, add: Color): ColorFilter =
-    ColorFilter(SkiaColorFilter.makeLighting(multiply.toArgb(), add.toArgb()))
\ No newline at end of file
+fun SkiaColorFilter.toComposeColorFilter(): ColorFilter = ColorFilter(this)
diff --git a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopImageAsset.desktop.kt b/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopImageAsset.desktop.kt
index 7099247..fd0bd46 100644
--- a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopImageAsset.desktop.kt
+++ b/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopImageAsset.desktop.kt
@@ -16,17 +16,10 @@
 
 package androidx.compose.ui.graphics
 
-import androidx.compose.ui.graphics.colorspace.ColorSpace
-import androidx.compose.ui.graphics.colorspace.ColorSpaces
 import org.jetbrains.skia.Bitmap
-import org.jetbrains.skia.ColorAlphaType
-import org.jetbrains.skia.ColorInfo
-import org.jetbrains.skia.ColorType
 import org.jetbrains.skia.Image
-import org.jetbrains.skia.ImageInfo
 import java.nio.ByteBuffer
 import java.nio.ByteOrder
-import kotlin.math.abs
 
 /**
  * Create an [ImageBitmap] from the given [Bitmap]. Note this does
@@ -34,51 +27,13 @@
  * will modify the returned [ImageBitmap]
  */
 @Deprecated("Use asComposeImageBitmap", replaceWith = ReplaceWith("asComposeImageBitmap()"))
-fun Bitmap.asImageBitmap(): ImageBitmap = DesktopImageBitmap(this)
+fun Bitmap.asImageBitmap(): ImageBitmap = asComposeImageBitmap()
 
 /**
  * Create an [ImageBitmap] from the given [Image].
  */
 @Deprecated("Use toComposeImageBitmap", replaceWith = ReplaceWith("toComposeImageBitmap()"))
-fun Image.asImageBitmap(): ImageBitmap = DesktopImageBitmap(toBitmap())
-
-/**
- * Create an [ImageBitmap] from the given [Bitmap]. Note this does
- * not create a copy of the original [Bitmap] and changes to it
- * will modify the returned [ImageBitmap]
- */
-fun Bitmap.asComposeImageBitmap(): ImageBitmap = DesktopImageBitmap(this)
-
-/**
- * Create an [ImageBitmap] from the given [Image].
- */
-fun Image.toComposeImageBitmap(): ImageBitmap = DesktopImageBitmap(toBitmap())
-
-private fun Image.toBitmap(): Bitmap {
-    val bitmap = Bitmap()
-    bitmap.allocPixels(ImageInfo.makeN32(width, height, ColorAlphaType.PREMUL))
-    val canvas = org.jetbrains.skia.Canvas(bitmap)
-    canvas.drawImage(this, 0f, 0f)
-    bitmap.setImmutable()
-    return bitmap
-}
-
-internal actual fun ActualImageBitmap(
-    width: Int,
-    height: Int,
-    config: ImageBitmapConfig,
-    hasAlpha: Boolean,
-    colorSpace: ColorSpace
-): ImageBitmap {
-    val colorType = config.toSkiaColorType()
-    val alphaType = if (hasAlpha) ColorAlphaType.PREMUL else ColorAlphaType.OPAQUE
-    val skiaColorSpace = colorSpace.toSkiaColorSpace()
-    val colorInfo = ColorInfo(colorType, alphaType, skiaColorSpace)
-    val imageInfo = ImageInfo(colorInfo, width, height)
-    val bitmap = Bitmap()
-    bitmap.allocPixels(imageInfo)
-    return DesktopImageBitmap(bitmap)
-}
+fun Image.asImageBitmap(): ImageBitmap = toComposeImageBitmap()
 
 /**
  * @Throws UnsupportedOperationException if this [ImageBitmap] is not backed by an
@@ -87,98 +42,9 @@
 @Deprecated("Use asSkiaBitmap()", replaceWith = ReplaceWith("asSkiaBitmap()"))
 fun ImageBitmap.asDesktopBitmap(): Bitmap = asSkiaBitmap()
 
-/**
- * Obtain a reference to the [org.jetbrains.skia.Bitmap]
- *
- * @Throws UnsupportedOperationException if this [ImageBitmap] is not backed by an
- * org.jetbrains.skia.Image
- */
-fun ImageBitmap.asSkiaBitmap(): Bitmap =
-    when (this) {
-        is DesktopImageBitmap -> bitmap
-        else -> throw UnsupportedOperationException("Unable to obtain org.jetbrains.skia.Image")
-    }
-
-private class DesktopImageBitmap(val bitmap: Bitmap) : ImageBitmap {
-    override val colorSpace = bitmap.colorSpace.toComposeColorSpace()
-    override val config = bitmap.colorType.toComposeConfig()
-    override val hasAlpha = !bitmap.isOpaque
-    override val height get() = bitmap.height
-    override val width get() = bitmap.width
-    override fun prepareToDraw() = Unit
-
-    override fun readPixels(
-        buffer: IntArray,
-        startX: Int,
-        startY: Int,
-        width: Int,
-        height: Int,
-        bufferOffset: Int,
-        stride: Int
-    ) {
-        // similar to https://cs.android.com/android/platform/superproject/+/42c50042d1f05d92ecc57baebe3326a57aeecf77:frameworks/base/graphics/java/android/graphics/Bitmap.java;l=2007
-        val lastScanline: Int = bufferOffset + (height - 1) * stride
-        require(startX >= 0 && startY >= 0)
-        require(width > 0 && startX + width <= this.width)
-        require(height > 0 && startY + height <= this.height)
-        require(abs(stride) >= width)
-        require(bufferOffset >= 0 && bufferOffset + width <= buffer.size)
-        require(lastScanline >= 0 && lastScanline + width <= buffer.size)
-
-        // similar to https://cs.android.com/android/platform/superproject/+/9054ca2b342b2ea902839f629e820546d8a2458b:frameworks/base/libs/hwui/jni/Bitmap.cpp;l=898;bpv=1
-        val colorInfo = ColorInfo(
-            ColorType.BGRA_8888,
-            ColorAlphaType.UNPREMUL,
-            org.jetbrains.skia.ColorSpace.sRGB
-        )
-        val imageInfo = ImageInfo(colorInfo, width, height)
-        val bytesPerPixel = 4
-        val bytes = bitmap.readPixels(imageInfo, stride * bytesPerPixel.toLong(), startX, startY)!!
-
-        ByteBuffer.wrap(bytes)
-            .order(ByteOrder.LITTLE_ENDIAN) // to return ARGB
-            .asIntBuffer()
-            .get(buffer, bufferOffset, bytes.size / bytesPerPixel)
-    }
+internal actual fun ByteArray.putBytesInto(array: IntArray, offset: Int, length: Int) {
+    ByteBuffer.wrap(this)
+        .order(ByteOrder.LITTLE_ENDIAN) // to return ARGB
+        .asIntBuffer()
+        .get(array, offset, length)
 }
-
-// TODO(demin): [API] maybe we should use:
-//  `else -> throw UnsupportedOperationException()`
-//  in toSkiaColorType/toComposeConfig/toComposeColorSpace/toSkiaColorSpace
-//  see [https://android-review.googlesource.com/c/platform/frameworks/support/+/1429835/comment/c219501b_63c3d1fe/]
-
-private fun ImageBitmapConfig.toSkiaColorType() = when (this) {
-    ImageBitmapConfig.Argb8888 -> ColorType.N32
-    ImageBitmapConfig.Alpha8 -> ColorType.ALPHA_8
-    ImageBitmapConfig.Rgb565 -> ColorType.RGB_565
-    ImageBitmapConfig.F16 -> ColorType.RGBA_F16
-    else -> ColorType.N32
-}
-
-private fun ColorType.toComposeConfig() = when (this) {
-    ColorType.N32 -> ImageBitmapConfig.Argb8888
-    ColorType.ALPHA_8 -> ImageBitmapConfig.Alpha8
-    ColorType.RGB_565 -> ImageBitmapConfig.Rgb565
-    ColorType.RGBA_F16 -> ImageBitmapConfig.F16
-    else -> ImageBitmapConfig.Argb8888
-}
-
-private fun org.jetbrains.skia.ColorSpace?.toComposeColorSpace(): ColorSpace {
-    return when (this) {
-        org.jetbrains.skia.ColorSpace.sRGB -> ColorSpaces.Srgb
-        org.jetbrains.skia.ColorSpace.sRGBLinear -> ColorSpaces.LinearSrgb
-        org.jetbrains.skia.ColorSpace.displayP3 -> ColorSpaces.DisplayP3
-        else -> ColorSpaces.Srgb
-    }
-}
-
-// TODO(demin): support all color spaces.
-//  to do this we need to implement SkColorSpace::MakeRGB in skia
-private fun ColorSpace.toSkiaColorSpace(): org.jetbrains.skia.ColorSpace {
-    return when (this) {
-        ColorSpaces.Srgb -> org.jetbrains.skia.ColorSpace.sRGB
-        ColorSpaces.LinearSrgb -> org.jetbrains.skia.ColorSpace.sRGBLinear
-        ColorSpaces.DisplayP3 -> org.jetbrains.skia.ColorSpace.displayP3
-        else -> org.jetbrains.skia.ColorSpace.sRGB
-    }
-}
\ No newline at end of file
diff --git a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopPaint.desktop.kt b/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopPaint.desktop.kt
deleted file mode 100644
index 0d61dc0..0000000
--- a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopPaint.desktop.kt
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.compose.ui.graphics
-
-import org.jetbrains.skia.PaintMode as SkiaPaintMode
-import org.jetbrains.skia.PaintStrokeCap as SkiaPaintStrokeCap
-import org.jetbrains.skia.PaintStrokeJoin as SkiaPaintStrokeJoin
-
-actual typealias NativePaint = org.jetbrains.skia.Paint
-
-actual fun Paint(): Paint = DesktopPaint()
-
-/**
- * Convert the [org.jetbrains.skia.Paint] instance into a Compose-compatible Paint
- */
-fun org.jetbrains.skia.Paint.asComposePaint(): Paint = DesktopPaint(this)
-
-internal class DesktopPaint(
-    val skia: org.jetbrains.skia.Paint = org.jetbrains.skia.Paint()
-) : Paint {
-    override fun asFrameworkPaint(): NativePaint = skia
-
-    override var alpha: Float
-        get() = Color(skia.color).alpha
-        set(value) {
-            skia.color = Color(skia.color).copy(alpha = value).toArgb()
-        }
-
-    override var isAntiAlias: Boolean
-        get() = skia.isAntiAlias
-        set(value) {
-            skia.isAntiAlias = value
-        }
-
-    override var color: Color
-        get() = Color(skia.color)
-        set(color) {
-            skia.color = color.toArgb()
-        }
-
-    override var blendMode: BlendMode = BlendMode.SrcOver
-        set(value) {
-            skia.blendMode = value.toSkia()
-            field = value
-        }
-
-    override var style: PaintingStyle = PaintingStyle.Fill
-        set(value) {
-            skia.mode = value.toSkia()
-            field = value
-        }
-
-    override var strokeWidth: Float
-        get() = skia.strokeWidth
-        set(value) {
-            skia.strokeWidth = value
-        }
-
-    override var strokeCap: StrokeCap = StrokeCap.Butt
-        set(value) {
-            skia.strokeCap = value.toSkia()
-            field = value
-        }
-
-    override var strokeJoin: StrokeJoin = StrokeJoin.Round
-        set(value) {
-            skia.strokeJoin = value.toSkia()
-            field = value
-        }
-
-    override var strokeMiterLimit: Float = 0f
-        set(value) {
-            skia.strokeMiter = value
-            field = value
-        }
-
-    override var filterQuality: FilterQuality = FilterQuality.Medium
-
-    override var shader: Shader? = null
-        set(value) {
-            skia.shader = value
-            field = value
-        }
-
-    override var colorFilter: ColorFilter? = null
-        set(value) {
-            skia.colorFilter = value?.asSkiaColorFilter()
-            field = value
-        }
-
-    override var pathEffect: PathEffect? = null
-        set(value) {
-            skia.pathEffect = (value as DesktopPathEffect?)?.asSkiaPathEffect()
-            field = value
-        }
-
-    private fun PaintingStyle.toSkia() = when (this) {
-        PaintingStyle.Fill -> SkiaPaintMode.FILL
-        PaintingStyle.Stroke -> SkiaPaintMode.STROKE
-        else -> SkiaPaintMode.FILL
-    }
-
-    private fun StrokeCap.toSkia() = when (this) {
-        StrokeCap.Butt -> SkiaPaintStrokeCap.BUTT
-        StrokeCap.Round -> SkiaPaintStrokeCap.ROUND
-        StrokeCap.Square -> SkiaPaintStrokeCap.SQUARE
-        else -> SkiaPaintStrokeCap.BUTT
-    }
-
-    private fun StrokeJoin.toSkia() = when (this) {
-        StrokeJoin.Miter -> SkiaPaintStrokeJoin.MITER
-        StrokeJoin.Round -> SkiaPaintStrokeJoin.ROUND
-        StrokeJoin.Bevel -> SkiaPaintStrokeJoin.BEVEL
-        else -> SkiaPaintStrokeJoin.MITER
-    }
-}
-
-actual fun BlendMode.isSupported(): Boolean = true
\ No newline at end of file
diff --git a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopPath.desktop.kt b/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopPath.desktop.kt
index d0c6172..14e0070 100644
--- a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopPath.desktop.kt
+++ b/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopPath.desktop.kt
@@ -16,197 +16,6 @@
 
 package androidx.compose.ui.graphics
 
-import androidx.compose.ui.geometry.Offset
-import androidx.compose.ui.geometry.Rect
-import androidx.compose.ui.geometry.RoundRect
-import org.jetbrains.skia.Matrix33
-import org.jetbrains.skia.PathDirection
-import org.jetbrains.skia.PathFillMode
-import org.jetbrains.skia.PathOp
-
-actual fun Path(): Path = DesktopPath()
-
-/**
- * Convert the [org.jetbrains.skia.Path] instance into a Compose-compatible Path
- */
-fun org.jetbrains.skia.Path.asComposePath(): Path = DesktopPath(this)
-
 @Suppress("NOTHING_TO_INLINE")
 @Deprecated("Use asSkiaPath()", replaceWith = ReplaceWith("asSkiaPath()"))
 inline fun Path.asDesktopPath(): org.jetbrains.skia.Path = asSkiaPath()
-
-/**
- * Obtain a reference to the [org.jetbrains.skia.Path]
- *
- * @Throws UnsupportedOperationException if this Path is not backed by an org.jetbrains.skia.Path
- */
-fun Path.asSkiaPath(): org.jetbrains.skia.Path =
-    if (this is DesktopPath) {
-        internalPath
-    } else {
-        throw UnsupportedOperationException("Unable to obtain org.jetbrains.skia.Path")
-    }
-
-internal class DesktopPath(
-    internalPath: org.jetbrains.skia.Path = org.jetbrains.skia.Path()
-) : Path {
-    var internalPath = internalPath
-        private set
-
-    override var fillType: PathFillType
-        get() {
-            if (internalPath.fillMode == PathFillMode.EVEN_ODD) {
-                return PathFillType.EvenOdd
-            } else {
-                return PathFillType.NonZero
-            }
-        }
-
-        set(value) {
-            internalPath.fillMode =
-                if (value == PathFillType.EvenOdd) {
-                    PathFillMode.EVEN_ODD
-                } else {
-                    PathFillMode.WINDING
-                }
-        }
-
-    override fun moveTo(x: Float, y: Float) {
-        internalPath.moveTo(x, y)
-    }
-
-    override fun relativeMoveTo(dx: Float, dy: Float) {
-        internalPath.rMoveTo(dx, dy)
-    }
-
-    override fun lineTo(x: Float, y: Float) {
-        internalPath.lineTo(x, y)
-    }
-
-    override fun relativeLineTo(dx: Float, dy: Float) {
-        internalPath.rLineTo(dx, dy)
-    }
-
-    override fun quadraticBezierTo(x1: Float, y1: Float, x2: Float, y2: Float) {
-        internalPath.quadTo(x1, y1, x2, y2)
-    }
-
-    override fun relativeQuadraticBezierTo(dx1: Float, dy1: Float, dx2: Float, dy2: Float) {
-        internalPath.rQuadTo(dx1, dy1, dx2, dy2)
-    }
-
-    override fun cubicTo(x1: Float, y1: Float, x2: Float, y2: Float, x3: Float, y3: Float) {
-        internalPath.cubicTo(
-            x1, y1,
-            x2, y2,
-            x3, y3
-        )
-    }
-
-    override fun relativeCubicTo(
-        dx1: Float,
-        dy1: Float,
-        dx2: Float,
-        dy2: Float,
-        dx3: Float,
-        dy3: Float
-    ) {
-        internalPath.rCubicTo(
-            dx1, dy1,
-            dx2, dy2,
-            dx3, dy3
-        )
-    }
-
-    override fun arcTo(
-        rect: Rect,
-        startAngleDegrees: Float,
-        sweepAngleDegrees: Float,
-        forceMoveTo: Boolean
-    ) {
-        internalPath.arcTo(
-            rect.toSkiaRect(),
-            startAngleDegrees,
-            sweepAngleDegrees,
-            forceMoveTo
-        )
-    }
-
-    override fun addRect(rect: Rect) {
-        internalPath.addRect(rect.toSkiaRect(), PathDirection.COUNTER_CLOCKWISE)
-    }
-
-    override fun addOval(oval: Rect) {
-        internalPath.addOval(oval.toSkiaRect(), PathDirection.COUNTER_CLOCKWISE)
-    }
-
-    override fun addArcRad(oval: Rect, startAngleRadians: Float, sweepAngleRadians: Float) {
-        addArc(oval, degrees(startAngleRadians), degrees(sweepAngleRadians))
-    }
-
-    override fun addArc(oval: Rect, startAngleDegrees: Float, sweepAngleDegrees: Float) {
-        internalPath.addArc(oval.toSkiaRect(), startAngleDegrees, sweepAngleDegrees)
-    }
-
-    override fun addRoundRect(roundRect: RoundRect) {
-        internalPath.addRRect(roundRect.toSkiaRRect(), PathDirection.COUNTER_CLOCKWISE)
-    }
-
-    override fun addPath(path: Path, offset: Offset) {
-        internalPath.addPath(path.asSkiaPath(), offset.x, offset.y)
-    }
-
-    override fun close() {
-        internalPath.closePath()
-    }
-
-    override fun reset() {
-        // preserve fillType to match the Android behavior
-        // see https://cs.android.com/android/_/android/platform/frameworks/base/+/d0f379c1976c600313f1f4c39f2587a649e3a4fc
-        val fillType = this.fillType
-        internalPath.reset()
-        this.fillType = fillType
-    }
-
-    override fun translate(offset: Offset) {
-        internalPath.transform(Matrix33.makeTranslate(offset.x, offset.y))
-    }
-
-    override fun getBounds(): Rect {
-        val bounds = internalPath.bounds
-        return Rect(
-            bounds.left,
-            bounds.top,
-            bounds.right,
-            bounds.bottom
-        )
-    }
-
-    override fun op(
-        path1: Path,
-        path2: Path,
-        operation: PathOperation
-    ): Boolean {
-        val path = org.jetbrains.skia.Path.makeCombining(
-            path1.asSkiaPath(),
-            path2.asSkiaPath(),
-            operation.toSkiaOperation()
-        )
-
-        internalPath = path ?: internalPath
-        return path != null
-    }
-
-    private fun PathOperation.toSkiaOperation() = when (this) {
-        PathOperation.Difference -> PathOp.DIFFERENCE
-        PathOperation.Intersect -> PathOp.INTERSECT
-        PathOperation.Union -> PathOp.UNION
-        PathOperation.Xor -> PathOp.XOR
-        PathOperation.ReverseDifference -> PathOp.REVERSE_DIFFERENCE
-        else -> PathOp.XOR
-    }
-
-    override val isConvex: Boolean get() = internalPath.isConvex
-
-    override val isEmpty: Boolean get() = internalPath.isEmpty
-}
\ No newline at end of file
diff --git a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopPathEffect.desktop.kt b/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopPathEffect.desktop.kt
index 22d5e8f..b2c0fac 100644
--- a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopPathEffect.desktop.kt
+++ b/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopPathEffect.desktop.kt
@@ -16,57 +16,10 @@
 
 package androidx.compose.ui.graphics
 
-import org.jetbrains.skia.PathEffect as SkiaPathEffect
-
-internal class DesktopPathEffect(val nativePathEffect: SkiaPathEffect) : PathEffect
-
-/**
- * Convert the [org.jetbrains.skia.PathEffect] instance into a Compose-compatible PathEffect
- */
-fun SkiaPathEffect.asComposePathEffect(): PathEffect = DesktopPathEffect(this)
+import org.jetbrains.skia.PathEffect as SkPathEffect
 
 /**
  * Obtain a reference to the desktop PathEffect type
  */
 @Deprecated("Use asSkiaPathEffect()", replaceWith = ReplaceWith("asSkiaPathEffect()"))
-fun PathEffect.asDesktopPathEffect(): SkiaPathEffect = asSkiaPathEffect()
-
-/**
- * Obtain a reference to the desktop PathEffect type
- */
-fun PathEffect.asSkiaPathEffect(): SkiaPathEffect =
-    (this as DesktopPathEffect).nativePathEffect
-
-internal actual fun actualCornerPathEffect(radius: Float): PathEffect =
-    DesktopPathEffect(SkiaPathEffect.makeCorner(radius))
-
-internal actual fun actualDashPathEffect(
-    intervals: FloatArray,
-    phase: Float
-): PathEffect = DesktopPathEffect(SkiaPathEffect.makeDash(intervals, phase))
-
-internal actual fun actualChainPathEffect(outer: PathEffect, inner: PathEffect): PathEffect =
-    DesktopPathEffect(outer.asSkiaPathEffect().makeCompose(inner.asSkiaPathEffect()))
-
-internal actual fun actualStampedPathEffect(
-    shape: Path,
-    advance: Float,
-    phase: Float,
-    style: StampedPathEffectStyle
-): PathEffect =
-    DesktopPathEffect(
-        SkiaPathEffect.makePath1D(
-            shape.asSkiaPath(),
-            advance,
-            phase,
-            style.toSkiaStampedPathEffectStyle()
-        )
-    )
-
-internal fun StampedPathEffectStyle.toSkiaStampedPathEffectStyle(): SkiaPathEffect.Style =
-    when (this) {
-        StampedPathEffectStyle.Morph -> SkiaPathEffect.Style.MORPH
-        StampedPathEffectStyle.Rotate -> SkiaPathEffect.Style.ROTATE
-        StampedPathEffectStyle.Translate -> SkiaPathEffect.Style.TRANSLATE
-        else -> SkiaPathEffect.Style.TRANSLATE
-    }
\ No newline at end of file
+fun PathEffect.asDesktopPathEffect(): SkPathEffect = asSkiaPathEffect()
diff --git a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopPathMeasure.desktop.kt b/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopPathMeasure.desktop.kt
deleted file mode 100644
index f348407..0000000
--- a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopPathMeasure.desktop.kt
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.compose.ui.graphics
-
-/**
- * Convert the [org.jetbrains.skia.PathMeasure] instance into a Compose-compatible PathMeasure
- */
-fun org.jetbrains.skia.PathMeasure.asComposePathEffect(): PathMeasure = DesktopPathMeasure(this)
-
-/**
- * Obtain a reference to the desktop PathMeasure type
- */
-fun PathMeasure.asSkiaPathMeasure(): org.jetbrains.skia.PathMeasure =
-    (this as DesktopPathMeasure).skia
-
-internal class DesktopPathMeasure(
-    internal val skia: org.jetbrains.skia.PathMeasure = org.jetbrains.skia.PathMeasure()
-) : PathMeasure {
-
-    override fun setPath(path: Path?, forceClosed: Boolean) {
-        skia.setPath(path?.asSkiaPath(), forceClosed)
-    }
-
-    override fun getSegment(
-        startDistance: Float,
-        stopDistance: Float,
-        destination: Path,
-        startWithMoveTo: Boolean
-    ) = skia.getSegment(
-        startDistance,
-        stopDistance,
-        destination.asSkiaPath(),
-        startWithMoveTo
-    )
-
-    override val length: Float
-        get() = skia.length
-}
-
-actual fun PathMeasure(): PathMeasure =
-    DesktopPathMeasure()
\ No newline at end of file
diff --git a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/RenderEffect.desktop.kt b/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/RenderEffect.desktop.kt
index fea46c1..e278ef0 100644
--- a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/RenderEffect.desktop.kt
+++ b/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/RenderEffect.desktop.kt
@@ -16,141 +16,7 @@
 
 package androidx.compose.ui.graphics
 
-import androidx.compose.runtime.Immutable
-import androidx.compose.ui.geometry.Offset
 import org.jetbrains.skia.ImageFilter
 
-/**
- * Convert the [ImageFilter] instance into a Compose-compatible [RenderEffect]
- */
-fun ImageFilter.asComposeRenderEffect(): RenderEffect =
-    DesktopRenderEffect(this)
-
-/**
- * Intermediate rendering step used to render drawing commands with a corresponding
- * visual effect. A [RenderEffect] can be configured on a [GraphicsLayerScope]
- * and will be applied when drawn.
- */
-@Immutable
-actual sealed class RenderEffect actual constructor() {
-
-    private var internalImageFilter: ImageFilter? = null
-
-    @Deprecated("Use asSkiaImageFilter()", replaceWith = ReplaceWith("asSkiaImageFilter()"))
-    fun asDesktopImageFilter(): ImageFilter = asSkiaImageFilter()
-
-    fun asSkiaImageFilter(): ImageFilter =
-        internalImageFilter ?: createImageFilter().also { internalImageFilter = it }
-
-    protected abstract fun createImageFilter(): ImageFilter
-
-    /**
-     * Capability query to determine if the particular platform supports the [RenderEffect]. Not
-     * all platforms support all render effects
-     */
-    actual open fun isSupported(): Boolean = true
-}
-
-@Immutable
-internal class DesktopRenderEffect(
-    val imageFilter: ImageFilter
-) : RenderEffect() {
-    override fun createImageFilter(): ImageFilter = imageFilter
-}
-
-@Immutable
-actual class BlurEffect actual constructor(
-    private val renderEffect: RenderEffect?,
-    private val radiusX: Float,
-    private val radiusY: Float,
-    private val edgeTreatment: TileMode
-) : RenderEffect() {
-
-    override fun createImageFilter(): ImageFilter =
-        if (renderEffect == null) {
-            ImageFilter.makeBlur(
-                convertRadiusToSigma(radiusX),
-                convertRadiusToSigma(radiusY),
-                edgeTreatment.toSkiaTileMode()
-            )
-        } else {
-            ImageFilter.makeBlur(
-                convertRadiusToSigma(radiusX),
-                convertRadiusToSigma(radiusY),
-                edgeTreatment.toSkiaTileMode(),
-                renderEffect.asSkiaImageFilter(),
-                null
-            )
-        }
-
-    override fun equals(other: Any?): Boolean {
-        if (this === other) return true
-        if (other !is BlurEffect) return false
-
-        if (radiusX != other.radiusX) return false
-        if (radiusY != other.radiusY) return false
-        if (edgeTreatment != other.edgeTreatment) return false
-        if (renderEffect != other.renderEffect) return false
-
-        return true
-    }
-
-    override fun hashCode(): Int {
-        var result = renderEffect?.hashCode() ?: 0
-        result = 31 * result + radiusX.hashCode()
-        result = 31 * result + radiusY.hashCode()
-        result = 31 * result + edgeTreatment.hashCode()
-        return result
-    }
-
-    override fun toString(): String {
-        return "BlurEffect(renderEffect=$renderEffect, radiusX=$radiusX, radiusY=$radiusY, " +
-            "edgeTreatment=$edgeTreatment)"
-    }
-
-    companion object {
-
-        // Constant used to convert blur radius into a corresponding sigma value
-        // for the gaussian blur algorithm used within SkImageFilter.
-        // This constant approximates the scaling done in the software path's
-        // "high quality" mode, in SkBlurMask::Blur() (1 / sqrt(3)).
-        val BlurSigmaScale = 0.57735f
-
-        fun convertRadiusToSigma(radius: Float) =
-            if (radius > 0) {
-                BlurSigmaScale * radius + 0.5f
-            } else {
-                0.0f
-            }
-    }
-}
-
-@Immutable
-actual class OffsetEffect actual constructor(
-    private val renderEffect: RenderEffect?,
-    private val offset: Offset
-) : RenderEffect() {
-
-    override fun createImageFilter(): ImageFilter =
-        ImageFilter.makeOffset(offset.x, offset.y, renderEffect?.asSkiaImageFilter(), null)
-
-    override fun equals(other: Any?): Boolean {
-        if (this === other) return true
-        if (other !is OffsetEffect) return false
-
-        if (renderEffect != other.renderEffect) return false
-        if (offset != other.offset) return false
-
-        return true
-    }
-
-    override fun hashCode(): Int {
-        var result = renderEffect?.hashCode() ?: 0
-        result = 31 * result + offset.hashCode()
-        return result
-    }
-
-    override fun toString(): String {
-        return "OffsetEffect(renderEffect=$renderEffect, offset=$offset)"
-    }
-}
\ No newline at end of file
+@Deprecated("Use asSkiaImageFilter()", replaceWith = ReplaceWith("asSkiaImageFilter()"))
+fun RenderEffect.asDesktopImageFilter(): ImageFilter = asSkiaImageFilter()
diff --git a/compose/ui/ui-graphics/src/desktopTest/kotlin/androidx/compose/ui/graphics/DesktopGraphicsTest.kt b/compose/ui/ui-graphics/src/desktopTest/kotlin/androidx/compose/ui/graphics/DesktopGraphicsTest.kt
index e894d93..5c9a60a 100644
--- a/compose/ui/ui-graphics/src/desktopTest/kotlin/androidx/compose/ui/graphics/DesktopGraphicsTest.kt
+++ b/compose/ui/ui-graphics/src/desktopTest/kotlin/androidx/compose/ui/graphics/DesktopGraphicsTest.kt
@@ -41,7 +41,7 @@
     protected fun initCanvas(widthPx: Int, heightPx: Int): Canvas {
         require(_surface == null)
         _surface = Surface.makeRasterN32Premul(widthPx, heightPx)
-        return DesktopCanvas(_surface!!.canvas)
+        return SkiaBackedCanvas(_surface!!.canvas)
     }
 
     @After
diff --git a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/BlendMode.desktop.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/BlendMode.skiko.kt
similarity index 100%
rename from compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/BlendMode.desktop.kt
rename to compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/BlendMode.skiko.kt
diff --git a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/Matrices.desktop.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/Matrices.skiko.kt
similarity index 100%
rename from compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/Matrices.desktop.kt
rename to compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/Matrices.skiko.kt
diff --git a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/Rects.desktop.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/Rects.skiko.kt
similarity index 100%
rename from compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/Rects.desktop.kt
rename to compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/Rects.skiko.kt
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedCanvas.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedCanvas.skiko.kt
new file mode 100644
index 0000000..b2b81f3
--- /dev/null
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedCanvas.skiko.kt
@@ -0,0 +1,387 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.ui.graphics
+
+import androidx.compose.ui.geometry.Offset
+import androidx.compose.ui.geometry.Rect
+import androidx.compose.ui.geometry.Size
+import androidx.compose.ui.unit.IntOffset
+import androidx.compose.ui.unit.IntSize
+import androidx.compose.ui.util.fastForEach
+import org.jetbrains.skia.CubicResampler
+import org.jetbrains.skia.FilterMipmap
+import org.jetbrains.skia.FilterMode
+import org.jetbrains.skia.Image
+import org.jetbrains.skia.Matrix44
+import org.jetbrains.skia.MipmapMode
+import org.jetbrains.skia.SamplingMode
+import org.jetbrains.skia.ClipMode as SkClipMode
+import org.jetbrains.skia.RRect as SkRRect
+import org.jetbrains.skia.Rect as SkRect
+
+actual typealias NativeCanvas = org.jetbrains.skia.Canvas
+
+internal actual fun ActualCanvas(image: ImageBitmap): Canvas {
+    val skiaBitmap = image.asSkiaBitmap()
+    require(!skiaBitmap.isImmutable) {
+        "Cannot draw on immutable ImageBitmap"
+    }
+    return SkiaBackedCanvas(org.jetbrains.skia.Canvas(skiaBitmap))
+}
+
+/**
+ * Convert the [org.jetbrains.skia.Canvas] instance into a Compose-compatible Canvas
+ */
+fun org.jetbrains.skia.Canvas.asComposeCanvas(): Canvas = SkiaBackedCanvas(this)
+
+actual val Canvas.nativeCanvas: NativeCanvas get() = (this as SkiaBackedCanvas).skia
+
+internal class SkiaBackedCanvas(val skia: org.jetbrains.skia.Canvas) : Canvas {
+    private val Paint.skia get() = (this as SkiaBackedPaint).skia
+
+    override fun save() {
+        skia.save()
+    }
+
+    override fun restore() {
+        skia.restore()
+    }
+
+    override fun saveLayer(bounds: Rect, paint: Paint) {
+        skia.saveLayer(
+            bounds.left,
+            bounds.top,
+            bounds.right,
+            bounds.bottom,
+            paint.skia
+        )
+    }
+
+    override fun translate(dx: Float, dy: Float) {
+        skia.translate(dx, dy)
+    }
+
+    override fun scale(sx: Float, sy: Float) {
+        skia.scale(sx, sy)
+    }
+
+    override fun rotate(degrees: Float) {
+        skia.rotate(degrees)
+    }
+
+    override fun skew(sx: Float, sy: Float) {
+        skia.skew(sx, sy)
+    }
+
+    override fun concat(matrix: Matrix) {
+        if (!matrix.isIdentity()) {
+            skia.concat(matrix.toSkia())
+        }
+    }
+
+    override fun clipRect(left: Float, top: Float, right: Float, bottom: Float, clipOp: ClipOp) {
+        val antiAlias = true
+        skia.clipRect(SkRect.makeLTRB(left, top, right, bottom), clipOp.toSkia(), antiAlias)
+    }
+
+    override fun clipPath(path: Path, clipOp: ClipOp) {
+        val antiAlias = true
+        skia.clipPath(path.asSkiaPath(), clipOp.toSkia(), antiAlias)
+    }
+
+    override fun drawLine(p1: Offset, p2: Offset, paint: Paint) {
+        skia.drawLine(p1.x, p1.y, p2.x, p2.y, paint.skia)
+    }
+
+    override fun drawRect(left: Float, top: Float, right: Float, bottom: Float, paint: Paint) {
+        skia.drawRect(SkRect.makeLTRB(left, top, right, bottom), paint.skia)
+    }
+
+    override fun drawRoundRect(
+        left: Float,
+        top: Float,
+        right: Float,
+        bottom: Float,
+        radiusX: Float,
+        radiusY: Float,
+        paint: Paint
+    ) {
+        skia.drawRRect(
+            SkRRect.makeLTRB(
+                left,
+                top,
+                right,
+                bottom,
+                radiusX,
+                radiusY
+            ),
+            paint.skia
+        )
+    }
+
+    override fun drawOval(left: Float, top: Float, right: Float, bottom: Float, paint: Paint) {
+        skia.drawOval(SkRect.makeLTRB(left, top, right, bottom), paint.skia)
+    }
+
+    override fun drawCircle(center: Offset, radius: Float, paint: Paint) {
+        skia.drawCircle(center.x, center.y, radius, paint.skia)
+    }
+
+    override fun drawArc(
+        left: Float,
+        top: Float,
+        right: Float,
+        bottom: Float,
+        startAngle: Float,
+        sweepAngle: Float,
+        useCenter: Boolean,
+        paint: Paint
+    ) {
+        skia.drawArc(
+            left,
+            top,
+            right,
+            bottom,
+            startAngle,
+            sweepAngle,
+            useCenter,
+            paint.skia
+        )
+    }
+
+    override fun drawPath(path: Path, paint: Paint) {
+        skia.drawPath(path.asSkiaPath(), paint.skia)
+    }
+
+    override fun drawImage(image: ImageBitmap, topLeftOffset: Offset, paint: Paint) {
+        val size = Size(image.width.toFloat(), image.height.toFloat())
+        drawImageRect(image, Offset.Zero, size, topLeftOffset, size, paint)
+    }
+
+    override fun drawImageRect(
+        image: ImageBitmap,
+        srcOffset: IntOffset,
+        srcSize: IntSize,
+        dstOffset: IntOffset,
+        dstSize: IntSize,
+        paint: Paint
+    ) {
+        drawImageRect(
+            image,
+            Offset(srcOffset.x.toFloat(), srcOffset.y.toFloat()),
+            Size(srcSize.width.toFloat(), srcSize.height.toFloat()),
+            Offset(dstOffset.x.toFloat(), dstOffset.y.toFloat()),
+            Size(dstSize.width.toFloat(), dstSize.height.toFloat()),
+            paint
+        )
+    }
+
+    // TODO(demin): probably this method should be in the common Canvas
+    private fun drawImageRect(
+        image: ImageBitmap,
+        srcOffset: Offset,
+        srcSize: Size,
+        dstOffset: Offset,
+        dstSize: Size,
+        paint: Paint
+    ) {
+        val bitmap = image.asSkiaBitmap()
+        Image.makeFromBitmap(bitmap).use { skiaImage ->
+            skia.drawImageRect(
+                skiaImage,
+                SkRect.makeXYWH(
+                    srcOffset.x,
+                    srcOffset.y,
+                    srcSize.width,
+                    srcSize.height
+                ),
+                SkRect.makeXYWH(
+                    dstOffset.x,
+                    dstOffset.y,
+                    dstSize.width,
+                    dstSize.height
+                ),
+                paint.filterQuality.toSkia(),
+                paint.skia,
+                true
+            )
+        }
+    }
+
+    override fun drawPoints(pointMode: PointMode, points: List<Offset>, paint: Paint) {
+        when (pointMode) {
+            // Draw a line between each pair of points, each point has at most one line
+            // If the number of points is odd, then the last point is ignored.
+            PointMode.Lines -> drawLines(points, paint, 2)
+
+            // Connect each adjacent point with a line
+            PointMode.Polygon -> drawLines(points, paint, 1)
+
+            // Draw a point at each provided coordinate
+            PointMode.Points -> drawPoints(points, paint)
+        }
+    }
+
+    override fun enableZ() = Unit
+
+    override fun disableZ() = Unit
+
+    private fun drawPoints(points: List<Offset>, paint: Paint) {
+        points.fastForEach { point ->
+            skia.drawPoint(
+                point.x,
+                point.y,
+                paint.skia
+            )
+        }
+    }
+
+    /**
+     * Draw lines connecting points based on the corresponding step.
+     *
+     * ex. 3 points with a step of 1 would draw 2 lines between the first and second points
+     * and another between the second and third
+     *
+     * ex. 4 points with a step of 2 would draw 2 lines between the first and second and another
+     * between the third and fourth. If there is an odd number of points, the last point is
+     * ignored
+     *
+     * @see drawRawLines
+     */
+    private fun drawLines(points: List<Offset>, paint: Paint, stepBy: Int) {
+        if (points.size >= 2) {
+            for (i in 0 until points.size - 1 step stepBy) {
+                val p1 = points[i]
+                val p2 = points[i + 1]
+                skia.drawLine(
+                    p1.x,
+                    p1.y,
+                    p2.x,
+                    p2.y,
+                    paint.skia
+                )
+            }
+        }
+    }
+
+    /**
+     * @throws IllegalArgumentException if a non even number of points is provided
+     */
+    override fun drawRawPoints(pointMode: PointMode, points: FloatArray, paint: Paint) {
+        if (points.size % 2 != 0) {
+            throw IllegalArgumentException("points must have an even number of values")
+        }
+        when (pointMode) {
+            PointMode.Lines -> drawRawLines(points, paint, 2)
+            PointMode.Polygon -> drawRawLines(points, paint, 1)
+            PointMode.Points -> drawRawPoints(points, paint, 2)
+        }
+    }
+
+    private fun drawRawPoints(points: FloatArray, paint: Paint, stepBy: Int) {
+        if (points.size % 2 == 0) {
+            for (i in 0 until points.size - 1 step stepBy) {
+                val x = points[i]
+                val y = points[i + 1]
+                skia.drawPoint(x, y, paint.skia)
+            }
+        }
+    }
+
+    /**
+     * Draw lines connecting points based on the corresponding step. The points are interpreted
+     * as x, y coordinate pairs in alternating index positions
+     *
+     * ex. 3 points with a step of 1 would draw 2 lines between the first and second points
+     * and another between the second and third
+     *
+     * ex. 4 points with a step of 2 would draw 2 lines between the first and second and another
+     * between the third and fourth. If there is an odd number of points, the last point is
+     * ignored
+     *
+     * @see drawLines
+     */
+    private fun drawRawLines(points: FloatArray, paint: Paint, stepBy: Int) {
+        // Float array is treated as alternative set of x and y coordinates
+        // x1, y1, x2, y2, x3, y3, ... etc.
+        if (points.size >= 4 && points.size % 2 == 0) {
+            for (i in 0 until points.size - 3 step stepBy * 2) {
+                val x1 = points[i]
+                val y1 = points[i + 1]
+                val x2 = points[i + 2]
+                val y2 = points[i + 3]
+                skia.drawLine(
+                    x1,
+                    y1,
+                    x2,
+                    y2,
+                    paint.skia
+                )
+            }
+        }
+    }
+
+    override fun drawVertices(vertices: Vertices, blendMode: BlendMode, paint: Paint) {
+        skia.drawVertices(
+            vertices.vertexMode.toSkiaVertexMode(),
+            vertices.positions,
+            vertices.colors,
+            vertices.textureCoordinates,
+            vertices.indices,
+            blendMode.toSkia(),
+            paint.asFrameworkPaint()
+        )
+    }
+
+    private fun ClipOp.toSkia() = when (this) {
+        ClipOp.Difference -> SkClipMode.DIFFERENCE
+        ClipOp.Intersect -> SkClipMode.INTERSECT
+        else -> SkClipMode.INTERSECT
+    }
+
+    private fun Matrix.toSkia() = Matrix44(
+        this[0, 0],
+        this[1, 0],
+        this[2, 0],
+        this[3, 0],
+
+        this[0, 1],
+        this[1, 1],
+        this[2, 1],
+        this[3, 1],
+
+        this[0, 2],
+        this[1, 2],
+        this[2, 2],
+        this[3, 2],
+
+        this[0, 3],
+        this[1, 3],
+        this[2, 3],
+        this[3, 3]
+    )
+
+    // These constants are chosen to correspond the old implementation of SkFilterQuality:
+    // https://github.com/google/skia/blob/1f193df9b393d50da39570dab77a0bb5d28ec8ef/src/image/SkImage.cpp#L809
+    // https://github.com/google/skia/blob/1f193df9b393d50da39570dab77a0bb5d28ec8ef/include/core/SkSamplingOptions.h#L86
+    private fun FilterQuality.toSkia(): SamplingMode = when (this) {
+        FilterQuality.Low -> FilterMipmap(FilterMode.LINEAR, MipmapMode.NONE)
+        FilterQuality.Medium -> FilterMipmap(FilterMode.LINEAR, MipmapMode.NEAREST)
+        FilterQuality.High -> CubicResampler(1 / 3.0f, 1 / 3.0f)
+        else -> FilterMipmap(FilterMode.NEAREST, MipmapMode.NONE)
+    }
+}
\ No newline at end of file
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPaint.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPaint.skiko.kt
new file mode 100644
index 0000000..e9df393
--- /dev/null
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPaint.skiko.kt
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.ui.graphics
+
+import org.jetbrains.skia.PaintMode as SkPaintMode
+import org.jetbrains.skia.PaintStrokeCap as SkPaintStrokeCap
+import org.jetbrains.skia.PaintStrokeJoin as SkPaintStrokeJoin
+
+actual typealias NativePaint = org.jetbrains.skia.Paint
+
+actual fun Paint(): Paint = SkiaBackedPaint()
+
+/**
+ * Convert the [org.jetbrains.skia.Paint] instance into a Compose-compatible Paint
+ */
+fun org.jetbrains.skia.Paint.asComposePaint(): Paint = SkiaBackedPaint(this)
+
+internal class SkiaBackedPaint(
+    val skia: org.jetbrains.skia.Paint = org.jetbrains.skia.Paint()
+) : Paint {
+    override fun asFrameworkPaint(): NativePaint = skia
+
+    override var alpha: Float
+        get() = Color(skia.color).alpha
+        set(value) {
+            skia.color = Color(skia.color).copy(alpha = value).toArgb()
+        }
+
+    override var isAntiAlias: Boolean
+        get() = skia.isAntiAlias
+        set(value) {
+            skia.isAntiAlias = value
+        }
+
+    override var color: Color
+        get() = Color(skia.color)
+        set(color) {
+            skia.color = color.toArgb()
+        }
+
+    override var blendMode: BlendMode = BlendMode.SrcOver
+        set(value) {
+            skia.blendMode = value.toSkia()
+            field = value
+        }
+
+    override var style: PaintingStyle = PaintingStyle.Fill
+        set(value) {
+            skia.mode = value.toSkia()
+            field = value
+        }
+
+    override var strokeWidth: Float
+        get() = skia.strokeWidth
+        set(value) {
+            skia.strokeWidth = value
+        }
+
+    override var strokeCap: StrokeCap = StrokeCap.Butt
+        set(value) {
+            skia.strokeCap = value.toSkia()
+            field = value
+        }
+
+    override var strokeJoin: StrokeJoin = StrokeJoin.Round
+        set(value) {
+            skia.strokeJoin = value.toSkia()
+            field = value
+        }
+
+    override var strokeMiterLimit: Float = 0f
+        set(value) {
+            skia.strokeMiter = value
+            field = value
+        }
+
+    override var filterQuality: FilterQuality = FilterQuality.Medium
+
+    override var shader: Shader? = null
+        set(value) {
+            skia.shader = value
+            field = value
+        }
+
+    override var colorFilter: ColorFilter? = null
+        set(value) {
+            skia.colorFilter = value?.asSkiaColorFilter()
+            field = value
+        }
+
+    override var pathEffect: PathEffect? = null
+        set(value) {
+            skia.pathEffect = (value as SkiaBackedPathEffect?)?.asSkiaPathEffect()
+            field = value
+        }
+
+    private fun PaintingStyle.toSkia() = when (this) {
+        PaintingStyle.Fill -> SkPaintMode.FILL
+        PaintingStyle.Stroke -> SkPaintMode.STROKE
+        else -> SkPaintMode.FILL
+    }
+
+    private fun StrokeCap.toSkia() = when (this) {
+        StrokeCap.Butt -> SkPaintStrokeCap.BUTT
+        StrokeCap.Round -> SkPaintStrokeCap.ROUND
+        StrokeCap.Square -> SkPaintStrokeCap.SQUARE
+        else -> SkPaintStrokeCap.BUTT
+    }
+
+    private fun StrokeJoin.toSkia() = when (this) {
+        StrokeJoin.Miter -> SkPaintStrokeJoin.MITER
+        StrokeJoin.Round -> SkPaintStrokeJoin.ROUND
+        StrokeJoin.Bevel -> SkPaintStrokeJoin.BEVEL
+        else -> SkPaintStrokeJoin.MITER
+    }
+}
+
+actual fun BlendMode.isSupported(): Boolean = true
\ No newline at end of file
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPath.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPath.skiko.kt
new file mode 100644
index 0000000..5552b80
--- /dev/null
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPath.skiko.kt
@@ -0,0 +1,208 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.ui.graphics
+
+import androidx.compose.ui.geometry.Offset
+import androidx.compose.ui.geometry.Rect
+import androidx.compose.ui.geometry.RoundRect
+import org.jetbrains.skia.Matrix33
+import org.jetbrains.skia.PathDirection
+import org.jetbrains.skia.PathFillMode
+import org.jetbrains.skia.PathOp
+
+actual fun Path(): Path = SkiaBackedPath()
+
+/**
+ * Convert the [org.jetbrains.skia.Path] instance into a Compose-compatible Path
+ */
+fun org.jetbrains.skia.Path.asComposePath(): Path = SkiaBackedPath(this)
+
+/**
+ * Obtain a reference to the [org.jetbrains.skia.Path]
+ *
+ * @Throws UnsupportedOperationException if this Path is not backed by an org.jetbrains.skia.Path
+ */
+fun Path.asSkiaPath(): org.jetbrains.skia.Path =
+    if (this is SkiaBackedPath) {
+        internalPath
+    } else {
+        throw UnsupportedOperationException("Unable to obtain org.jetbrains.skia.Path")
+    }
+
+internal class SkiaBackedPath(
+    internalPath: org.jetbrains.skia.Path = org.jetbrains.skia.Path()
+) : Path {
+    var internalPath = internalPath
+        private set
+
+    override var fillType: PathFillType
+        get() {
+            if (internalPath.fillMode == PathFillMode.EVEN_ODD) {
+                return PathFillType.EvenOdd
+            } else {
+                return PathFillType.NonZero
+            }
+        }
+
+        set(value) {
+            internalPath.fillMode =
+                if (value == PathFillType.EvenOdd) {
+                    PathFillMode.EVEN_ODD
+                } else {
+                    PathFillMode.WINDING
+                }
+        }
+
+    override fun moveTo(x: Float, y: Float) {
+        internalPath.moveTo(x, y)
+    }
+
+    override fun relativeMoveTo(dx: Float, dy: Float) {
+        internalPath.rMoveTo(dx, dy)
+    }
+
+    override fun lineTo(x: Float, y: Float) {
+        internalPath.lineTo(x, y)
+    }
+
+    override fun relativeLineTo(dx: Float, dy: Float) {
+        internalPath.rLineTo(dx, dy)
+    }
+
+    override fun quadraticBezierTo(x1: Float, y1: Float, x2: Float, y2: Float) {
+        internalPath.quadTo(x1, y1, x2, y2)
+    }
+
+    override fun relativeQuadraticBezierTo(dx1: Float, dy1: Float, dx2: Float, dy2: Float) {
+        internalPath.rQuadTo(dx1, dy1, dx2, dy2)
+    }
+
+    override fun cubicTo(x1: Float, y1: Float, x2: Float, y2: Float, x3: Float, y3: Float) {
+        internalPath.cubicTo(
+            x1, y1,
+            x2, y2,
+            x3, y3
+        )
+    }
+
+    override fun relativeCubicTo(
+        dx1: Float,
+        dy1: Float,
+        dx2: Float,
+        dy2: Float,
+        dx3: Float,
+        dy3: Float
+    ) {
+        internalPath.rCubicTo(
+            dx1, dy1,
+            dx2, dy2,
+            dx3, dy3
+        )
+    }
+
+    override fun arcTo(
+        rect: Rect,
+        startAngleDegrees: Float,
+        sweepAngleDegrees: Float,
+        forceMoveTo: Boolean
+    ) {
+        internalPath.arcTo(
+            rect.toSkiaRect(),
+            startAngleDegrees,
+            sweepAngleDegrees,
+            forceMoveTo
+        )
+    }
+
+    override fun addRect(rect: Rect) {
+        internalPath.addRect(rect.toSkiaRect(), PathDirection.COUNTER_CLOCKWISE)
+    }
+
+    override fun addOval(oval: Rect) {
+        internalPath.addOval(oval.toSkiaRect(), PathDirection.COUNTER_CLOCKWISE)
+    }
+
+    override fun addArcRad(oval: Rect, startAngleRadians: Float, sweepAngleRadians: Float) {
+        addArc(oval, degrees(startAngleRadians), degrees(sweepAngleRadians))
+    }
+
+    override fun addArc(oval: Rect, startAngleDegrees: Float, sweepAngleDegrees: Float) {
+        internalPath.addArc(oval.toSkiaRect(), startAngleDegrees, sweepAngleDegrees)
+    }
+
+    override fun addRoundRect(roundRect: RoundRect) {
+        internalPath.addRRect(roundRect.toSkiaRRect(), PathDirection.COUNTER_CLOCKWISE)
+    }
+
+    override fun addPath(path: Path, offset: Offset) {
+        internalPath.addPath(path.asSkiaPath(), offset.x, offset.y)
+    }
+
+    override fun close() {
+        internalPath.closePath()
+    }
+
+    override fun reset() {
+        // preserve fillType to match the Android behavior
+        // see https://cs.android.com/android/_/android/platform/frameworks/base/+/d0f379c1976c600313f1f4c39f2587a649e3a4fc
+        val fillType = this.fillType
+        internalPath.reset()
+        this.fillType = fillType
+    }
+
+    override fun translate(offset: Offset) {
+        internalPath.transform(Matrix33.makeTranslate(offset.x, offset.y))
+    }
+
+    override fun getBounds(): Rect {
+        val bounds = internalPath.bounds
+        return Rect(
+            bounds.left,
+            bounds.top,
+            bounds.right,
+            bounds.bottom
+        )
+    }
+
+    override fun op(
+        path1: Path,
+        path2: Path,
+        operation: PathOperation
+    ): Boolean {
+        val path = org.jetbrains.skia.Path.makeCombining(
+            path1.asSkiaPath(),
+            path2.asSkiaPath(),
+            operation.toSkiaOperation()
+        )
+
+        internalPath = path ?: internalPath
+        return path != null
+    }
+
+    private fun PathOperation.toSkiaOperation() = when (this) {
+        PathOperation.Difference -> PathOp.DIFFERENCE
+        PathOperation.Intersect -> PathOp.INTERSECT
+        PathOperation.Union -> PathOp.UNION
+        PathOperation.Xor -> PathOp.XOR
+        PathOperation.ReverseDifference -> PathOp.REVERSE_DIFFERENCE
+        else -> PathOp.XOR
+    }
+
+    override val isConvex: Boolean get() = internalPath.isConvex
+
+    override val isEmpty: Boolean get() = internalPath.isEmpty
+}
\ No newline at end of file
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPathEffect.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPathEffect.skiko.kt
new file mode 100644
index 0000000..cd96db9
--- /dev/null
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPathEffect.skiko.kt
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.ui.graphics
+
+import org.jetbrains.skia.PathEffect as SkPathEffect
+
+internal class SkiaBackedPathEffect(val nativePathEffect: SkPathEffect) : PathEffect
+
+/**
+ * Convert the [org.jetbrains.skia.PathEffect] instance into a Compose-compatible PathEffect
+ */
+fun SkPathEffect.asComposePathEffect(): PathEffect = SkiaBackedPathEffect(this)
+
+/**
+ * Obtain a reference to skia PathEffect type
+ */
+fun PathEffect.asSkiaPathEffect(): SkPathEffect =
+    (this as SkiaBackedPathEffect).nativePathEffect
+
+internal actual fun actualCornerPathEffect(radius: Float): PathEffect =
+    SkiaBackedPathEffect(SkPathEffect.makeCorner(radius))
+
+internal actual fun actualDashPathEffect(
+    intervals: FloatArray,
+    phase: Float
+): PathEffect = SkiaBackedPathEffect(SkPathEffect.makeDash(intervals, phase))
+
+internal actual fun actualChainPathEffect(outer: PathEffect, inner: PathEffect): PathEffect =
+    SkiaBackedPathEffect(outer.asSkiaPathEffect().makeCompose(inner.asSkiaPathEffect()))
+
+internal actual fun actualStampedPathEffect(
+    shape: Path,
+    advance: Float,
+    phase: Float,
+    style: StampedPathEffectStyle
+): PathEffect =
+    SkiaBackedPathEffect(
+        SkPathEffect.makePath1D(
+            shape.asSkiaPath(),
+            advance,
+            phase,
+            style.toSkiaStampedPathEffectStyle()
+        )
+    )
+
+internal fun StampedPathEffectStyle.toSkiaStampedPathEffectStyle(): SkPathEffect.Style =
+    when (this) {
+        StampedPathEffectStyle.Morph -> SkPathEffect.Style.MORPH
+        StampedPathEffectStyle.Rotate -> SkPathEffect.Style.ROTATE
+        StampedPathEffectStyle.Translate -> SkPathEffect.Style.TRANSLATE
+        else -> SkPathEffect.Style.TRANSLATE
+    }
\ No newline at end of file
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPathMeasure.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPathMeasure.skiko.kt
new file mode 100644
index 0000000..7658c68
--- /dev/null
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPathMeasure.skiko.kt
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.ui.graphics
+
+/**
+ * Convert the [org.jetbrains.skia.PathMeasure] instance into a Compose-compatible PathMeasure
+ */
+fun org.jetbrains.skia.PathMeasure.asComposePathEffect(): PathMeasure = SkiaBackedPathMeasure(this)
+
+/**
+ * Obtain a reference to skia PathMeasure type
+ */
+fun PathMeasure.asSkiaPathMeasure(): org.jetbrains.skia.PathMeasure =
+    (this as SkiaBackedPathMeasure).skia
+
+internal class SkiaBackedPathMeasure(
+    internal val skia: org.jetbrains.skia.PathMeasure = org.jetbrains.skia.PathMeasure()
+) : PathMeasure {
+
+    override fun setPath(path: Path?, forceClosed: Boolean) {
+        skia.setPath(path?.asSkiaPath(), forceClosed)
+    }
+
+    override fun getSegment(
+        startDistance: Float,
+        stopDistance: Float,
+        destination: Path,
+        startWithMoveTo: Boolean
+    ) = skia.getSegment(
+        startDistance,
+        stopDistance,
+        destination.asSkiaPath(),
+        startWithMoveTo
+    )
+
+    override val length: Float
+        get() = skia.length
+}
+
+actual fun PathMeasure(): PathMeasure =
+    SkiaBackedPathMeasure()
\ No newline at end of file
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedRenderEffect.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedRenderEffect.skiko.kt
new file mode 100644
index 0000000..8d6e519
--- /dev/null
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedRenderEffect.skiko.kt
@@ -0,0 +1,153 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.ui.graphics
+
+import androidx.compose.runtime.Immutable
+import androidx.compose.ui.geometry.Offset
+import org.jetbrains.skia.ImageFilter
+
+/**
+ * Convert the [ImageFilter] instance into a Compose-compatible [RenderEffect]
+ */
+fun ImageFilter.asComposeRenderEffect(): RenderEffect =
+    SkiaBackedRenderEffect(this)
+
+/**
+ * Intermediate rendering step used to render drawing commands with a corresponding
+ * visual effect. A [RenderEffect] can be configured on a [GraphicsLayerScope]
+ * and will be applied when drawn.
+ */
+@Immutable
+actual sealed class RenderEffect actual constructor() {
+
+    private var internalImageFilter: ImageFilter? = null
+
+    fun asSkiaImageFilter(): ImageFilter =
+        internalImageFilter ?: createImageFilter().also { internalImageFilter = it }
+
+    protected abstract fun createImageFilter(): ImageFilter
+
+    /**
+     * Capability query to determine if the particular platform supports the [RenderEffect]. Not
+     * all platforms support all render effects
+     */
+    actual open fun isSupported(): Boolean = true
+}
+
+@Immutable
+internal class SkiaBackedRenderEffect(
+    val imageFilter: ImageFilter
+) : RenderEffect() {
+    override fun createImageFilter(): ImageFilter = imageFilter
+}
+
+@Immutable
+actual class BlurEffect actual constructor(
+    private val renderEffect: RenderEffect?,
+    private val radiusX: Float,
+    private val radiusY: Float,
+    private val edgeTreatment: TileMode
+) : RenderEffect() {
+
+    override fun createImageFilter(): ImageFilter =
+        if (renderEffect == null) {
+            ImageFilter.makeBlur(
+                convertRadiusToSigma(radiusX),
+                convertRadiusToSigma(radiusY),
+                edgeTreatment.toSkiaTileMode()
+            )
+        } else {
+            ImageFilter.makeBlur(
+                convertRadiusToSigma(radiusX),
+                convertRadiusToSigma(radiusY),
+                edgeTreatment.toSkiaTileMode(),
+                renderEffect.asSkiaImageFilter(),
+                null
+            )
+        }
+
+    override fun equals(other: Any?): Boolean {
+        if (this === other) return true
+        if (other !is BlurEffect) return false
+
+        if (radiusX != other.radiusX) return false
+        if (radiusY != other.radiusY) return false
+        if (edgeTreatment != other.edgeTreatment) return false
+        if (renderEffect != other.renderEffect) return false
+
+        return true
+    }
+
+    override fun hashCode(): Int {
+        var result = renderEffect?.hashCode() ?: 0
+        result = 31 * result + radiusX.hashCode()
+        result = 31 * result + radiusY.hashCode()
+        result = 31 * result + edgeTreatment.hashCode()
+        return result
+    }
+
+    override fun toString(): String {
+        return "BlurEffect(renderEffect=$renderEffect, radiusX=$radiusX, radiusY=$radiusY, " +
+            "edgeTreatment=$edgeTreatment)"
+    }
+
+    companion object {
+
+        // Constant used to convert blur radius into a corresponding sigma value
+        // for the gaussian blur algorithm used within SkImageFilter.
+        // This constant approximates the scaling done in the software path's
+        // "high quality" mode, in SkBlurMask::Blur() (1 / sqrt(3)).
+        val BlurSigmaScale = 0.57735f
+
+        fun convertRadiusToSigma(radius: Float) =
+            if (radius > 0) {
+                BlurSigmaScale * radius + 0.5f
+            } else {
+                0.0f
+            }
+    }
+}
+
+@Immutable
+actual class OffsetEffect actual constructor(
+    private val renderEffect: RenderEffect?,
+    private val offset: Offset
+) : RenderEffect() {
+
+    override fun createImageFilter(): ImageFilter =
+        ImageFilter.makeOffset(offset.x, offset.y, renderEffect?.asSkiaImageFilter(), null)
+
+    override fun equals(other: Any?): Boolean {
+        if (this === other) return true
+        if (other !is OffsetEffect) return false
+
+        if (renderEffect != other.renderEffect) return false
+        if (offset != other.offset) return false
+
+        return true
+    }
+
+    override fun hashCode(): Int {
+        var result = renderEffect?.hashCode() ?: 0
+        result = 31 * result + offset.hashCode()
+        return result
+    }
+
+    override fun toString(): String {
+        return "OffsetEffect(renderEffect=$renderEffect, offset=$offset)"
+    }
+}
\ No newline at end of file
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaColorFilter.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaColorFilter.skiko.kt
new file mode 100644
index 0000000..2e598a0
--- /dev/null
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaColorFilter.skiko.kt
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.ui.graphics
+
+import org.jetbrains.skia.ColorFilter as SkiaColorFilter
+
+actual typealias NativeColorFilter = SkiaColorFilter
+
+/**
+ * Obtain a [org.jetbrains.skia.ColorFilter] instance from this [ColorFilter]
+ */
+fun ColorFilter.asSkiaColorFilter(): SkiaColorFilter = nativeColorFilter
+
+/**
+ * Create a [ColorFilter] from the given [org.jetbrains.skia.ColorFilter] instance
+ */
+fun org.jetbrains.skia.ColorFilter.asComposeColorFilter(): ColorFilter = ColorFilter(this)
+
+internal actual fun actualTintColorFilter(color: Color, blendMode: BlendMode): ColorFilter =
+    ColorFilter(SkiaColorFilter.makeBlend(color.toArgb(), blendMode.toSkia()))
+
+internal actual fun actualColorMatrixColorFilter(colorMatrix: ColorMatrix): ColorFilter =
+    ColorFilter(
+        SkiaColorFilter.makeMatrix(
+            org.jetbrains.skia.ColorMatrix(*colorMatrix.values)
+        )
+    )
+
+internal actual fun actualLightingColorFilter(multiply: Color, add: Color): ColorFilter =
+    ColorFilter(SkiaColorFilter.makeLighting(multiply.toArgb(), add.toArgb()))
\ No newline at end of file
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaImageAsset.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaImageAsset.skiko.kt
new file mode 100644
index 0000000..bc92d05
--- /dev/null
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaImageAsset.skiko.kt
@@ -0,0 +1,159 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.ui.graphics
+
+import androidx.compose.ui.graphics.colorspace.ColorSpace
+import androidx.compose.ui.graphics.colorspace.ColorSpaces
+import org.jetbrains.skia.Bitmap
+import org.jetbrains.skia.ColorAlphaType
+import org.jetbrains.skia.ColorInfo
+import org.jetbrains.skia.ColorType
+import org.jetbrains.skia.Image
+import org.jetbrains.skia.ImageInfo
+import kotlin.math.abs
+
+/**
+ * Create an [ImageBitmap] from the given [Bitmap]. Note this does
+ * not create a copy of the original [Bitmap] and changes to it
+ * will modify the returned [ImageBitmap]
+ */
+fun Bitmap.asComposeImageBitmap(): ImageBitmap = SkiaBackedImageBitmap(this)
+
+/**
+ * Create an [ImageBitmap] from the given [Image].
+ */
+fun Image.toComposeImageBitmap(): ImageBitmap = SkiaBackedImageBitmap(toBitmap())
+
+private fun Image.toBitmap(): Bitmap {
+    val bitmap = Bitmap()
+    bitmap.allocPixels(ImageInfo.makeN32(width, height, ColorAlphaType.PREMUL))
+    val canvas = org.jetbrains.skia.Canvas(bitmap)
+    canvas.drawImage(this, 0f, 0f)
+    bitmap.setImmutable()
+    return bitmap
+}
+
+internal actual fun ActualImageBitmap(
+    width: Int,
+    height: Int,
+    config: ImageBitmapConfig,
+    hasAlpha: Boolean,
+    colorSpace: ColorSpace
+): ImageBitmap {
+    val colorType = config.toSkiaColorType()
+    val alphaType = if (hasAlpha) ColorAlphaType.PREMUL else ColorAlphaType.OPAQUE
+    val skiaColorSpace = colorSpace.toSkiaColorSpace()
+    val colorInfo = ColorInfo(colorType, alphaType, skiaColorSpace)
+    val imageInfo = ImageInfo(colorInfo, width, height)
+    val bitmap = Bitmap()
+    bitmap.allocPixels(imageInfo)
+    return SkiaBackedImageBitmap(bitmap)
+}
+
+/**
+ * Obtain a reference to the [org.jetbrains.skia.Bitmap]
+ *
+ * @Throws UnsupportedOperationException if this [ImageBitmap] is not backed by an
+ * org.jetbrains.skia.Image
+ */
+fun ImageBitmap.asSkiaBitmap(): Bitmap =
+    when (this) {
+        is SkiaBackedImageBitmap -> bitmap
+        else -> throw UnsupportedOperationException("Unable to obtain org.jetbrains.skia.Image")
+    }
+
+private class SkiaBackedImageBitmap(val bitmap: Bitmap) : ImageBitmap {
+    override val colorSpace = bitmap.colorSpace.toComposeColorSpace()
+    override val config = bitmap.colorType.toComposeConfig()
+    override val hasAlpha = !bitmap.isOpaque
+    override val height get() = bitmap.height
+    override val width get() = bitmap.width
+    override fun prepareToDraw() = Unit
+
+    override fun readPixels(
+        buffer: IntArray,
+        startX: Int,
+        startY: Int,
+        width: Int,
+        height: Int,
+        bufferOffset: Int,
+        stride: Int
+    ) {
+        // similar to https://cs.android.com/android/platform/superproject/+/42c50042d1f05d92ecc57baebe3326a57aeecf77:frameworks/base/graphics/java/android/graphics/Bitmap.java;l=2007
+        val lastScanline: Int = bufferOffset + (height - 1) * stride
+        require(startX >= 0 && startY >= 0)
+        require(width > 0 && startX + width <= this.width)
+        require(height > 0 && startY + height <= this.height)
+        require(abs(stride) >= width)
+        require(bufferOffset >= 0 && bufferOffset + width <= buffer.size)
+        require(lastScanline >= 0 && lastScanline + width <= buffer.size)
+
+        // similar to https://cs.android.com/android/platform/superproject/+/9054ca2b342b2ea902839f629e820546d8a2458b:frameworks/base/libs/hwui/jni/Bitmap.cpp;l=898;bpv=1
+        val colorInfo = ColorInfo(
+            ColorType.BGRA_8888,
+            ColorAlphaType.UNPREMUL,
+            org.jetbrains.skia.ColorSpace.sRGB
+        )
+        val imageInfo = ImageInfo(colorInfo, width, height)
+        val bytesPerPixel = 4
+        val bytes = bitmap.readPixels(imageInfo, stride * bytesPerPixel.toLong(), startX, startY)!!
+        bytes.putBytesInto(buffer, bufferOffset, bytes.size / bytesPerPixel)
+    }
+}
+
+internal expect fun ByteArray.putBytesInto(array: IntArray, offset: Int, length: Int)
+
+// TODO(demin): [API] maybe we should use:
+//  `else -> throw UnsupportedOperationException()`
+//  in toSkiaColorType/toComposeConfig/toComposeColorSpace/toSkiaColorSpace
+//  see [https://android-review.googlesource.com/c/platform/frameworks/support/+/1429835/comment/c219501b_63c3d1fe/]
+
+private fun ImageBitmapConfig.toSkiaColorType() = when (this) {
+    ImageBitmapConfig.Argb8888 -> ColorType.N32
+    ImageBitmapConfig.Alpha8 -> ColorType.ALPHA_8
+    ImageBitmapConfig.Rgb565 -> ColorType.RGB_565
+    ImageBitmapConfig.F16 -> ColorType.RGBA_F16
+    else -> ColorType.N32
+}
+
+private fun ColorType.toComposeConfig() = when (this) {
+    ColorType.N32 -> ImageBitmapConfig.Argb8888
+    ColorType.ALPHA_8 -> ImageBitmapConfig.Alpha8
+    ColorType.RGB_565 -> ImageBitmapConfig.Rgb565
+    ColorType.RGBA_F16 -> ImageBitmapConfig.F16
+    else -> ImageBitmapConfig.Argb8888
+}
+
+private fun org.jetbrains.skia.ColorSpace?.toComposeColorSpace(): ColorSpace {
+    return when (this) {
+        org.jetbrains.skia.ColorSpace.sRGB -> ColorSpaces.Srgb
+        org.jetbrains.skia.ColorSpace.sRGBLinear -> ColorSpaces.LinearSrgb
+        org.jetbrains.skia.ColorSpace.displayP3 -> ColorSpaces.DisplayP3
+        else -> ColorSpaces.Srgb
+    }
+}
+
+// TODO(demin): support all color spaces.
+//  to do this we need to implement SkColorSpace::MakeRGB in skia
+private fun ColorSpace.toSkiaColorSpace(): org.jetbrains.skia.ColorSpace {
+    return when (this) {
+        ColorSpaces.Srgb -> org.jetbrains.skia.ColorSpace.sRGB
+        ColorSpaces.LinearSrgb -> org.jetbrains.skia.ColorSpace.sRGBLinear
+        ColorSpaces.DisplayP3 -> org.jetbrains.skia.ColorSpace.displayP3
+        else -> org.jetbrains.skia.ColorSpace.sRGB
+    }
+}
\ No newline at end of file
diff --git a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopShader.desktop.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaShader.skiko.kt
similarity index 100%
rename from compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopShader.desktop.kt
rename to compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaShader.skiko.kt
diff --git a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopTileMode.desktop.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaTileMode.skiko.kt
similarity index 100%
rename from compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopTileMode.desktop.kt
rename to compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaTileMode.skiko.kt
diff --git a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopVertexMode.desktop.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaVertexMode.skiko.kt
similarity index 100%
rename from compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopVertexMode.desktop.kt
rename to compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaVertexMode.skiko.kt
diff --git a/compose/ui/ui-graphics/src/test/java/androidx/compose/ui/graphics/ColorTest.kt b/compose/ui/ui-graphics/src/test/java/androidx/compose/ui/graphics/ColorTest.kt
index c87b11c..6ca79ac 100644
--- a/compose/ui/ui-graphics/src/test/java/androidx/compose/ui/graphics/ColorTest.kt
+++ b/compose/ui/ui-graphics/src/test/java/androidx/compose/ui/graphics/ColorTest.kt
@@ -384,7 +384,6 @@
     }
 
     companion object {
-        @OptIn(kotlin.ExperimentalUnsignedTypes::class)
         fun Int.toHexString() = "0x${toUInt().toString(16).padStart(8, '0')}"
     }
 }
diff --git a/compose/ui/ui-inspection/lint-baseline.xml b/compose/ui/ui-inspection/lint-baseline.xml
new file mode 100644
index 0000000..2bf72fc
--- /dev/null
+++ b/compose/ui/ui-inspection/lint-baseline.xml
@@ -0,0 +1,26 @@
+<?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">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(29)"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/compose/ui/inspection/inspector/LayoutInspectorTree.kt"
+            line="85"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(29)"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/compose/ui/inspection/inspector/ParameterFactory.kt"
+            line="69"
+            column="1"/>
+    </issue>
+
+</issues>
diff --git a/compose/ui/ui-lint/lint-baseline.xml b/compose/ui/ui-lint/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/ui/ui-lint/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/ui/ui-test-font/lint-baseline.xml b/compose/ui/ui-test-font/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/compose/ui/ui-test-font/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/compose/ui/ui-test-junit4/build.gradle b/compose/ui/ui-test-junit4/build.gradle
index 1911d45..4487e2a 100644
--- a/compose/ui/ui-test-junit4/build.gradle
+++ b/compose/ui/ui-test-junit4/build.gradle
@@ -108,7 +108,7 @@
                 implementation(libs.espressoIdlingResource)
             }
 
-            test.dependencies {
+            androidTest.dependencies {
                 implementation(project(":compose:animation:animation-core"))
                 implementation(project(":compose:material:material"))
                 implementation(project(":compose:test-utils"))
diff --git a/compose/ui/ui-test-junit4/lint-baseline.xml b/compose/ui/ui-test-junit4/lint-baseline.xml
index 76fa171..2ffe2ed 100644
--- a/compose/ui/ui-test-junit4/lint-baseline.xml
+++ b/compose/ui/ui-test-junit4/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
         id="VisibleForTests"
@@ -41,7 +41,7 @@
         errorLine2="                                ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/androidMain/kotlin/androidx/compose/ui/test/junit4/android/ComposeRootRegistry.android.kt"
-            line="54"
+            line="53"
             column="33"/>
     </issue>
 
@@ -52,7 +52,7 @@
         errorLine2="                        ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/androidMain/kotlin/androidx/compose/ui/test/junit4/android/ComposeRootRegistry.android.kt"
-            line="60"
+            line="59"
             column="25"/>
     </issue>
 
@@ -63,7 +63,7 @@
         errorLine2="                     ~~~~">
         <location
             file="src/androidMain/kotlin/androidx/compose/ui/test/junit4/android/ComposeRootRegistry.android.kt"
-            line="88"
+            line="87"
             column="22"/>
     </issue>
 
@@ -71,11 +71,11 @@
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
         errorLine1="            if (composeRoot == this.composeRoot &amp;&amp; !registered) {"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        errorLine2="                            ~~">
         <location
             file="src/androidMain/kotlin/androidx/compose/ui/test/junit4/android/ComposeRootRegistry.android.kt"
-            line="223"
-            column="17"/>
+            line="222"
+            column="29"/>
     </issue>
 
     <issue
diff --git a/compose/ui/ui-test-manifest/integration-tests/testapp/lint-baseline.xml b/compose/ui/ui-test-manifest/integration-tests/testapp/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/ui/ui-test-manifest/integration-tests/testapp/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/ui/ui-test-manifest/lint-baseline.xml b/compose/ui/ui-test-manifest/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/compose/ui/ui-test-manifest/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/compose/ui/ui-test/lint-baseline.xml b/compose/ui/ui-test/lint-baseline.xml
index bb13e19..28795e1 100644
--- a/compose/ui/ui-test/lint-baseline.xml
+++ b/compose/ui/ui-test/lint-baseline.xml
@@ -59,12 +59,12 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="                it.view.getLocationOnScreen(array)"
-        errorLine2="                   ~~~~">
+        errorLine1="                root.view.getLocationOnScreen(array)"
+        errorLine2="                     ~~~~">
         <location
             file="src/androidMain/kotlin/androidx/compose/ui/test/AndroidInputDispatcher.android.kt"
-            line="183"
-            column="20"/>
+            line="221"
+            column="22"/>
     </issue>
 
     <issue
@@ -74,7 +74,7 @@
         errorLine2="                     ~~~~">
         <location
             file="src/androidMain/kotlin/androidx/compose/ui/test/AndroidInputDispatcher.android.kt"
-            line="254"
+            line="306"
             column="22"/>
     </issue>
 
diff --git a/compose/ui/ui-text/benchmark/lint-baseline.xml b/compose/ui/ui-text/benchmark/lint-baseline.xml
index 96b875a..1f8fb4e 100644
--- a/compose/ui/ui-text/benchmark/lint-baseline.xml
+++ b/compose/ui/ui-text/benchmark/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
         id="SoonBlockedPrivateApi"
diff --git a/compose/ui/ui-text/lint-baseline.xml b/compose/ui/ui-text/lint-baseline.xml
index 78070ef..5490239 100644
--- a/compose/ui/ui-text/lint-baseline.xml
+++ b/compose/ui/ui-text/lint-baseline.xml
@@ -1,16 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 26 (current min is 21): `Font`"
-        errorLine1="            val font = Font(ParcelFileDescriptor.dup(inputStream.fd)) as AndroidFont"
-        errorLine2="                       ~~~~">
-        <location
-            file="src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/AndroidFontTest.kt"
-            line="85"
-            column="24"/>
-    </issue>
+<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">
 
     <issue
         id="NewApi"
@@ -23,4 +12,70 @@
             column="30"/>
     </issue>
 
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFont.kt"
+            line="133"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidFontListTypeface.android.kt"
+            line="160"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="36"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="43"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(api = 18)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../../../text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.kt"
+            line="296"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 28 here from outer annotations"
+        errorLine1="    @RequiresApi(28)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/TypefaceAdapter.android.kt"
+            line="271"
+            column="5"/>
+    </issue>
+
 </issues>
diff --git a/compose/ui/ui-text/samples/lint-baseline.xml b/compose/ui/ui-text/samples/lint-baseline.xml
new file mode 100644
index 0000000..5535c9a
--- /dev/null
+++ b/compose/ui/ui-text/samples/lint-baseline.xml
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="140"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="145"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="149"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="153"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="158"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="162"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="166"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="170"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="174"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="186"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="191"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="196"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="206"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.LOLLIPOP)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="136"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="1311"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat.android.kt"
+            line="2557"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFont.kt"
+            line="133"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidFontListTypeface.android.kt"
+            line="160"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoader.android.kt"
+            line="52"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="82"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="95"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="36"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="43"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeLayer.android.kt"
+            line="93"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(api = 18)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../../../text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.kt"
+            line="296"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 28 here from outer annotations"
+        errorLine1="    @RequiresApi(28)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/TypefaceAdapter.android.kt"
+            line="271"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.android.kt"
+            line="97"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.Q)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/Wrapper.android.kt"
+            line="214"
+            column="5"/>
+    </issue>
+
+</issues>
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/TextOverflow.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/TextOverflow.kt
index 5e680f6..a627401 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/TextOverflow.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/TextOverflow.kt
@@ -16,6 +16,8 @@
 
 package androidx.compose.ui.text.style
 
+import androidx.compose.runtime.Stable
+
 /** How overflowing text should be handled. */
 @Suppress("INLINE_CLASS_DEPRECATED")
 inline class TextOverflow internal constructor(internal val value: Int) {
@@ -34,12 +36,14 @@
          * Clip the overflowing text to fix its container.
          * @sample androidx.compose.ui.text.samples.TextOverflowClipSample
          */
+        @Stable
         val Clip = TextOverflow(1)
 
         /**
          * Use an ellipsis to indicate that the text has overflowed.
          * @sample androidx.compose.ui.text.samples.TextOverflowEllipsisSample
          */
+        @Stable
         val Ellipsis = TextOverflow(2)
 
         /**
@@ -61,6 +65,7 @@
          * Note: text that expands past its bounds using `Visible` may be clipped by other modifiers
          * such as `Modifier.clipToBounds`.
          */
+        @Stable
         val Visible = TextOverflow(3)
     }
 }
\ No newline at end of file
diff --git a/compose/ui/ui-tooling-data/lint-baseline.xml b/compose/ui/ui-tooling-data/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/ui/ui-tooling-data/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/ui/ui-tooling-preview/lint-baseline.xml b/compose/ui/ui-tooling-preview/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/ui/ui-tooling-preview/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/ui/ui-tooling/lint-baseline.xml b/compose/ui/ui-tooling/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/ui/ui-tooling/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/ui/ui-unit/lint-baseline.xml b/compose/ui/ui-unit/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/ui/ui-unit/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/ui/ui-unit/samples/lint-baseline.xml b/compose/ui/ui-unit/samples/lint-baseline.xml
new file mode 100644
index 0000000..5535c9a
--- /dev/null
+++ b/compose/ui/ui-unit/samples/lint-baseline.xml
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="140"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="145"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="149"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="153"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="158"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="162"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="166"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="170"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="174"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="186"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="191"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="196"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="206"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.LOLLIPOP)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="136"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="1311"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat.android.kt"
+            line="2557"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFont.kt"
+            line="133"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidFontListTypeface.android.kt"
+            line="160"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoader.android.kt"
+            line="52"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="82"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="95"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="36"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="43"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeLayer.android.kt"
+            line="93"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(api = 18)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../../../text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.kt"
+            line="296"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 28 here from outer annotations"
+        errorLine1="    @RequiresApi(28)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/TypefaceAdapter.android.kt"
+            line="271"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.android.kt"
+            line="97"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.Q)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/Wrapper.android.kt"
+            line="214"
+            column="5"/>
+    </issue>
+
+</issues>
diff --git a/compose/ui/ui-util/lint-baseline.xml b/compose/ui/ui-util/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/ui/ui-util/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/ui/ui-viewbinding/lint-baseline.xml b/compose/ui/ui-viewbinding/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/ui/ui-viewbinding/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/ui/ui-viewbinding/samples/lint-baseline.xml b/compose/ui/ui-viewbinding/samples/lint-baseline.xml
new file mode 100644
index 0000000..5535c9a
--- /dev/null
+++ b/compose/ui/ui-viewbinding/samples/lint-baseline.xml
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="140"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="145"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="149"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="153"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="158"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="162"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="166"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="170"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="174"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="186"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="191"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="196"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="206"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.LOLLIPOP)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="136"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="1311"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat.android.kt"
+            line="2557"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFont.kt"
+            line="133"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidFontListTypeface.android.kt"
+            line="160"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoader.android.kt"
+            line="52"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="82"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="95"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="36"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="43"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeLayer.android.kt"
+            line="93"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(api = 18)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../../../text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.kt"
+            line="296"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 28 here from outer annotations"
+        errorLine1="    @RequiresApi(28)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/TypefaceAdapter.android.kt"
+            line="271"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.android.kt"
+            line="97"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.Q)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/Wrapper.android.kt"
+            line="214"
+            column="5"/>
+    </issue>
+
+</issues>
diff --git a/compose/ui/ui/benchmark/lint-baseline.xml b/compose/ui/ui/benchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/ui/ui/benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/ui/ui/build.gradle b/compose/ui/ui/build.gradle
index 9e23be3..82273c8 100644
--- a/compose/ui/ui/build.gradle
+++ b/compose/ui/ui/build.gradle
@@ -160,7 +160,7 @@
                 dependsOn(jvmMain)
             }
 
-            test.dependencies {
+            androidTest.dependencies {
                 implementation(libs.testRules)
                 implementation(libs.testRunner)
                 implementation(libs.kotlinCoroutinesTest)
diff --git a/compose/ui/ui/integration-tests/ui-demos/lint-baseline.xml b/compose/ui/ui/integration-tests/ui-demos/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/compose/ui/ui/integration-tests/ui-demos/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/UiDemos.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/UiDemos.kt
index f76c743..b19fa00 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/UiDemos.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/UiDemos.kt
@@ -55,6 +55,7 @@
 import androidx.compose.ui.demos.input.TouchModeDemo
 import androidx.compose.ui.demos.scroll.BringIntoViewDemo
 import androidx.compose.ui.demos.keyinput.KeyInputDemo
+import androidx.compose.ui.demos.keyinput.InterceptEnterToSendMessageDemo
 import androidx.compose.ui.demos.modifier.CommunicatingModifierDemo
 import androidx.compose.ui.demos.scroll.BringRectangleIntoViewDemo
 import androidx.compose.ui.demos.scroll.RequestRectangleOnScreenDemo
@@ -135,6 +136,14 @@
     )
 )
 
+private val KeyInputDemos = DemoCategory(
+    "KeyInput",
+    listOf(
+        ComposableDemo("onKeyEvent") { KeyInputDemo() },
+        ComposableDemo("onPreviewKeyEvent") { InterceptEnterToSendMessageDemo() },
+    )
+)
+
 private val GraphicsDemos = DemoCategory(
     "Graphics",
     listOf(
@@ -177,7 +186,7 @@
         ModifierDemos,
         ComposableDemo("Explicit autofill types") { ExplicitAutofillTypesDemo() },
         FocusDemos,
-        ComposableDemo("KeyInput") { KeyInputDemo() },
+        KeyInputDemos,
         ComposableDemo("TouchMode") { TouchModeDemo() },
         ComposableDemo("Multiple collects measure") { MultipleCollectTest() },
         ComposableDemo("Dialog") { DialogDemo() },
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/keyinput/InterceptEnterToSendMessageDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/keyinput/InterceptEnterToSendMessageDemo.kt
new file mode 100644
index 0000000..52bcfa6
--- /dev/null
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/keyinput/InterceptEnterToSendMessageDemo.kt
@@ -0,0 +1,104 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.ui.demos.keyinput
+
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Spacer
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.padding
+import androidx.compose.material.OutlinedTextField
+import androidx.compose.material.Scaffold
+import androidx.compose.material.Text
+import androidx.compose.material.rememberScaffoldState
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.rememberCoroutineScope
+import androidx.compose.runtime.setValue
+import androidx.compose.ui.ExperimentalComposeUiApi
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.input.key.Key
+import androidx.compose.ui.input.key.KeyEventType.Companion.KeyDown
+import androidx.compose.ui.input.key.isCtrlPressed
+import androidx.compose.ui.input.key.isShiftPressed
+import androidx.compose.ui.input.key.key
+import androidx.compose.ui.input.key.onPreviewKeyEvent
+import androidx.compose.ui.input.key.type
+import androidx.compose.ui.text.TextRange
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.unit.dp
+import kotlinx.coroutines.launch
+
+@Composable
+fun InterceptEnterToSendMessageDemo() {
+    val scaffoldState = rememberScaffoldState()
+    val coroutineScope = rememberCoroutineScope()
+    var textFieldValue by remember { mutableStateOf(TextFieldValue("")) }
+    Scaffold(scaffoldState = scaffoldState) {
+        Column {
+            Text(
+                text = "Use a physical keyboard with this demo. As you enter text into this " +
+                    "textfield, notice how the enter key is intercepted to show a snackbar." +
+                    "You can use Ctrl+Enter or Shift+Enter to start a new line."
+            )
+            Spacer(modifier = Modifier.height(30.dp))
+            OutlinedTextField(
+                value = textFieldValue,
+                onValueChange = { textFieldValue = it },
+                modifier = Modifier
+                    .padding(10.dp)
+                    .fillMaxSize()
+                    .onPreviewKeyEvent {
+                    @OptIn(ExperimentalComposeUiApi::class)
+                    // Intercept all the "Enter" key events.
+                    if (it.key == Key.Enter && it.type == KeyDown) {
+                        // If this is a ctrl or shift key is pressed, we want to enter a new line.
+                        // Sending ctrl+enter or shift+enter to the text field does not generate a
+                        // new line, so we have to add the new line ourselves.
+                        if (it.isCtrlPressed || it.isShiftPressed) {
+                            textFieldValue = textFieldValue.insertString("\n")
+                        } else {
+                            // Perform Send Message and clear the textfield.
+                            coroutineScope.launch {
+                                scaffoldState.snackbarHostState.showSnackbar("Message is sent")
+                            }
+                            textFieldValue = TextFieldValue("")
+                        }
+                        // Consume the key event so that it is not propagated further.
+                        true
+                    } else {
+                        // Let all other key events pass through.
+                        false
+                    }
+                },
+                textStyle = TextStyle(color = Color.Blue)
+            )
+        }
+    }
+}
+
+private fun TextFieldValue.insertString(value: String): TextFieldValue {
+    val cursorLocation = selection.start + value.length
+    return copy(
+        annotatedString.replaceRange(selection.start, selection.end, value).toString(),
+        TextRange(cursorLocation, cursorLocation)
+    )
+}
\ No newline at end of file
diff --git a/compose/ui/ui/lint-baseline.xml b/compose/ui/ui/lint-baseline.xml
index 766adbc..6b7188f 100644
--- a/compose/ui/ui/lint-baseline.xml
+++ b/compose/ui/ui/lint-baseline.xml
@@ -628,4 +628,246 @@
             column="36"/>
     </issue>
 
+ <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="140"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="145"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="149"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="153"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="158"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="162"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="166"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="170"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="174"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="186"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="191"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="196"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="206"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.LOLLIPOP)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="136"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="1311"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat.android.kt"
+            line="2557"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoader.android.kt"
+            line="52"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="82"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="95"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeLayer.android.kt"
+            line="93"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.android.kt"
+            line="97"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.Q)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/Wrapper.android.kt"
+            line="214"
+            column="5"/>
+    </issue>
+
 </issues>
diff --git a/compose/ui/ui/samples/lint-baseline.xml b/compose/ui/ui/samples/lint-baseline.xml
new file mode 100644
index 0000000..5535c9a
--- /dev/null
+++ b/compose/ui/ui/samples/lint-baseline.xml
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="140"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="145"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="149"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="153"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="158"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="162"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="166"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="170"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="174"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="186"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="191"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="196"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="206"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.LOLLIPOP)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="136"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="1311"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat.android.kt"
+            line="2557"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFont.kt"
+            line="133"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidFontListTypeface.android.kt"
+            line="160"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoader.android.kt"
+            line="52"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="82"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="95"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="36"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="43"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeLayer.android.kt"
+            line="93"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(api = 18)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../../../text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.kt"
+            line="296"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 28 here from outer annotations"
+        errorLine1="    @RequiresApi(28)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/TypefaceAdapter.android.kt"
+            line="271"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.android.kt"
+            line="97"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.Q)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/Wrapper.android.kt"
+            line="214"
+            column="5"/>
+    </issue>
+
+</issues>
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/SnapshotFlowTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/SnapshotFlowTest.kt
new file mode 100644
index 0000000..b1d5933
--- /dev/null
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/SnapshotFlowTest.kt
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.ui
+
+import androidx.compose.runtime.LaunchedEffect
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.snapshotFlow
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import kotlinx.coroutines.InternalCoroutinesApi
+import kotlinx.coroutines.flow.collect
+import org.junit.Assert.assertEquals
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@SmallTest // Regression test for b/202398857
+@RunWith(AndroidJUnit4::class)
+class SnapshotFlowTest {
+
+    @get:Rule
+    val rule = createComposeRule()
+
+    @OptIn(InternalCoroutinesApi::class)
+    @Test
+    fun changingValueInLaunchedEffectAndUsingSnapshotFlow() {
+        val state = mutableStateOf(0)
+
+        var lastComposedValue: Int? = null
+
+        rule.setContent {
+            LaunchedEffect(Unit) {
+                state.value = 1
+            }
+
+            lastComposedValue = state.value
+
+            LaunchedEffect(state) {
+                snapshotFlow { state.value }.collect { }
+            }
+        }
+
+        rule.runOnIdle {
+            assertEquals(1, lastComposedValue)
+        }
+    }
+}
\ No newline at end of file
diff --git a/concurrent/concurrent-futures-ktx/lint-baseline.xml b/concurrent/concurrent-futures-ktx/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/concurrent/concurrent-futures-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/concurrent/concurrent-futures/lint-baseline.xml b/concurrent/concurrent-futures/lint-baseline.xml
index 1e1f597..35bd4e7 100644
--- a/concurrent/concurrent-futures/lint-baseline.xml
+++ b/concurrent/concurrent-futures/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="BanSynchronizedMethods"
diff --git a/contentpager/contentpager/lint-baseline.xml b/contentpager/contentpager/lint-baseline.xml
index 16ff690..81f9eb3 100644
--- a/contentpager/contentpager/lint-baseline.xml
+++ b/contentpager/contentpager/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
@@ -41,7 +41,7 @@
         errorLine2="                            ~~~~~~~~">
         <location
             file="src/main/java/androidx/contentpager/content/ContentPager.java"
-            line="500"
+            line="504"
             column="29"/>
     </issue>
 
@@ -96,7 +96,7 @@
         errorLine2="                        ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/contentpager/content/ContentPager.java"
-            line="214"
+            line="218"
             column="25"/>
     </issue>
 
@@ -107,7 +107,7 @@
         errorLine2="                                                  ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/contentpager/content/ContentPager.java"
-            line="214"
+            line="218"
             column="51"/>
     </issue>
 
diff --git a/coordinatorlayout/coordinatorlayout/lint-baseline.xml b/coordinatorlayout/coordinatorlayout/lint-baseline.xml
index a8c4079..d2f704f 100644
--- a/coordinatorlayout/coordinatorlayout/lint-baseline.xml
+++ b/coordinatorlayout/coordinatorlayout/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
@@ -224,7 +224,7 @@
     <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 onNestedScrollAccepted(View child, View target, int nestedScrollAxes) {"
+        errorLine1="    public void onNestedScrollAccepted(View child, View target, int axes) {"
         errorLine2="                                       ~~~~">
         <location
             file="src/main/java/androidx/coordinatorlayout/widget/CoordinatorLayout.java"
@@ -235,7 +235,7 @@
     <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 onNestedScrollAccepted(View child, View target, int nestedScrollAxes) {"
+        errorLine1="    public void onNestedScrollAccepted(View child, View target, int axes) {"
         errorLine2="                                                   ~~~~">
         <location
             file="src/main/java/androidx/coordinatorlayout/widget/CoordinatorLayout.java"
@@ -246,7 +246,7 @@
     <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 onNestedScrollAccepted(View child, View target, int nestedScrollAxes, int type) {"
+        errorLine1="    public void onNestedScrollAccepted(View child, View target, int axes, int type) {"
         errorLine2="                                       ~~~~">
         <location
             file="src/main/java/androidx/coordinatorlayout/widget/CoordinatorLayout.java"
@@ -257,7 +257,7 @@
     <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 onNestedScrollAccepted(View child, View target, int nestedScrollAxes, int type) {"
+        errorLine1="    public void onNestedScrollAccepted(View child, View target, int axes, int type) {"
         errorLine2="                                                   ~~~~">
         <location
             file="src/main/java/androidx/coordinatorlayout/widget/CoordinatorLayout.java"
diff --git a/core/core-animation-integration-tests/testapp/lint-baseline.xml b/core/core-animation-integration-tests/testapp/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/core/core-animation-integration-tests/testapp/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/core/core-animation-testing/lint-baseline.xml b/core/core-animation-testing/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/core/core-animation-testing/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/core/core-animation/lint-baseline.xml b/core/core-animation/lint-baseline.xml
index 7ea9925..ad51834 100644
--- a/core/core-animation/lint-baseline.xml
+++ b/core/core-animation/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ResourceType"
diff --git a/core/core-appdigest/lint-baseline.xml b/core/core-appdigest/lint-baseline.xml
index 0ca1950..d764360 100644
--- a/core/core-appdigest/lint-baseline.xml
+++ b/core/core-appdigest/lint-baseline.xml
@@ -23,59 +23,4 @@
             column="35"/>
     </issue>
 
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 31; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                                checksums[i] = new Checksum(apkChecksum.getSplitName(),"
-        errorLine2="                                                                        ~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/core/appdigest/ChecksumsApiSImpl.java"
-            line="121"
-            column="73"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 31; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                                        apkChecksum.getType(), apkChecksum.getValue(),"
-        errorLine2="                                                    ~~~~~~~">
-        <location
-            file="src/main/java/androidx/core/appdigest/ChecksumsApiSImpl.java"
-            line="122"
-            column="53"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 31; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                                        apkChecksum.getType(), apkChecksum.getValue(),"
-        errorLine2="                                                                           ~~~~~~~~">
-        <location
-            file="src/main/java/androidx/core/appdigest/ChecksumsApiSImpl.java"
-            line="122"
-            column="76"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 31; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                                        apkChecksum.getInstallerPackageName(),"
-        errorLine2="                                                    ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/core/appdigest/ChecksumsApiSImpl.java"
-            line="123"
-            column="53"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 31; however, the containing class null is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                                        apkChecksum.getInstallerCertificate());"
-        errorLine2="                                                    ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/core/appdigest/ChecksumsApiSImpl.java"
-            line="124"
-            column="53"/>
-    </issue>
-
 </issues>
diff --git a/core/core-google-shortcuts/lint-baseline.xml b/core/core-google-shortcuts/lint-baseline.xml
index cf82732..2fe7f0fb 100644
--- a/core/core-google-shortcuts/lint-baseline.xml
+++ b/core/core-google-shortcuts/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
@@ -8,7 +8,7 @@
         errorLine2="                        ~~~~~~">
         <location
             file="src/androidTest/java/androidx/core/google/shortcuts/ShortcutInfoChangeListenerImplTest.java"
-            line="274"
+            line="272"
             column="25"/>
     </issue>
 
@@ -19,7 +19,7 @@
         errorLine2="                                                                          ~~~~~~">
         <location
             file="src/androidTest/java/androidx/core/google/shortcuts/ShortcutInfoChangeListenerImplTest.java"
-            line="274"
+            line="272"
             column="75"/>
     </issue>
 
@@ -30,7 +30,7 @@
         errorLine2="                                                       ~~~~~~~">
         <location
             file="src/androidTest/java/androidx/core/google/shortcuts/ShortcutInfoChangeListenerImplTest.java"
-            line="274"
+            line="272"
             column="56"/>
     </issue>
 
@@ -41,7 +41,7 @@
         errorLine2="                                 ~~~">
         <location
             file="src/androidTest/java/androidx/core/google/shortcuts/ShortcutInfoChangeListenerImplTest.java"
-            line="274"
+            line="272"
             column="34"/>
     </issue>
 
@@ -52,7 +52,7 @@
         errorLine2="                                                               ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/androidTest/java/androidx/core/google/shortcuts/ShortcutInfoChangeListenerImplTest.java"
-            line="274"
+            line="272"
             column="64"/>
     </issue>
 
diff --git a/core/core-ktx/lint-baseline.xml b/core/core-ktx/lint-baseline.xml
index 1d0ea88..5467d6f 100644
--- a/core/core-ktx/lint-baseline.xml
+++ b/core/core-ktx/lint-baseline.xml
@@ -1,345 +1,48 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertNull(bundle[&quot;null&quot;])"
-        errorLine2="                   ~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="82"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertEquals(true, bundle[&quot;boolean&quot;])"
-        errorLine2="                           ~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="84"
-            column="28"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertEquals(1.toByte(), bundle[&quot;byte&quot;])"
-        errorLine2="                                 ~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="85"
-            column="34"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertEquals(&apos;a&apos;, bundle[&quot;char&quot;])"
-        errorLine2="                          ~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="86"
-            column="27"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertEquals(1.0, bundle[&quot;double&quot;])"
-        errorLine2="                          ~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="87"
-            column="27"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertEquals(1f, bundle[&quot;float&quot;])"
-        errorLine2="                         ~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="88"
-            column="26"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertEquals(1, bundle[&quot;int&quot;])"
-        errorLine2="                        ~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="89"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertEquals(1L, bundle[&quot;long&quot;])"
-        errorLine2="                         ~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="90"
-            column="26"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertEquals(1.toShort(), bundle[&quot;short&quot;])"
-        errorLine2="                                  ~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="91"
-            column="35"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertSame(bundleValue, bundle[&quot;bundle&quot;])"
-        errorLine2="                                ~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="93"
-            column="33"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertSame(charSequenceValue, bundle[&quot;charSequence&quot;])"
-        errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="94"
-            column="39"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertSame(parcelableValue, bundle[&quot;parcelable&quot;])"
-        errorLine2="                                    ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="95"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertArrayEquals(booleanArrayOf(), bundle[&quot;booleanArray&quot;] as BooleanArray)"
-        errorLine2="                                            ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="97"
-            column="45"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertArrayEquals(byteArrayOf(), bundle[&quot;byteArray&quot;] as ByteArray)"
-        errorLine2="                                         ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="98"
-            column="42"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertArrayEquals(charArrayOf(), bundle[&quot;charArray&quot;] as CharArray)"
-        errorLine2="                                         ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="99"
-            column="42"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertArrayEquals(doubleArrayOf(), bundle[&quot;doubleArray&quot;] as DoubleArray, 0.0)"
-        errorLine2="                                           ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="100"
-            column="44"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertArrayEquals(floatArrayOf(), bundle[&quot;floatArray&quot;] as FloatArray, 0f)"
-        errorLine2="                                          ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="101"
-            column="43"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertArrayEquals(intArrayOf(), bundle[&quot;intArray&quot;] as IntArray)"
-        errorLine2="                                        ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="102"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertArrayEquals(longArrayOf(), bundle[&quot;longArray&quot;] as LongArray)"
-        errorLine2="                                         ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="103"
-            column="42"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertArrayEquals(shortArrayOf(), bundle[&quot;shortArray&quot;] as ShortArray)"
-        errorLine2="                                          ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="104"
-            column="43"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertThat(bundle[&quot;parcelableArray&quot;] as Array&lt;*>).asList().containsExactly(parcelableValue)"
-        errorLine2="                   ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="106"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertThat(bundle[&quot;stringArray&quot;] as Array&lt;*>).asList().containsExactly(&quot;hey&quot;)"
-        errorLine2="                   ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="107"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertThat(bundle[&quot;charSequenceArray&quot;] as Array&lt;*>).asList().containsExactly(&quot;hey&quot;)"
-        errorLine2="                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="108"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertThat(bundle[&quot;serializableArray&quot;] as Array&lt;*>).asList()"
-        errorLine2="                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="109"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertSame(serializableValue, bundle[&quot;serializable&quot;])"
-        errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="112"
-            column="39"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 18): `android.os.BaseBundle#get`"
-        errorLine1="        assertSame(binderValue, bundle[&quot;binder&quot;])"
-        errorLine2="                                ~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/os/BundleTest.kt"
-            line="119"
-            column="33"/>
-    </issue>
+<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">
 
     <issue
         id="NewApi"
         message="Call requires API level 30 (current min is 14): `android.util.SparseArray#contains`"
         errorLine1="        assertFalse(1 in array)"
-        errorLine2="                    ~~~~~~~~~~">
+        errorLine2="                      ~~">
         <location
             file="src/androidTest/java/androidx/core/util/SparseArrayTest.kt"
             line="42"
-            column="21"/>
+            column="23"/>
     </issue>
 
     <issue
         id="NewApi"
         message="Call requires API level 30 (current min is 14): `android.util.SparseArray#contains`"
         errorLine1="        assertTrue(1 in array)"
-        errorLine2="                   ~~~~~~~~~~">
+        errorLine2="                     ~~">
         <location
             file="src/androidTest/java/androidx/core/util/SparseArrayTest.kt"
             line="44"
-            column="20"/>
+            column="22"/>
     </issue>
 
     <issue
         id="NewApi"
         message="Call requires API level 30 (current min is 14): `android.util.SparseArray#contains`"
         errorLine1="        assertFalse(2 in array)"
-        errorLine2="                    ~~~~~~~~~~">
+        errorLine2="                      ~~">
         <location
             file="src/androidTest/java/androidx/core/util/SparseArrayTest.kt"
             line="52"
-            column="21"/>
+            column="23"/>
     </issue>
 
     <issue
         id="NewApi"
         message="Call requires API level 30 (current min is 14): `android.util.SparseArray#contains`"
         errorLine1="        assertTrue(2 in array)"
-        errorLine2="                   ~~~~~~~~~~">
+        errorLine2="                     ~~">
         <location
             file="src/androidTest/java/androidx/core/util/SparseArrayTest.kt"
             line="55"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level S (current min is 14): `android.util.SparseArray#set`"
-        errorLine1="        array[1] = &quot;one&quot;"
-        errorLine2="        ~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/core/util/SparseArrayTest.kt"
-            line="61"
-            column="9"/>
+            column="22"/>
     </issue>
 
     <issue
diff --git a/core/core-remoteviews/OWNERS b/core/core-remoteviews/OWNERS
new file mode 100644
index 0000000..a64f71a
--- /dev/null
+++ b/core/core-remoteviews/OWNERS
@@ -0,0 +1,2 @@
[email protected]
[email protected]
\ No newline at end of file
diff --git a/core/core-remoteviews/api/current.txt b/core/core-remoteviews/api/current.txt
index 8cce5c4..ccdf70f 100644
--- a/core/core-remoteviews/api/current.txt
+++ b/core/core-remoteviews/api/current.txt
@@ -230,7 +230,7 @@
     method public static void setViewBackgroundColor(android.widget.RemoteViews, @IdRes int viewId, @ColorInt int color);
     method @RequiresApi(31) public static void setViewBackgroundColor(android.widget.RemoteViews, @IdRes int viewId, @ColorInt int notNight, @ColorInt int night);
     method @RequiresApi(31) public static void setViewBackgroundColorAttr(android.widget.RemoteViews, @IdRes int viewId, @AttrRes int resId);
-    method @RequiresApi(31) public static void setViewBackgroundColorResource(android.widget.RemoteViews, @IdRes int viewId, @ColorRes int resId);
+    method public static void setViewBackgroundColorResource(android.widget.RemoteViews, @IdRes int viewId, @ColorRes int resId);
     method public static void setViewBackgroundResource(android.widget.RemoteViews, @IdRes int viewId, @DrawableRes int resId);
     method @RequiresApi(31) public static void setViewBackgroundTintBlendMode(android.widget.RemoteViews, @IdRes int viewId, android.graphics.BlendMode? blendMode);
     method @RequiresApi(31) public static void setViewBackgroundTintList(android.widget.RemoteViews, @IdRes int viewId, android.content.res.ColorStateList? tint);
diff --git a/core/core-remoteviews/api/public_plus_experimental_current.txt b/core/core-remoteviews/api/public_plus_experimental_current.txt
index 8cce5c4..ccdf70f 100644
--- a/core/core-remoteviews/api/public_plus_experimental_current.txt
+++ b/core/core-remoteviews/api/public_plus_experimental_current.txt
@@ -230,7 +230,7 @@
     method public static void setViewBackgroundColor(android.widget.RemoteViews, @IdRes int viewId, @ColorInt int color);
     method @RequiresApi(31) public static void setViewBackgroundColor(android.widget.RemoteViews, @IdRes int viewId, @ColorInt int notNight, @ColorInt int night);
     method @RequiresApi(31) public static void setViewBackgroundColorAttr(android.widget.RemoteViews, @IdRes int viewId, @AttrRes int resId);
-    method @RequiresApi(31) public static void setViewBackgroundColorResource(android.widget.RemoteViews, @IdRes int viewId, @ColorRes int resId);
+    method public static void setViewBackgroundColorResource(android.widget.RemoteViews, @IdRes int viewId, @ColorRes int resId);
     method public static void setViewBackgroundResource(android.widget.RemoteViews, @IdRes int viewId, @DrawableRes int resId);
     method @RequiresApi(31) public static void setViewBackgroundTintBlendMode(android.widget.RemoteViews, @IdRes int viewId, android.graphics.BlendMode? blendMode);
     method @RequiresApi(31) public static void setViewBackgroundTintList(android.widget.RemoteViews, @IdRes int viewId, android.content.res.ColorStateList? tint);
diff --git a/core/core-remoteviews/api/restricted_current.txt b/core/core-remoteviews/api/restricted_current.txt
index 12ac8fa..6f8884a 100644
--- a/core/core-remoteviews/api/restricted_current.txt
+++ b/core/core-remoteviews/api/restricted_current.txt
@@ -234,7 +234,7 @@
     method public static void setViewBackgroundColor(android.widget.RemoteViews, @IdRes int viewId, @ColorInt int color);
     method @RequiresApi(31) public static void setViewBackgroundColor(android.widget.RemoteViews, @IdRes int viewId, @ColorInt int notNight, @ColorInt int night);
     method @RequiresApi(31) public static void setViewBackgroundColorAttr(android.widget.RemoteViews, @IdRes int viewId, @AttrRes int resId);
-    method @RequiresApi(31) public static void setViewBackgroundColorResource(android.widget.RemoteViews, @IdRes int viewId, @ColorRes int resId);
+    method public static void setViewBackgroundColorResource(android.widget.RemoteViews, @IdRes int viewId, @ColorRes int resId);
     method public static void setViewBackgroundResource(android.widget.RemoteViews, @IdRes int viewId, @DrawableRes int resId);
     method @RequiresApi(31) public static void setViewBackgroundTintBlendMode(android.widget.RemoteViews, @IdRes int viewId, android.graphics.BlendMode? blendMode);
     method @RequiresApi(31) public static void setViewBackgroundTintList(android.widget.RemoteViews, @IdRes int viewId, android.content.res.ColorStateList? tint);
diff --git a/core/core-remoteviews/build.gradle b/core/core-remoteviews/build.gradle
index fce25da..558d4ea 100644
--- a/core/core-remoteviews/build.gradle
+++ b/core/core-remoteviews/build.gradle
@@ -43,6 +43,7 @@
     testImplementation(libs.testCore)
     testImplementation(libs.testRunner)
     testImplementation(libs.junit)
+    testImplementation(libs.kotlinTest)
     testImplementation(libs.robolectric)
     testImplementation(libs.truth)
 }
diff --git a/core/core-remoteviews/lint-baseline.xml b/core/core-remoteviews/lint-baseline.xml
index d145d5e..753898d 100644
--- a/core/core-remoteviews/lint-baseline.xml
+++ b/core/core-remoteviews/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
diff --git a/core/core-remoteviews/src/main/java/androidx/core/widget/RemoteViews.kt b/core/core-remoteviews/src/main/java/androidx/core/widget/RemoteViews.kt
index 07aef1b..3679b7e 100644
--- a/core/core-remoteviews/src/main/java/androidx/core/widget/RemoteViews.kt
+++ b/core/core-remoteviews/src/main/java/androidx/core/widget/RemoteViews.kt
@@ -2474,9 +2474,13 @@
  * @param viewId The id of the target view
  * @param resId A color resource for the background.
  */
-@RequiresApi(31)
 public fun RemoteViews.setViewBackgroundColorResource(@IdRes viewId: Int, @ColorRes resId: Int) {
-    Api31Impl.setColor(this, viewId, "setBackgroundColor", resId)
+    if (Build.VERSION.SDK_INT >= 31) {
+        Api31Impl.setColor(this, viewId, "setBackgroundColor", resId)
+    } else {
+        // It's valid to pass @ColorRes to Context.getDrawable, it will return a ColorDrawable.
+        setInt(viewId, "setBackgroundResource", resId)
+    }
 }
 
 /**
diff --git a/core/core-remoteviews/src/test/java/androidx/core/widget/RemoteViewsTest.kt b/core/core-remoteviews/src/test/java/androidx/core/widget/RemoteViewsTest.kt
index 50bf7be..e4e805d 100644
--- a/core/core-remoteviews/src/test/java/androidx/core/widget/RemoteViewsTest.kt
+++ b/core/core-remoteviews/src/test/java/androidx/core/widget/RemoteViewsTest.kt
@@ -16,6 +16,8 @@
 package androidx.core.widget
 import android.content.Context
 import android.content.res.Configuration
+import android.graphics.Color
+import android.graphics.drawable.ColorDrawable
 import android.text.SpannableString
 import android.text.SpannedString
 import android.text.style.UnderlineSpan
@@ -37,6 +39,7 @@
 import org.robolectric.annotation.Config
 import org.robolectric.annotation.internal.DoNotInstrument
 import java.util.Locale
+import kotlin.test.assertIs
 
 @RunWith(RobolectricTestRunner::class)
 @DoNotInstrument
@@ -127,6 +130,17 @@
         assertThat(mLinearLayout.weightSum).isEqualTo(4.2f)
     }
 
+    @Test
+    fun setViewBackgroundColorResource() {
+        mRemoteViews.setViewBackgroundColorResource(R.id.text, R.color.my_color)
+
+        reapplyRemoteViews()
+
+        val background = mTextView.background
+        assertIs<ColorDrawable>(background)
+        assertThat(background.color).isEqualTo(Color.RED)
+    }
+
     // Note: createConfigurationContext was added in API 17, but only seems to work properly in
     // Robolectric from API 21.
     @RequiresApi(21)
diff --git a/core/core-remoteviews/src/test/res/values/colors.xml b/core/core-remoteviews/src/test/res/values/colors.xml
new file mode 100644
index 0000000..0841521
--- /dev/null
+++ b/core/core-remoteviews/src/test/res/values/colors.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  Copyright 2021 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<resources>
+    <color name="my_color">#FFFF0000</color>
+</resources>
diff --git a/core/core-role/lint-baseline.xml b/core/core-role/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/core/core-role/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/core/core-splashscreen/lint-baseline.xml b/core/core-splashscreen/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/core/core-splashscreen/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/core/core-splashscreen/samples/lint-baseline.xml b/core/core-splashscreen/samples/lint-baseline.xml
index 97c6707..ab4b0a5 100644
--- a/core/core-splashscreen/samples/lint-baseline.xml
+++ b/core/core-splashscreen/samples/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha07" type="baseline" client="gradle" dependencies="true" name="AGP (7.1.0-alpha07)" variant="all" version="7.1.0-alpha07">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="WrongConstant"
@@ -19,7 +19,7 @@
         errorLine2="                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="4707"
+            line="4755"
             column="47"/>
     </issue>
 
@@ -30,7 +30,7 @@
         errorLine2="                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="6327"
+            line="6375"
             column="31"/>
     </issue>
 
@@ -41,7 +41,7 @@
         errorLine2="                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="7360"
+            line="7408"
             column="35"/>
     </issue>
 
@@ -646,7 +646,7 @@
         errorLine2="                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/content/res/ResourcesCompat.java"
-            line="687"
+            line="704"
             column="29"/>
     </issue>
 
@@ -3170,6 +3170,160 @@
     </issue>
 
     <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 19 here from outer annotations"
+        errorLine1="    @RequiresApi(19)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/emoji2/viewsintegration/EmojiInputFilter.java"
+            line="99"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 19 here from outer annotations"
+        errorLine1="    @RequiresApi(19)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/emoji2/text/EmojiProcessor.java"
+            line="657"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 19 here from outer annotations"
+        errorLine1="    @RequiresApi(19)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/emoji2/viewsintegration/EmojiTextWatcher.java"
+            line="134"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 16 here from outer annotations"
+        errorLine1="            @RequiresApi(16)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="3195"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 16 here from outer annotations"
+        errorLine1="            @RequiresApi(16)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="3203"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="            @RequiresApi(23)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="3222"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 31 here from outer annotations"
+        errorLine1="            @RequiresApi(31)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="3241"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="            @RequiresApi(29)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="7142"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="            @RequiresApi(29)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="7181"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 30 here from outer annotations"
+        errorLine1="            @RequiresApi(30)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="7225"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 30 here from outer annotations"
+        errorLine1="            @RequiresApi(30)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="7266"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(21)"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/splashscreen/sample/SplashScreenSampleActivity.kt"
+            line="38"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="        @RequiresApi(21)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/view/WindowInsetsAnimationCompat.java"
+            line="689"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 30 here from outer annotations"
+        errorLine1="        @RequiresApi(30)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/view/WindowInsetsAnimationCompat.java"
+            line="962"
+            column="9"/>
+    </issue>
+
+    <issue
         id="KotlinPropertyAccess"
         message="The getter return type (`AccessibilityNodeInfoCompat`) and setter parameter type (`View`) getter and setter methods for property `parent` should have exactly the same type to allow be accessed as a property from Kotlin; see https://android.github.io/kotlin-guides/interop.html#property-prefixes"
         errorLine1="    public AccessibilityNodeInfoCompat getParent() {"
@@ -18085,7 +18239,7 @@
         errorLine2="               ~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="882"
+            line="892"
             column="16"/>
     </issue>
 
@@ -18096,7 +18250,7 @@
         errorLine2="               ~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="886"
+            line="896"
             column="16"/>
     </issue>
 
@@ -18107,7 +18261,7 @@
         errorLine2="               ~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="948"
+            line="958"
             column="16"/>
     </issue>
 
@@ -18118,7 +18272,7 @@
         errorLine2="               ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="2435"
+            line="2445"
             column="16"/>
     </issue>
 
@@ -18129,7 +18283,7 @@
         errorLine2="               ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="2443"
+            line="2453"
             column="16"/>
     </issue>
 
@@ -18140,7 +18294,7 @@
         errorLine2="               ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="2451"
+            line="2461"
             column="16"/>
     </issue>
 
@@ -18151,7 +18305,7 @@
         errorLine2="                  ~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="2519"
+            line="2529"
             column="19"/>
     </issue>
 
@@ -18162,7 +18316,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="2565"
+            line="2575"
             column="27"/>
     </issue>
 
@@ -18173,7 +18327,7 @@
         errorLine2="               ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="2581"
+            line="2591"
             column="16"/>
     </issue>
 
@@ -18184,7 +18338,7 @@
         errorLine2="                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="2581"
+            line="2591"
             column="44"/>
     </issue>
 
@@ -18195,7 +18349,7 @@
         errorLine2="               ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="2589"
+            line="2599"
             column="16"/>
     </issue>
 
@@ -18206,7 +18360,7 @@
         errorLine2="                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="2589"
+            line="2599"
             column="47"/>
     </issue>
 
@@ -18217,7 +18371,7 @@
         errorLine2="               ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="2597"
+            line="2607"
             column="16"/>
     </issue>
 
@@ -18228,7 +18382,7 @@
         errorLine2="                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="2597"
+            line="2607"
             column="51"/>
     </issue>
 
@@ -18239,7 +18393,7 @@
         errorLine2="               ~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="2908"
+            line="2918"
             column="16"/>
     </issue>
 
@@ -18250,7 +18404,7 @@
         errorLine2="                                         ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="2958"
+            line="2968"
             column="42"/>
     </issue>
 
@@ -18261,7 +18415,7 @@
         errorLine2="                ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="2959"
+            line="2969"
             column="17"/>
     </issue>
 
@@ -18272,7 +18426,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="3083"
+            line="3106"
             column="27"/>
     </issue>
 
@@ -18283,7 +18437,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="3278"
+            line="3326"
             column="27"/>
     </issue>
 
@@ -18294,7 +18448,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="3622"
+            line="3670"
             column="27"/>
     </issue>
 
@@ -18305,7 +18459,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="4182"
+            line="4230"
             column="27"/>
     </issue>
 
@@ -18316,7 +18470,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="4283"
+            line="4331"
             column="27"/>
     </issue>
 
@@ -18327,7 +18481,7 @@
         errorLine2="               ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="4294"
+            line="4342"
             column="16"/>
     </issue>
 
@@ -18338,7 +18492,7 @@
         errorLine2="                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="4294"
+            line="4342"
             column="44"/>
     </issue>
 
@@ -18349,7 +18503,7 @@
         errorLine2="               ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="4311"
+            line="4359"
             column="16"/>
     </issue>
 
@@ -18360,7 +18514,7 @@
         errorLine2="                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="4311"
+            line="4359"
             column="47"/>
     </issue>
 
@@ -18371,7 +18525,7 @@
         errorLine2="               ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="4332"
+            line="4380"
             column="16"/>
     </issue>
 
@@ -18382,7 +18536,7 @@
         errorLine2="                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="4332"
+            line="4380"
             column="51"/>
     </issue>
 
@@ -18393,7 +18547,7 @@
         errorLine2="               ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="4516"
+            line="4564"
             column="16"/>
     </issue>
 
@@ -18404,7 +18558,7 @@
         errorLine2="               ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/app/NotificationCompat.java"
-            line="4521"
+            line="4569"
             column="16"/>
     </issue>
 
@@ -19361,7 +19515,7 @@
         errorLine2="                                                     ~~~~~~~~">
         <location
             file="src/main/java/androidx/core/content/res/ResourcesCompat.java"
-            line="433"
+            line="437"
             column="54"/>
     </issue>
 
@@ -19372,7 +19526,7 @@
         errorLine2="                  ~~~~~~~~">
         <location
             file="src/main/java/androidx/core/content/res/ResourcesCompat.java"
-            line="502"
+            line="506"
             column="19"/>
     </issue>
 
@@ -19383,7 +19537,7 @@
         errorLine2="                                                                              ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/core/content/res/ResourcesCompat.java"
-            line="502"
+            line="506"
             column="79"/>
     </issue>
 
@@ -22023,7 +22177,7 @@
         errorLine2="                        ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="564"
+            line="576"
             column="25"/>
     </issue>
 
@@ -22034,7 +22188,7 @@
         errorLine2="                                          ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="564"
+            line="576"
             column="43"/>
     </issue>
 
@@ -22045,7 +22199,7 @@
         errorLine2="                        ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="638"
+            line="650"
             column="25"/>
     </issue>
 
@@ -22056,7 +22210,7 @@
         errorLine2="           ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="661"
+            line="673"
             column="12"/>
     </issue>
 
@@ -22067,7 +22221,7 @@
         errorLine2="                                   ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="685"
+            line="697"
             column="36"/>
     </issue>
 
@@ -22078,7 +22232,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="700"
+            line="712"
             column="12"/>
     </issue>
 
@@ -22089,7 +22243,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="748"
+            line="760"
             column="12"/>
     </issue>
 
@@ -22100,7 +22254,7 @@
         errorLine2="                         ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="772"
+            line="784"
             column="26"/>
     </issue>
 
@@ -22111,7 +22265,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="805"
+            line="817"
             column="12"/>
     </issue>
 
@@ -22122,7 +22276,7 @@
         errorLine2="                            ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="827"
+            line="839"
             column="29"/>
     </issue>
 
@@ -22133,7 +22287,7 @@
         errorLine2="                                       ~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="858"
+            line="870"
             column="40"/>
     </issue>
 
@@ -22144,7 +22298,7 @@
         errorLine2="                                          ~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="869"
+            line="881"
             column="43"/>
     </issue>
 
@@ -22155,7 +22309,7 @@
         errorLine2="                                             ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="1035"
+            line="1048"
             column="46"/>
     </issue>
 
@@ -22166,7 +22320,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="1144"
+            line="1157"
             column="12"/>
     </issue>
 
@@ -22177,7 +22331,7 @@
         errorLine2="                                           ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="1221"
+            line="1234"
             column="44"/>
     </issue>
 
@@ -22188,7 +22342,7 @@
         errorLine2="              ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="1555"
+            line="1579"
             column="15"/>
     </issue>
 
@@ -22199,7 +22353,7 @@
         errorLine2="                                          ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="1567"
+            line="1591"
             column="43"/>
     </issue>
 
@@ -22210,7 +22364,7 @@
         errorLine2="                                ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="1601"
+            line="1625"
             column="33"/>
     </issue>
 
@@ -22221,7 +22375,7 @@
         errorLine2="                                ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="1627"
+            line="1651"
             column="33"/>
     </issue>
 
@@ -22232,7 +22386,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2222"
+            line="2246"
             column="12"/>
     </issue>
 
@@ -22243,7 +22397,7 @@
         errorLine2="                                             ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2222"
+            line="2246"
             column="46"/>
     </issue>
 
@@ -22254,7 +22408,7 @@
         errorLine2="              ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2227"
+            line="2251"
             column="15"/>
     </issue>
 
@@ -22265,7 +22419,7 @@
         errorLine2="                                                ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2227"
+            line="2251"
             column="49"/>
     </issue>
 
@@ -22276,7 +22430,7 @@
         errorLine2="              ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2240"
+            line="2264"
             column="15"/>
     </issue>
 
@@ -22287,7 +22441,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2245"
+            line="2269"
             column="41"/>
     </issue>
 
@@ -22298,7 +22452,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2251"
+            line="2275"
             column="12"/>
     </issue>
 
@@ -22309,7 +22463,7 @@
         errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2300"
+            line="2324"
             column="34"/>
     </issue>
 
@@ -22320,7 +22474,7 @@
         errorLine2="                                                             ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2300"
+            line="2324"
             column="62"/>
     </issue>
 
@@ -22331,7 +22485,7 @@
         errorLine2="                                       ~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2355"
+            line="2441"
             column="40"/>
     </issue>
 
@@ -22342,7 +22496,7 @@
         errorLine2="                                                ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2374"
+            line="2460"
             column="49"/>
     </issue>
 
@@ -22353,7 +22507,7 @@
         errorLine2="                            ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2392"
+            line="2478"
             column="29"/>
     </issue>
 
@@ -22364,7 +22518,7 @@
         errorLine2="                            ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2398"
+            line="2484"
             column="29"/>
     </issue>
 
@@ -22375,7 +22529,7 @@
         errorLine2="                            ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2402"
+            line="2488"
             column="29"/>
     </issue>
 
@@ -22386,7 +22540,7 @@
         errorLine2="                            ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2409"
+            line="2495"
             column="29"/>
     </issue>
 
@@ -22397,7 +22551,7 @@
         errorLine2="                          ~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2425"
+            line="2511"
             column="27"/>
     </issue>
 
@@ -22408,7 +22562,7 @@
         errorLine2="                          ~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2429"
+            line="2515"
             column="27"/>
     </issue>
 
@@ -22419,7 +22573,7 @@
         errorLine2="                                         ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2429"
+            line="2515"
             column="42"/>
     </issue>
 
@@ -22430,7 +22584,7 @@
         errorLine2="                          ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2435"
+            line="2521"
             column="27"/>
     </issue>
 
@@ -22441,7 +22595,7 @@
         errorLine2="                                  ~~~~~~">
         <location
             file="src/main/java/androidx/appcompat/widget/Toolbar.java"
-            line="2440"
+            line="2526"
             column="35"/>
     </issue>
 
diff --git a/core/core/lint-baseline.xml b/core/core/lint-baseline.xml
index 6222e07..1378048 100644
--- a/core/core/lint-baseline.xml
+++ b/core/core/lint-baseline.xml
@@ -11316,4 +11316,115 @@
             column="29"/>
     </issue>
 
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 16 here from outer annotations"
+        errorLine1="            @RequiresApi(16)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="3195"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 16 here from outer annotations"
+        errorLine1="            @RequiresApi(16)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="3203"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="            @RequiresApi(23)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="3222"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 31 here from outer annotations"
+        errorLine1="            @RequiresApi(31)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="3241"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="            @RequiresApi(29)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="7142"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="            @RequiresApi(29)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="7181"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 30 here from outer annotations"
+        errorLine1="            @RequiresApi(30)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="7225"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 30 here from outer annotations"
+        errorLine1="            @RequiresApi(30)"
+        errorLine2="            ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/app/NotificationCompat.java"
+            line="7266"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="        @RequiresApi(21)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/view/WindowInsetsAnimationCompat.java"
+            line="689"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 30 here from outer annotations"
+        errorLine1="        @RequiresApi(30)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/core/view/WindowInsetsAnimationCompat.java"
+            line="962"
+            column="9"/>
+    </issue>
+
 </issues>
diff --git a/core/core/src/androidTest/java/androidx/core/app/NotificationCompatTest.java b/core/core/src/androidTest/java/androidx/core/app/NotificationCompatTest.java
index ae2f3d7..5967993 100644
--- a/core/core/src/androidTest/java/androidx/core/app/NotificationCompatTest.java
+++ b/core/core/src/androidTest/java/androidx/core/app/NotificationCompatTest.java
@@ -1936,7 +1936,8 @@
     public void action_builder_setContextual() {
         // Without a PendingIntent the Action.Builder class throws an NPE when building a contextual
         // action.
-        PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(), 0);
+        PendingIntent pendingIntent = PendingIntent.getActivity(
+                mContext, 0, new Intent(), PendingIntent.FLAG_IMMUTABLE);
         NotificationCompat.Action action =
                 new NotificationCompat.Action.Builder(0, "Test Title", pendingIntent)
                         .setContextual(true)
@@ -1962,7 +1963,8 @@
         if (Build.VERSION.SDK_INT < 29) return;
         // Without a PendingIntent the Action.Builder class throws an NPE when building a contextual
         // action.
-        PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(), 0);
+        PendingIntent pendingIntent = PendingIntent.getActivity(
+                mContext, 0, new Intent(), PendingIntent.FLAG_IMMUTABLE);
         NotificationCompat.Action action = new NotificationCompat.Action.Builder(
                 R.drawable.notification_bg, "Test Title", pendingIntent)
                 .setContextual(true)
@@ -1999,10 +2001,10 @@
                 R.drawable.notification_bg_normal));
 
         PendingIntent intent =
-                PendingIntent.getActivity(mContext, 0, new Intent(), 0);
+                PendingIntent.getActivity(mContext, 0, new Intent(), PendingIntent.FLAG_IMMUTABLE);
 
         PendingIntent deleteIntent =
-                PendingIntent.getActivity(mContext, 1, new Intent(), 0);
+                PendingIntent.getActivity(mContext, 1, new Intent(), PendingIntent.FLAG_IMMUTABLE);
 
         NotificationCompat.BubbleMetadata originalBubble =
                 new NotificationCompat.BubbleMetadata.Builder(intent, icon)
@@ -2042,7 +2044,7 @@
     public void setBubbleMetadataShortcut() {
         String shortcutId = "someShortcut";
         PendingIntent deleteIntent =
-                PendingIntent.getActivity(mContext, 1, new Intent(), 0);
+                PendingIntent.getActivity(mContext, 1, new Intent(), PendingIntent.FLAG_IMMUTABLE);
 
         NotificationCompat.BubbleMetadata originalBubble =
                 new NotificationCompat.BubbleMetadata.Builder(shortcutId)
@@ -2087,7 +2089,7 @@
                 R.drawable.notification_bg_normal));
 
         PendingIntent intent =
-                PendingIntent.getActivity(mContext, 0, new Intent(), 0);
+                PendingIntent.getActivity(mContext, 0, new Intent(), PendingIntent.FLAG_IMMUTABLE);
 
         NotificationCompat.BubbleMetadata originalBubble =
                 new NotificationCompat.BubbleMetadata.Builder()
diff --git a/core/core/src/androidTest/java/androidx/core/app/RemoteActionCompatTest.java b/core/core/src/androidTest/java/androidx/core/app/RemoteActionCompatTest.java
index a299a46..615ed4b 100644
--- a/core/core/src/androidTest/java/androidx/core/app/RemoteActionCompatTest.java
+++ b/core/core/src/androidTest/java/androidx/core/app/RemoteActionCompatTest.java
@@ -41,7 +41,8 @@
     private static final String TITLE = "title";
     private static final String DESCRIPTION = "description";
     private static final PendingIntent ACTION = PendingIntent.getBroadcast(
-            InstrumentationRegistry.getContext(), 0, new Intent("TESTACTION"), 0);
+            InstrumentationRegistry.getContext(), 0, new Intent("TESTACTION"),
+            PendingIntent.FLAG_IMMUTABLE);
 
     public RemoteActionCompatTest() {
         super(TestActivity.class);
diff --git a/core/core/src/main/java/androidx/core/location/LocationRequestCompat.java b/core/core/src/main/java/androidx/core/location/LocationRequestCompat.java
index 496cedc..0e7e180 100644
--- a/core/core/src/main/java/androidx/core/location/LocationRequestCompat.java
+++ b/core/core/src/main/java/androidx/core/location/LocationRequestCompat.java
@@ -219,13 +219,13 @@
     @RequiresApi(31)
     @NonNull
     public LocationRequest toLocationRequest() {
-        return new LocationRequest.Builder(mIntervalMillis)
-                .setQuality(mQuality)
-                .setMinUpdateIntervalMillis(mMinUpdateIntervalMillis)
-                .setDurationMillis(mDurationMillis)
-                .setMaxUpdates(mMaxUpdates)
-                .setMinUpdateDistanceMeters(mMinUpdateDistanceMeters)
-                .setMaxUpdateDelayMillis(mMaxUpdateDelayMillis)
+        return new LocationRequest.Builder(getIntervalMillis())
+                .setQuality(getQuality())
+                .setMinUpdateIntervalMillis(getMinUpdateIntervalMillis())
+                .setDurationMillis(getDurationMillis())
+                .setMaxUpdates(getMaxUpdates())
+                .setMinUpdateDistanceMeters(getMinUpdateDistanceMeters())
+                .setMaxUpdateDelayMillis(getMaxUpdateDelayMillis())
                 .build();
     }
 
@@ -256,8 +256,8 @@
 
                 LocationRequest request =
                         (LocationRequest) sCreateFromDeprecatedProviderMethod.invoke(null, provider,
-                                mIntervalMillis,
-                                mMinUpdateDistanceMeters, false);
+                                getIntervalMillis(),
+                                getMinUpdateDistanceMeters(), false);
                 if (request == null) {
                     return null;
                 }
@@ -267,36 +267,34 @@
                             "setQuality", int.class);
                     sSetQualityMethod.setAccessible(true);
                 }
-                sSetQualityMethod.invoke(request, mQuality);
+                sSetQualityMethod.invoke(request, getQuality());
 
-                if (getMinUpdateIntervalMillis() != mIntervalMillis) {
-                    if (sSetFastestIntervalMethod == null) {
-                        sSetFastestIntervalMethod = LocationRequest.class.getDeclaredMethod(
-                                "setFastestInterval", long.class);
-                        sSetFastestIntervalMethod.setAccessible(true);
-                    }
-
-                    sSetFastestIntervalMethod.invoke(request, mMinUpdateIntervalMillis);
+                if (sSetFastestIntervalMethod == null) {
+                    sSetFastestIntervalMethod = LocationRequest.class.getDeclaredMethod(
+                            "setFastestInterval", long.class);
+                    sSetFastestIntervalMethod.setAccessible(true);
                 }
 
-                if (mMaxUpdates < Integer.MAX_VALUE) {
+                sSetFastestIntervalMethod.invoke(request, getMinUpdateIntervalMillis());
+
+                if (getMaxUpdates() < Integer.MAX_VALUE) {
                     if (sSetNumUpdatesMethod == null) {
                         sSetNumUpdatesMethod = LocationRequest.class.getDeclaredMethod(
                                 "setNumUpdates", int.class);
                         sSetNumUpdatesMethod.setAccessible(true);
                     }
 
-                    sSetNumUpdatesMethod.invoke(request, mMaxUpdates);
+                    sSetNumUpdatesMethod.invoke(request, getMaxUpdates());
                 }
 
-                if (mDurationMillis < Long.MAX_VALUE) {
+                if (getDurationMillis() < Long.MAX_VALUE) {
                     if (sSetExpireInMethod == null) {
                         sSetExpireInMethod = LocationRequest.class.getDeclaredMethod(
                                 "setExpireIn", long.class);
                         sSetExpireInMethod.setAccessible(true);
                     }
 
-                    sSetExpireInMethod.invoke(request, mDurationMillis);
+                    sSetExpireInMethod.invoke(request, getDurationMillis());
                 }
 
                 return request;
diff --git a/cursoradapter/cursoradapter/lint-baseline.xml b/cursoradapter/cursoradapter/lint-baseline.xml
index a31f3ea..4ad96d4 100644
--- a/cursoradapter/cursoradapter/lint-baseline.xml
+++ b/cursoradapter/cursoradapter/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="UnknownNullness"
@@ -818,7 +818,7 @@
     <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 Cursor swapCursor(Cursor c) {"
+        errorLine1="    public Cursor swapCursor(Cursor newCursor) {"
         errorLine2="           ~~~~~~">
         <location
             file="src/main/java/androidx/cursoradapter/widget/SimpleCursorAdapter.java"
@@ -829,7 +829,7 @@
     <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 Cursor swapCursor(Cursor c) {"
+        errorLine1="    public Cursor swapCursor(Cursor newCursor) {"
         errorLine2="                             ~~~~~~">
         <location
             file="src/main/java/androidx/cursoradapter/widget/SimpleCursorAdapter.java"
diff --git a/customview/customview/lint-baseline.xml b/customview/customview/lint-baseline.xml
index d95bc70..f95b619 100644
--- a/customview/customview/lint-baseline.xml
+++ b/customview/customview/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="UnknownNullness"
diff --git a/datastore/datastore-core/lint-baseline.xml b/datastore/datastore-core/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/datastore/datastore-core/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/datastore/datastore-preferences-core/lint-baseline.xml b/datastore/datastore-preferences-core/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/datastore/datastore-preferences-core/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/datastore/datastore-preferences-proto/lint-baseline.xml b/datastore/datastore-preferences-proto/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/datastore/datastore-preferences-proto/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/datastore/datastore-preferences-rxjava2/lint-baseline.xml b/datastore/datastore-preferences-rxjava2/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/datastore/datastore-preferences-rxjava2/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/datastore/datastore-preferences-rxjava3/lint-baseline.xml b/datastore/datastore-preferences-rxjava3/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/datastore/datastore-preferences-rxjava3/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/datastore/datastore-preferences/lint-baseline.xml b/datastore/datastore-preferences/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/datastore/datastore-preferences/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/datastore/datastore-proto/lint-baseline.xml b/datastore/datastore-proto/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/datastore/datastore-proto/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/datastore/datastore-rxjava2/lint-baseline.xml b/datastore/datastore-rxjava2/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/datastore/datastore-rxjava2/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/datastore/datastore-rxjava3/lint-baseline.xml b/datastore/datastore-rxjava3/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/datastore/datastore-rxjava3/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/datastore/datastore-sampleapp/lint-baseline.xml b/datastore/datastore-sampleapp/lint-baseline.xml
index a109708..2a9e32f 100644
--- a/datastore/datastore-sampleapp/lint-baseline.xml
+++ b/datastore/datastore-sampleapp/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="cli" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="LongLogTag"
diff --git a/datastore/datastore/lint-baseline.xml b/datastore/datastore/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/datastore/datastore/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/docs-public/build.gradle b/docs-public/build.gradle
index 3751f03..88b74ae 100644
--- a/docs-public/build.gradle
+++ b/docs-public/build.gradle
@@ -4,10 +4,10 @@
 }
 
 dependencies {
-    docs("androidx.activity:activity:1.4.0-beta01")
-    docs("androidx.activity:activity-compose:1.4.0-beta01")
-    samples("androidx.activity:activity-compose-samples:1.4.0-beta01")
-    docs("androidx.activity:activity-ktx:1.4.0-beta01")
+    docs("androidx.activity:activity:1.4.0-rc01")
+    docs("androidx.activity:activity-compose:1.4.0-rc01")
+    samples("androidx.activity:activity-compose-samples:1.4.0-rc01")
+    docs("androidx.activity:activity-ktx:1.4.0-rc01")
     docs("androidx.ads:ads-identifier:1.0.0-alpha04")
     docs("androidx.ads:ads-identifier-provider:1.0.0-alpha04")
     docs("androidx.annotation:annotation:1.3.0-beta01")
@@ -23,79 +23,80 @@
     docs("androidx.arch.core:core-testing:2.1.0")
     docs("androidx.asynclayoutinflater:asynclayoutinflater:1.0.0")
     docs("androidx.autofill:autofill:1.2.0-beta01")
-    docs("androidx.benchmark:benchmark-common:1.1.0-alpha08")
-    docs("androidx.benchmark:benchmark-junit4:1.1.0-alpha08")
-    docs("androidx.benchmark:benchmark-macro:1.1.0-alpha08")
-    docs("androidx.benchmark:benchmark-macro-junit4:1.1.0-alpha08")
+    docs("androidx.benchmark:benchmark-common:1.1.0-beta01")
+    docs("androidx.benchmark:benchmark-junit4:1.1.0-beta01")
+    docs("androidx.benchmark:benchmark-macro:1.1.0-beta01")
+    docs("androidx.benchmark:benchmark-macro-junit4:1.1.0-beta01")
     docs("androidx.biometric:biometric:1.2.0-alpha03")
     docs("androidx.biometric:biometric-ktx:1.2.0-alpha03")
     samples("androidx.biometric:biometric-ktx-samples:1.2.0-alpha03")
-    docs("androidx.browser:browser:1.4.0-beta01")
-    docs("androidx.camera:camera-camera2:1.1.0-alpha08")
-    docs("androidx.camera:camera-core:1.1.0-alpha08")
-    docs("androidx.camera:camera-extensions:1.0.0-alpha29")
+    docs("androidx.browser:browser:1.4.0-rc01")
+    docs("androidx.camera:camera-camera2:1.1.0-alpha10")
+    docs("androidx.camera:camera-core:1.1.0-alpha10")
+    docs("androidx.camera:camera-extensions:1.0.0-alpha30")
     stubs(fileTree(dir: "../camera/camera-extensions-stub", include: ["camera-extensions-stub.jar"]))
-    docs("androidx.camera:camera-lifecycle:1.1.0-alpha08")
-    docs("androidx.camera:camera-view:1.0.0-alpha29")
+    docs("androidx.camera:camera-lifecycle:1.1.0-alpha10")
+    docs("androidx.camera:camera-video:1.1.0-alpha10")
+    docs("androidx.camera:camera-view:1.0.0-alpha30")
     docs("androidx.car.app:app:1.1.0-beta01")
     docs("androidx.car.app:app-automotive:1.1.0-beta01")
     docs("androidx.car.app:app-projected:1.1.0-beta01")
     docs("androidx.car.app:app-testing:1.1.0-beta01")
     docs("androidx.cardview:cardview:1.0.0")
-    docs("androidx.collection:collection:1.2.0-alpha01")
-    docs("androidx.collection:collection-ktx:1.2.0-alpha01")
-    docs("androidx.compose.animation:animation:1.1.0-alpha05")
-    docs("androidx.compose.animation:animation-core:1.1.0-alpha05")
-    docs("androidx.compose.animation:animation-graphics:1.1.0-alpha05")
-    samples("androidx.compose.animation:animation-samples:1.1.0-alpha05")
-    samples("androidx.compose.animation:animation-core-samples:1.1.0-alpha05")
-    samples("androidx.compose.animation:animation-graphics-samples:1.1.0-alpha05")
-    docs("androidx.compose.foundation:foundation:1.1.0-alpha05")
-    docs("androidx.compose.foundation:foundation-layout:1.1.0-alpha05")
-    samples("androidx.compose.foundation:foundation-layout-samples:1.1.0-alpha05")
-    samples("androidx.compose.foundation:foundation-samples:1.1.0-alpha05")
-    docs("androidx.compose.material:material:1.1.0-alpha05")
-    docs("androidx.compose.material:material-icons-core:1.1.0-alpha05")
-    samples("androidx.compose.material:material-icons-core-samples:1.1.0-alpha05")
-    docs("androidx.compose.material:material-ripple:1.1.0-alpha05")
-    samples("androidx.compose.material:material-samples:1.1.0-alpha05")
-    docs("androidx.compose.runtime:runtime:1.1.0-alpha05")
-    docs("androidx.compose.runtime:runtime-livedata:1.1.0-alpha05")
-    samples("androidx.compose.runtime:runtime-livedata-samples:1.1.0-alpha05")
-    docs("androidx.compose.runtime:runtime-rxjava2:1.1.0-alpha05")
-    samples("androidx.compose.runtime:runtime-rxjava2-samples:1.1.0-alpha05")
-    docs("androidx.compose.runtime:runtime-rxjava3:1.1.0-alpha05")
-    samples("androidx.compose.runtime:runtime-rxjava3-samples:1.1.0-alpha05")
-    docs("androidx.compose.runtime:runtime-saveable:1.1.0-alpha05")
-    samples("androidx.compose.runtime:runtime-saveable-samples:1.1.0-alpha05")
-    samples("androidx.compose.runtime:runtime-samples:1.1.0-alpha05")
-    docs("androidx.compose.ui:ui:1.1.0-alpha05")
-    docs("androidx.compose.ui:ui-geometry:1.1.0-alpha05")
-    docs("androidx.compose.ui:ui-graphics:1.1.0-alpha05")
-    samples("androidx.compose.ui:ui-graphics-samples:1.1.0-alpha05")
-    docs("androidx.compose.ui:ui-test:1.1.0-alpha05")
-    docs("androidx.compose.ui:ui-test-junit4:1.1.0-alpha05")
-    docs("androidx.compose.ui:ui-text:1.1.0-alpha05")
-    samples("androidx.compose.ui:ui-text-samples:1.1.0-alpha05")
-    docs("androidx.compose.ui:ui-tooling:1.1.0-alpha05")
-    docs("androidx.compose.ui:ui-tooling-data:1.1.0-alpha05")
-    docs("androidx.compose.ui:ui-tooling-preview:1.1.0-alpha05")
-    docs("androidx.compose.ui:ui-unit:1.1.0-alpha05")
-    samples("androidx.compose.ui:ui-unit-samples:1.1.0-alpha05")
-    docs("androidx.compose.ui:ui-util:1.1.0-alpha05")
-    docs("androidx.compose.ui:ui-viewbinding:1.1.0-alpha05")
-    samples("androidx.compose.ui:ui-viewbinding-samples:1.1.0-alpha05")
-    samples("androidx.compose.ui:ui-samples:1.1.0-alpha05")
+    docs("androidx.collection:collection:1.2.0-beta01")
+    docs("androidx.collection:collection-ktx:1.2.0-beta01")
+    docs("androidx.compose.animation:animation:1.1.0-alpha06")
+    docs("androidx.compose.animation:animation-core:1.1.0-alpha06")
+    docs("androidx.compose.animation:animation-graphics:1.1.0-alpha06")
+    samples("androidx.compose.animation:animation-samples:1.1.0-alpha06")
+    samples("androidx.compose.animation:animation-core-samples:1.1.0-alpha06")
+    samples("androidx.compose.animation:animation-graphics-samples:1.1.0-alpha06")
+    docs("androidx.compose.foundation:foundation:1.1.0-alpha06")
+    docs("androidx.compose.foundation:foundation-layout:1.1.0-alpha06")
+    samples("androidx.compose.foundation:foundation-layout-samples:1.1.0-alpha06")
+    samples("androidx.compose.foundation:foundation-samples:1.1.0-alpha06")
+    docs("androidx.compose.material:material:1.1.0-alpha06")
+    docs("androidx.compose.material:material-icons-core:1.1.0-alpha06")
+    samples("androidx.compose.material:material-icons-core-samples:1.1.0-alpha06")
+    docs("androidx.compose.material:material-ripple:1.1.0-alpha06")
+    samples("androidx.compose.material:material-samples:1.1.0-alpha06")
+    docs("androidx.compose.runtime:runtime:1.1.0-alpha06")
+    docs("androidx.compose.runtime:runtime-livedata:1.1.0-alpha06")
+    samples("androidx.compose.runtime:runtime-livedata-samples:1.1.0-alpha06")
+    docs("androidx.compose.runtime:runtime-rxjava2:1.1.0-alpha06")
+    samples("androidx.compose.runtime:runtime-rxjava2-samples:1.1.0-alpha06")
+    docs("androidx.compose.runtime:runtime-rxjava3:1.1.0-alpha06")
+    samples("androidx.compose.runtime:runtime-rxjava3-samples:1.1.0-alpha06")
+    docs("androidx.compose.runtime:runtime-saveable:1.1.0-alpha06")
+    samples("androidx.compose.runtime:runtime-saveable-samples:1.1.0-alpha06")
+    samples("androidx.compose.runtime:runtime-samples:1.1.0-alpha06")
+    docs("androidx.compose.ui:ui:1.1.0-alpha06")
+    docs("androidx.compose.ui:ui-geometry:1.1.0-alpha06")
+    docs("androidx.compose.ui:ui-graphics:1.1.0-alpha06")
+    samples("androidx.compose.ui:ui-graphics-samples:1.1.0-alpha06")
+    docs("androidx.compose.ui:ui-test:1.1.0-alpha06")
+    docs("androidx.compose.ui:ui-test-junit4:1.1.0-alpha06")
+    docs("androidx.compose.ui:ui-text:1.1.0-alpha06")
+    samples("androidx.compose.ui:ui-text-samples:1.1.0-alpha06")
+    docs("androidx.compose.ui:ui-tooling:1.1.0-alpha06")
+    docs("androidx.compose.ui:ui-tooling-data:1.1.0-alpha06")
+    docs("androidx.compose.ui:ui-tooling-preview:1.1.0-alpha06")
+    docs("androidx.compose.ui:ui-unit:1.1.0-alpha06")
+    samples("androidx.compose.ui:ui-unit-samples:1.1.0-alpha06")
+    docs("androidx.compose.ui:ui-util:1.1.0-alpha06")
+    docs("androidx.compose.ui:ui-viewbinding:1.1.0-alpha06")
+    samples("androidx.compose.ui:ui-viewbinding-samples:1.1.0-alpha06")
+    samples("androidx.compose.ui:ui-samples:1.1.0-alpha06")
     docs("androidx.concurrent:concurrent-futures:1.1.0")
     docs("androidx.concurrent:concurrent-futures-ktx:1.1.0")
     docs("androidx.contentpager:contentpager:1.0.0")
     docs("androidx.coordinatorlayout:coordinatorlayout:1.1.0")
-    docs("androidx.core:core-google-shortcuts:1.1.0-alpha01")
+    docs("androidx.core:core-google-shortcuts:1.1.0-alpha02")
     docs("androidx.core:core-role:1.1.0-alpha02")
     docs("androidx.core:core-animation:1.0.0-alpha02")
     docs("androidx.core:core-animation-testing:1.0.0-alpha02")
-    docs("androidx.core:core:1.7.0-beta02")
-    docs("androidx.core:core-ktx:1.7.0-beta01")
+    docs("androidx.core:core:1.7.0-rc01")
+    docs("androidx.core:core-ktx:1.7.0-rc01")
     docs("androidx.core:core-splashscreen:1.0.0-alpha02")
     docs("androidx.cursoradapter:cursoradapter:1.0.0")
     docs("androidx.customview:customview:1.1.0")
@@ -163,7 +164,7 @@
     docs("androidx.media2:media2-player:1.2.0")
     docs("androidx.media2:media2-session:1.2.0")
     docs("androidx.media2:media2-widget:1.2.0")
-    docs("androidx.media:media:1.4.2")
+    docs("androidx.media:media:1.4.3")
     docs("androidx.mediarouter:mediarouter:1.2.5")
     docs("androidx.navigation:navigation-common:2.4.0-alpha10")
     docs("androidx.navigation:navigation-common-ktx:2.4.0-alpha10")
@@ -178,38 +179,38 @@
     docs("androidx.navigation:navigation-testing:2.4.0-alpha10")
     docs("androidx.navigation:navigation-ui:2.4.0-alpha10")
     docs("androidx.navigation:navigation-ui-ktx:2.4.0-alpha10")
-    docs("androidx.paging:paging-common:3.1.0-alpha03")
-    docs("androidx.paging:paging-common-ktx:3.1.0-alpha03")
-    docs("androidx.paging:paging-compose:1.0.0-alpha12")
+    docs("androidx.paging:paging-common:3.1.0-beta01")
+    docs("androidx.paging:paging-common-ktx:3.1.0-beta01")
+    docs("androidx.paging:paging-compose:1.0.0-alpha14")
     samples("androidx.paging:paging-compose-samples:3.0.0-alpha08")
-    docs("androidx.paging:paging-guava:3.1.0-alpha03")
-    docs("androidx.paging:paging-runtime:3.1.0-alpha03")
-    docs("androidx.paging:paging-runtime-ktx:3.1.0-alpha03")
-    docs("androidx.paging:paging-rxjava2:3.1.0-alpha03")
-    docs("androidx.paging:paging-rxjava2-ktx:3.1.0-alpha03")
-    docs("androidx.paging:paging-rxjava3:3.1.0-alpha03")
-    samples("androidx.paging:paging-samples:3.1.0-alpha03")
+    docs("androidx.paging:paging-guava:3.1.0-beta01")
+    docs("androidx.paging:paging-runtime:3.1.0-beta01")
+    docs("androidx.paging:paging-runtime-ktx:3.1.0-beta01")
+    docs("androidx.paging:paging-rxjava2:3.1.0-beta01")
+    docs("androidx.paging:paging-rxjava2-ktx:3.1.0-beta01")
+    docs("androidx.paging:paging-rxjava3:3.1.0-beta01")
+    samples("androidx.paging:paging-samples:3.1.0-beta01")
     docs("androidx.palette:palette:1.0.0")
     docs("androidx.palette:palette-ktx:1.0.0")
     docs("androidx.percentlayout:percentlayout:1.0.1")
     docs("androidx.preference:preference:1.1.1")
     docs("androidx.preference:preference-ktx:1.1.1")
     docs("androidx.print:print:1.1.0-beta01")
-    docs("androidx.profileinstaller:profileinstaller:1.1.0-alpha06")
+    docs("androidx.profileinstaller:profileinstaller:1.1.0-alpha07")
     docs("androidx.recommendation:recommendation:1.0.0")
     docs("androidx.recyclerview:recyclerview:1.3.0-alpha01")
     docs("androidx.recyclerview:recyclerview-selection:2.0.0-alpha01")
     docs("androidx.remotecallback:remotecallback:1.0.0-alpha02")
     docs("androidx.resourceinspection:resourceinspection-annotation:1.0.0-beta01")
-    docs("androidx.room:room-common:2.4.0-alpha05")
-    docs("androidx.room:room-guava:2.4.0-alpha05")
-    docs("androidx.room:room-ktx:2.4.0-alpha05")
-    docs("androidx.room:room-migration:2.4.0-alpha05")
-    docs("androidx.room:room-paging:2.4.0-alpha05")
-    docs("androidx.room:room-runtime:2.4.0-alpha05")
-    docs("androidx.room:room-rxjava2:2.4.0-alpha05")
-    docs("androidx.room:room-rxjava3:2.4.0-alpha05")
-    docs("androidx.room:room-testing:2.4.0-alpha05")
+    docs("androidx.room:room-common:2.4.0-beta01")
+    docs("androidx.room:room-guava:2.4.0-beta01")
+    docs("androidx.room:room-ktx:2.4.0-beta01")
+    docs("androidx.room:room-migration:2.4.0-beta01")
+    docs("androidx.room:room-paging:2.4.0-beta01")
+    docs("androidx.room:room-runtime:2.4.0-beta01")
+    docs("androidx.room:room-rxjava2:2.4.0-beta01")
+    docs("androidx.room:room-rxjava3:2.4.0-beta01")
+    docs("androidx.room:room-testing:2.4.0-beta01")
     docs("androidx.savedstate:savedstate:1.1.0")
     docs("androidx.savedstate:savedstate-ktx:1.1.0")
     docs("androidx.security:security-app-authenticator:1.0.0-alpha02")
@@ -223,9 +224,9 @@
     docs("androidx.slice:slice-core:1.1.0-alpha02")
     docs("androidx.slice:slice-view:1.1.0-alpha02")
     docs("androidx.slidingpanelayout:slidingpanelayout:1.2.0-beta01")
-    docs("androidx.sqlite:sqlite:2.2.0-alpha02")
-    docs("androidx.sqlite:sqlite-framework:2.2.0-alpha02")
-    docs("androidx.sqlite:sqlite-ktx:2.2.0-alpha02")
+    docs("androidx.sqlite:sqlite:2.2.0-beta01")
+    docs("androidx.sqlite:sqlite-framework:2.2.0-beta01")
+    docs("androidx.sqlite:sqlite-ktx:2.2.0-beta01")
     docs("androidx.startup:startup-runtime:1.1.0")
     docs("androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01")
     docs("androidx.textclassifier:textclassifier:1.0.0-alpha03")
@@ -240,28 +241,28 @@
     docs("androidx.versionedparcelable:versionedparcelable:1.1.1")
     docs("androidx.viewpager2:viewpager2:1.1.0-beta01")
     docs("androidx.viewpager:viewpager:1.1.0-alpha01")
-    docs("androidx.wear.compose:compose-foundation:1.0.0-alpha07")
-    samples("androidx.wear.compose:compose-foundation-samples:1.0.0-alpha07")
-    docs("androidx.wear.compose:compose-material:1.0.0-alpha07")
-    samples("androidx.wear.compose:compose-material-samples:1.0.0-alpha07")
-    docs("androidx.wear.compose:compose-navigation:1.0.0-alpha07")
+    docs("androidx.wear.compose:compose-foundation:1.0.0-alpha08")
+    samples("androidx.wear.compose:compose-foundation-samples:1.0.0-alpha08")
+    docs("androidx.wear.compose:compose-material:1.0.0-alpha08")
+    samples("androidx.wear.compose:compose-material-samples:1.0.0-alpha08")
+    docs("androidx.wear.compose:compose-navigation:1.0.0-alpha08")
     docs("androidx.wear.tiles:tiles:1.0.0-alpha12")
     docs("androidx.wear.tiles:tiles-renderer:1.0.0-alpha12")
     docs("androidx.wear.tiles:tiles-testing:1.0.0-alpha12")
-    docs("androidx.wear.watchface:watchface:1.0.0-alpha23")
-    docs("androidx.wear.watchface:watchface-client:1.0.0-alpha23")
-    docs("androidx.wear.watchface:watchface-client-guava:1.0.0-alpha23")
-    docs("androidx.wear.watchface:watchface-complications-data:1.0.0-alpha23")
-    docs("androidx.wear.watchface:watchface-complications-data-source:1.0.0-alpha23")
-    docs("androidx.wear.watchface:watchface-complications-data-source-ktx:1.0.0-alpha23")
-    docs("androidx.wear.watchface:watchface-complications-rendering:1.0.0-alpha23")
-    docs("androidx.wear.watchface:watchface-data:1.0.0-alpha23")
-    docs("androidx.wear.watchface:watchface-editor:1.0.0-alpha23")
-    docs("androidx.wear.watchface:watchface-editor-guava:1.0.0-alpha23")
-    samples("androidx.wear.watchface:watchface-editor-samples:1.0.0-alpha23")
-    docs("androidx.wear.watchface:watchface-guava:1.0.0-alpha23")
-    samples("androidx.wear.watchface:watchface-samples:1.0.0-alpha23")
-    docs("androidx.wear.watchface:watchface-style:1.0.0-alpha23")
+    docs("androidx.wear.watchface:watchface:1.0.0-alpha24")
+    docs("androidx.wear.watchface:watchface-client:1.0.0-alpha24")
+    docs("androidx.wear.watchface:watchface-client-guava:1.0.0-alpha24")
+    docs("androidx.wear.watchface:watchface-complications-data:1.0.0-alpha24")
+    docs("androidx.wear.watchface:watchface-complications-data-source:1.0.0-alpha24")
+    docs("androidx.wear.watchface:watchface-complications-data-source-ktx:1.0.0-alpha24")
+    docs("androidx.wear.watchface:watchface-complications-rendering:1.0.0-alpha24")
+    docs("androidx.wear.watchface:watchface-data:1.0.0-alpha24")
+    docs("androidx.wear.watchface:watchface-editor:1.0.0-alpha24")
+    docs("androidx.wear.watchface:watchface-editor-guava:1.0.0-alpha24")
+    samples("androidx.wear.watchface:watchface-editor-samples:1.0.0-alpha24")
+    docs("androidx.wear.watchface:watchface-guava:1.0.0-alpha24")
+    samples("androidx.wear.watchface:watchface-samples:1.0.0-alpha24")
+    docs("androidx.wear.watchface:watchface-style:1.0.0-alpha24")
     docs("androidx.wear:wear:1.3.0-alpha01")
     stubs(fileTree(dir: "../wear/wear_stubs/", include: ["com.google.android.wearable-stubs.jar"]))
     docs("androidx.wear:wear-ongoing:1.1.0-alpha01")
@@ -278,11 +279,11 @@
     docs("androidx.window:window-rxjava2:1.0.0-beta02")
     docs("androidx.window:window-rxjava3:1.0.0-beta02")
     docs("androidx.window:window-testing:1.0.0-beta02")
-    docs("androidx.work:work-gcm:2.7.0-rc01")
-    docs("androidx.work:work-multiprocess:2.7.0-rc01")
-    docs("androidx.work:work-runtime:2.7.0-rc01")
-    docs("androidx.work:work-runtime-ktx:2.7.0-rc01")
-    docs("androidx.work:work-rxjava2:2.7.0-rc01")
-    docs("androidx.work:work-rxjava3:2.7.0-rc01")
-    docs("androidx.work:work-testing:2.7.0-rc01")
+    docs("androidx.work:work-gcm:2.7.0")
+    docs("androidx.work:work-multiprocess:2.7.0")
+    docs("androidx.work:work-runtime:2.7.0")
+    docs("androidx.work:work-runtime-ktx:2.7.0")
+    docs("androidx.work:work-rxjava2:2.7.0")
+    docs("androidx.work:work-rxjava3:2.7.0")
+    docs("androidx.work:work-testing:2.7.0")
 }
diff --git a/documentfile/documentfile/lint-baseline.xml b/documentfile/documentfile/lint-baseline.xml
index 9f4966b..2570319 100644
--- a/documentfile/documentfile/lint-baseline.xml
+++ b/documentfile/documentfile/lint-baseline.xml
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="5" by="lint Bumblebee | 2021.1.1 Canary 2">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
 </issues>
diff --git a/draganddrop/draganddrop/lint-baseline.xml b/draganddrop/draganddrop/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/draganddrop/draganddrop/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/drawerlayout/drawerlayout/lint-baseline.xml b/drawerlayout/drawerlayout/lint-baseline.xml
index 677aa59..26ba1cb 100644
--- a/drawerlayout/drawerlayout/lint-baseline.xml
+++ b/drawerlayout/drawerlayout/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ClassVerificationFailure"
diff --git a/dynamicanimation/dynamicanimation-ktx/lint-baseline.xml b/dynamicanimation/dynamicanimation-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/dynamicanimation/dynamicanimation-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/dynamicanimation/dynamicanimation/lint-baseline.xml b/dynamicanimation/dynamicanimation/lint-baseline.xml
index 939c67c..99d344e46 100644
--- a/dynamicanimation/dynamicanimation/lint-baseline.xml
+++ b/dynamicanimation/dynamicanimation/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ClassVerificationFailure"
diff --git a/emoji/emoji-appcompat/lint-baseline.xml b/emoji/emoji-appcompat/lint-baseline.xml
index a85ccf9..5d8553b 100644
--- a/emoji/emoji-appcompat/lint-baseline.xml
+++ b/emoji/emoji-appcompat/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="UnknownNullness"
diff --git a/emoji/emoji-bundled/lint-baseline.xml b/emoji/emoji-bundled/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/emoji/emoji-bundled/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/emoji2/emoji2-benchmark/lint-baseline.xml b/emoji2/emoji2-benchmark/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/emoji2/emoji2-benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/emoji2/emoji2-views-helper/lint-baseline.xml b/emoji2/emoji2-views-helper/lint-baseline.xml
index d16cda2..b1824b1 100644
--- a/emoji2/emoji2-views-helper/lint-baseline.xml
+++ b/emoji2/emoji2-views-helper/lint-baseline.xml
@@ -133,4 +133,26 @@
             column="59"/>
     </issue>
 
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 19 here from outer annotations"
+        errorLine1="    @RequiresApi(19)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/emoji2/viewsintegration/EmojiInputFilter.java"
+            line="99"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 19 here from outer annotations"
+        errorLine1="    @RequiresApi(19)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/emoji2/viewsintegration/EmojiTextWatcher.java"
+            line="134"
+            column="5"/>
+    </issue>
+
 </issues>
diff --git a/emoji2/emoji2-views/lint-baseline.xml b/emoji2/emoji2-views/lint-baseline.xml
index 06bb19f..cf9c410 100644
--- a/emoji2/emoji2-views/lint-baseline.xml
+++ b/emoji2/emoji2-views/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
diff --git a/emoji2/emoji2/lint-baseline.xml b/emoji2/emoji2/lint-baseline.xml
index 98c411b..764bf47 100644
--- a/emoji2/emoji2/lint-baseline.xml
+++ b/emoji2/emoji2/lint-baseline.xml
@@ -67,4 +67,15 @@
             column="71"/>
     </issue>
 
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 19 here from outer annotations"
+        errorLine1="    @RequiresApi(19)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/emoji2/text/EmojiProcessor.java"
+            line="657"
+            column="5"/>
+    </issue>
+
 </issues>
diff --git a/emoji2/integration-tests/init-disabled-macrobenchmark-target/lint-baseline.xml b/emoji2/integration-tests/init-disabled-macrobenchmark-target/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/emoji2/integration-tests/init-disabled-macrobenchmark-target/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/emoji2/integration-tests/init-disabled-macrobenchmark/lint-baseline.xml b/emoji2/integration-tests/init-disabled-macrobenchmark/lint-baseline.xml
index f67584d..d5a6018 100644
--- a/emoji2/integration-tests/init-disabled-macrobenchmark/lint-baseline.xml
+++ b/emoji2/integration-tests/init-disabled-macrobenchmark/lint-baseline.xml
@@ -1,16 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
-        errorLine1="    val benchmarkRule = MacrobenchmarkRule()"
-        errorLine2="                        ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/emoji2/integration/macrobenchmark/disabled/EmojiStartupBenchmark.kt"
-            line="33"
-            column="25"/>
-    </issue>
+<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">
 
     <issue
         id="NewApi"
diff --git a/emoji2/integration-tests/init-enabled-macrobenchmark-target/lint-baseline.xml b/emoji2/integration-tests/init-enabled-macrobenchmark-target/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/emoji2/integration-tests/init-enabled-macrobenchmark-target/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/emoji2/integration-tests/init-enabled-macrobenchmark/lint-baseline.xml b/emoji2/integration-tests/init-enabled-macrobenchmark/lint-baseline.xml
index b49d89b..2b39e3b 100644
--- a/emoji2/integration-tests/init-enabled-macrobenchmark/lint-baseline.xml
+++ b/emoji2/integration-tests/init-enabled-macrobenchmark/lint-baseline.xml
@@ -1,16 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
-        errorLine1="    val benchmarkRule = MacrobenchmarkRule()"
-        errorLine2="                        ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/emoji2/integration/macrobenchmark/enabled/EmojiStartupBenchmark.kt"
-            line="36"
-            column="25"/>
-    </issue>
+<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">
 
     <issue
         id="NewApi"
diff --git a/enterprise/enterprise-feedback-testing/lint-baseline.xml b/enterprise/enterprise-feedback-testing/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/enterprise/enterprise-feedback-testing/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/enterprise/enterprise-feedback/lint-baseline.xml b/enterprise/enterprise-feedback/lint-baseline.xml
index 2575dd7..1240290 100644
--- a/enterprise/enterprise-feedback/lint-baseline.xml
+++ b/enterprise/enterprise-feedback/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
diff --git a/exifinterface/exifinterface/lint-baseline.xml b/exifinterface/exifinterface/lint-baseline.xml
index 60982c9..4e68c7f 100644
--- a/exifinterface/exifinterface/lint-baseline.xml
+++ b/exifinterface/exifinterface/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
@@ -8,7 +8,7 @@
         errorLine2="                   ~~~~~">
         <location
             file="src/androidTest/java/androidx/exifinterface/media/ExifInterfaceTest.java"
-            line="1364"
+            line="1365"
             column="20"/>
     </issue>
 
@@ -19,7 +19,7 @@
         errorLine2="                              ~~~~~">
         <location
             file="src/main/java/androidx/exifinterface/media/ExifInterface.java"
-            line="5015"
+            line="5020"
             column="31"/>
     </issue>
 
@@ -30,7 +30,7 @@
         errorLine2="                           ~~~~~~~~">
         <location
             file="src/main/java/androidx/exifinterface/media/ExifInterface.java"
-            line="5060"
+            line="5065"
             column="28"/>
     </issue>
 
diff --git a/external/libyuv/lint-baseline.xml b/external/libyuv/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/external/libyuv/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/fragment/fragment-ktx/lint-baseline.xml b/fragment/fragment-ktx/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/fragment/fragment-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/fragment/fragment-lint/lint-baseline.xml b/fragment/fragment-lint/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/fragment/fragment-lint/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/fragment/fragment-testing-lint/lint-baseline.xml b/fragment/fragment-testing-lint/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/fragment/fragment-testing-lint/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/fragment/fragment-testing/lint-baseline.xml b/fragment/fragment-testing/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/fragment/fragment-testing/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/fragment/fragment-truth/lint-baseline.xml b/fragment/fragment-truth/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/fragment/fragment-truth/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/fragment/fragment/lint-baseline.xml b/fragment/fragment/lint-baseline.xml
index 5edf534..ab23efd 100644
--- a/fragment/fragment/lint-baseline.xml
+++ b/fragment/fragment/lint-baseline.xml
@@ -283,8 +283,19 @@
         errorLine2="                   ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/androidTest/java/androidx/fragment/app/FragmentTransitionTest.kt"
-            line="1682"
+            line="1683"
             column="20"/>
     </issue>
 
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(19)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/fragment/app/FragmentTransitionCompat21.java"
+            line="361"
+            column="5"/>
+    </issue>
+
 </issues>
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentViewTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentViewTest.kt
index 18a6a8b..e6100ad 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentViewTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentViewTest.kt
@@ -1094,6 +1094,46 @@
         assertThat(fragment3.onCreateViewCount).isEqualTo(1)
     }
 
+    @Test
+    fun childFragmentOnHiddenWhenParentHidden() {
+        activityRule.setContentView(R.layout.simple_container)
+        val container =
+            activityRule.activity.findViewById<View>(R.id.fragmentContainer) as ViewGroup
+        val fm = activityRule.activity.supportFragmentManager
+
+        val parent = StrictViewFragment(R.layout.fragment_container_view)
+
+        fm.beginTransaction()
+            .add(R.id.fragmentContainer, parent)
+            .addToBackStack(null)
+            .commit()
+
+        activityRule.executePendingTransactions()
+
+        assertChildren(container, parent)
+
+        val child = SimpleViewFragment()
+
+        parent.childFragmentManager.beginTransaction()
+            .add(R.id.fragment_container_view, child)
+            .addToBackStack(null)
+            .commit()
+
+        activityRule.executePendingTransactions(parent.childFragmentManager)
+
+        assertThat(child.wasHiddenChanged).isFalse()
+
+        fm.beginTransaction()
+            .hide(parent)
+            .addToBackStack(null)
+            .commit()
+
+        activityRule.executePendingTransactions()
+
+        assertThat(child.wasHiddenChanged).isTrue()
+        assertThat(child.hiddenValue).isTrue()
+    }
+
     private fun findViewById(viewId: Int): View? {
         return activityRule.activity.findViewById(viewId)
     }
@@ -1136,6 +1176,8 @@
 
     class SimpleViewFragment : Fragment(R.layout.fragment_a) {
         var onCreateViewCount: Int = 0
+        var wasHiddenChanged = false
+        var hiddenValue = false
 
         override fun onCreateView(
             inflater: LayoutInflater,
@@ -1145,5 +1187,11 @@
             onCreateViewCount++
             return super.onCreateView(inflater, container, savedInstanceState)
         }
+
+        override fun onHiddenChanged(hidden: Boolean) {
+            super.onHiddenChanged(hidden)
+            wasHiddenChanged = true
+            hiddenValue = hidden
+        }
     }
 }
diff --git a/fragment/fragment/src/main/baseline-prof.txt b/fragment/fragment/src/main/baseline-prof.txt
new file mode 100644
index 0000000..7aa2ee2
--- /dev/null
+++ b/fragment/fragment/src/main/baseline-prof.txt
@@ -0,0 +1,477 @@
+# Baseline profiles for androidx.fragment
+
+HSPLandroidx/fragment/R$styleable;-><clinit>()V
+HSPLandroidx/fragment/app/BackStackRecord;-><init>(Landroidx/fragment/app/FragmentManager;)V
+HSPLandroidx/fragment/app/BackStackRecord;->bumpBackStackNesting(I)V
+HSPLandroidx/fragment/app/BackStackRecord;->commit()I
+HSPLandroidx/fragment/app/BackStackRecord;->commitInternal(Z)I
+HSPLandroidx/fragment/app/BackStackRecord;->doAddOp(ILandroidx/fragment/app/Fragment;Ljava/lang/String;I)V
+HSPLandroidx/fragment/app/BackStackRecord;->executeOps()V
+HSPLandroidx/fragment/app/BackStackRecord;->expandOps(Ljava/util/ArrayList;Landroidx/fragment/app/Fragment;)Landroidx/fragment/app/Fragment;
+HSPLandroidx/fragment/app/BackStackRecord;->generateOps(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
+HSPLandroidx/fragment/app/BackStackRecord;->runOnCommitRunnables()V
+HSPLandroidx/fragment/app/BackStackRecord;->setPrimaryNavigationFragment(Landroidx/fragment/app/Fragment;)Landroidx/fragment/app/FragmentTransaction;
+HSPLandroidx/fragment/app/DefaultSpecialEffectsController;-><init>(Landroid/view/ViewGroup;)V
+HSPLandroidx/fragment/app/Fragment$1;-><init>(Landroidx/fragment/app/Fragment;)V
+HSPLandroidx/fragment/app/Fragment$4;-><init>(Landroidx/fragment/app/Fragment;)V
+HSPLandroidx/fragment/app/Fragment$4;->onFindViewById(I)Landroid/view/View;
+HSPLandroidx/fragment/app/Fragment$4;->onHasView()Z
+HSPLandroidx/fragment/app/Fragment$5;-><init>(Landroidx/fragment/app/Fragment;)V
+HSPLandroidx/fragment/app/Fragment$5;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V
+HSPLandroidx/fragment/app/Fragment$AnimationInfo;-><init>()V
+HSPLandroidx/fragment/app/Fragment;-><clinit>()V
+HSPLandroidx/fragment/app/Fragment;-><init>()V
+HSPLandroidx/fragment/app/Fragment;->createFragmentContainer()Landroidx/fragment/app/FragmentContainer;
+HSPLandroidx/fragment/app/Fragment;->ensureAnimationInfo()Landroidx/fragment/app/Fragment$AnimationInfo;
+HSPLandroidx/fragment/app/Fragment;->equals(Ljava/lang/Object;)Z
+HSPLandroidx/fragment/app/Fragment;->getActivity()Landroidx/fragment/app/FragmentActivity;
+HSPLandroidx/fragment/app/Fragment;->getChildFragmentManager()Landroidx/fragment/app/FragmentManager;
+HSPLandroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
+HSPLandroidx/fragment/app/Fragment;->getFocusedView()Landroid/view/View;
+HSPLandroidx/fragment/app/Fragment;->getId()I
+HSPLandroidx/fragment/app/Fragment;->getLayoutInflater(Landroid/os/Bundle;)Landroid/view/LayoutInflater;
+HSPLandroidx/fragment/app/Fragment;->getLifecycle()Landroidx/lifecycle/Lifecycle;
+HSPLandroidx/fragment/app/Fragment;->getMinimumMaxLifecycleState()I
+HSPLandroidx/fragment/app/Fragment;->getParentFragment()Landroidx/fragment/app/Fragment;
+HSPLandroidx/fragment/app/Fragment;->getParentFragmentManager()Landroidx/fragment/app/FragmentManager;
+HSPLandroidx/fragment/app/Fragment;->getPostOnViewCreatedAlpha()F
+HSPLandroidx/fragment/app/Fragment;->getSavedStateRegistry()Landroidx/savedstate/SavedStateRegistry;
+HSPLandroidx/fragment/app/Fragment;->getTag()Ljava/lang/String;
+HSPLandroidx/fragment/app/Fragment;->getView()Landroid/view/View;
+HSPLandroidx/fragment/app/Fragment;->getViewLifecycleOwner()Landroidx/lifecycle/LifecycleOwner;
+HSPLandroidx/fragment/app/Fragment;->getViewLifecycleOwnerLiveData()Landroidx/lifecycle/LiveData;
+HSPLandroidx/fragment/app/Fragment;->getViewModelStore()Landroidx/lifecycle/ViewModelStore;
+HSPLandroidx/fragment/app/Fragment;->initLifecycle()V
+HSPLandroidx/fragment/app/Fragment;->instantiate(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)Landroidx/fragment/app/Fragment;
+HSPLandroidx/fragment/app/Fragment;->isAdded()Z
+HSPLandroidx/fragment/app/Fragment;->isMenuVisible()Z
+HSPLandroidx/fragment/app/Fragment;->noteStateNotSaved()V
+HSPLandroidx/fragment/app/Fragment;->onActivityCreated(Landroid/os/Bundle;)V
+HSPLandroidx/fragment/app/Fragment;->onAttach(Landroid/app/Activity;)V
+HSPLandroidx/fragment/app/Fragment;->onAttach(Landroid/content/Context;)V
+HSPLandroidx/fragment/app/Fragment;->onAttachFragment(Landroidx/fragment/app/Fragment;)V
+HSPLandroidx/fragment/app/Fragment;->onCreate(Landroid/os/Bundle;)V
+HSPLandroidx/fragment/app/Fragment;->onGetLayoutInflater(Landroid/os/Bundle;)Landroid/view/LayoutInflater;
+HSPLandroidx/fragment/app/Fragment;->onInflate(Landroid/app/Activity;Landroid/util/AttributeSet;Landroid/os/Bundle;)V
+HSPLandroidx/fragment/app/Fragment;->onInflate(Landroid/content/Context;Landroid/util/AttributeSet;Landroid/os/Bundle;)V
+HSPLandroidx/fragment/app/Fragment;->onPrimaryNavigationFragmentChanged(Z)V
+HSPLandroidx/fragment/app/Fragment;->onResume()V
+HSPLandroidx/fragment/app/Fragment;->onStart()V
+HSPLandroidx/fragment/app/Fragment;->onViewCreated(Landroid/view/View;Landroid/os/Bundle;)V
+HSPLandroidx/fragment/app/Fragment;->onViewStateRestored(Landroid/os/Bundle;)V
+HSPLandroidx/fragment/app/Fragment;->performActivityCreated(Landroid/os/Bundle;)V
+HSPLandroidx/fragment/app/Fragment;->performAttach()V
+HSPLandroidx/fragment/app/Fragment;->performCreate(Landroid/os/Bundle;)V
+HSPLandroidx/fragment/app/Fragment;->performCreateOptionsMenu(Landroid/view/Menu;Landroid/view/MenuInflater;)Z
+HSPLandroidx/fragment/app/Fragment;->performCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)V
+HSPLandroidx/fragment/app/Fragment;->performGetLayoutInflater(Landroid/os/Bundle;)Landroid/view/LayoutInflater;
+HSPLandroidx/fragment/app/Fragment;->performPrepareOptionsMenu(Landroid/view/Menu;)Z
+HSPLandroidx/fragment/app/Fragment;->performPrimaryNavigationFragmentChanged()V
+HSPLandroidx/fragment/app/Fragment;->performResume()V
+HSPLandroidx/fragment/app/Fragment;->performStart()V
+HSPLandroidx/fragment/app/Fragment;->performViewCreated()V
+HSPLandroidx/fragment/app/Fragment;->requireContext()Landroid/content/Context;
+HSPLandroidx/fragment/app/Fragment;->requireView()Landroid/view/View;
+HSPLandroidx/fragment/app/Fragment;->restoreChildFragmentState(Landroid/os/Bundle;)V
+HSPLandroidx/fragment/app/Fragment;->restoreViewState()V
+HSPLandroidx/fragment/app/Fragment;->restoreViewState(Landroid/os/Bundle;)V
+HSPLandroidx/fragment/app/Fragment;->setAnimations(IIII)V
+HSPLandroidx/fragment/app/Fragment;->setArguments(Landroid/os/Bundle;)V
+HSPLandroidx/fragment/app/Fragment;->setFocusedView(Landroid/view/View;)V
+HSPLandroidx/fragment/app/Fragment;->setNextTransition(I)V
+HSPLandroidx/fragment/app/Fragment;->setPopDirection(Z)V
+HSPLandroidx/fragment/app/Fragment;->setPostOnViewCreatedAlpha(F)V
+HSPLandroidx/fragment/app/Fragment;->setSharedElementNames(Ljava/util/ArrayList;Ljava/util/ArrayList;)V
+HSPLandroidx/fragment/app/Fragment;->toString()Ljava/lang/String;
+HSPLandroidx/fragment/app/FragmentActivity$$ExternalSyntheticLambda0;-><init>(Landroidx/fragment/app/FragmentActivity;)V
+HSPLandroidx/fragment/app/FragmentActivity$$ExternalSyntheticLambda0;->onContextAvailable(Landroid/content/Context;)V
+HSPLandroidx/fragment/app/FragmentActivity$$ExternalSyntheticLambda1;-><init>(Landroidx/fragment/app/FragmentActivity;)V
+HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;-><init>(Landroidx/fragment/app/FragmentActivity;)V
+HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->getActivityResultRegistry()Landroidx/activity/result/ActivityResultRegistry;
+HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->getLifecycle()Landroidx/lifecycle/Lifecycle;
+HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->getOnBackPressedDispatcher()Landroidx/activity/OnBackPressedDispatcher;
+HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->getSavedStateRegistry()Landroidx/savedstate/SavedStateRegistry;
+HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->getViewModelStore()Landroidx/lifecycle/ViewModelStore;
+HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->onAttachFragment(Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;)V
+HSPLandroidx/fragment/app/FragmentActivity$HostCallbacks;->onGetLayoutInflater()Landroid/view/LayoutInflater;
+HSPLandroidx/fragment/app/FragmentActivity;-><init>()V
+HSPLandroidx/fragment/app/FragmentActivity;->dispatchFragmentsOnCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
+HSPLandroidx/fragment/app/FragmentActivity;->getSupportFragmentManager()Landroidx/fragment/app/FragmentManager;
+HSPLandroidx/fragment/app/FragmentActivity;->init()V
+HSPLandroidx/fragment/app/FragmentActivity;->lambda$init$1$androidx-fragment-app-FragmentActivity(Landroid/content/Context;)V
+HSPLandroidx/fragment/app/FragmentActivity;->onAttachFragment(Landroidx/fragment/app/Fragment;)V
+HSPLandroidx/fragment/app/FragmentActivity;->onCreate(Landroid/os/Bundle;)V
+HSPLandroidx/fragment/app/FragmentActivity;->onCreatePanelMenu(ILandroid/view/Menu;)Z
+HSPLandroidx/fragment/app/FragmentActivity;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
+HSPLandroidx/fragment/app/FragmentActivity;->onCreateView(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
+HSPLandroidx/fragment/app/FragmentActivity;->onPostResume()V
+HSPLandroidx/fragment/app/FragmentActivity;->onPrepareOptionsPanel(Landroid/view/View;Landroid/view/Menu;)Z
+HSPLandroidx/fragment/app/FragmentActivity;->onPreparePanel(ILandroid/view/View;Landroid/view/Menu;)Z
+HSPLandroidx/fragment/app/FragmentActivity;->onResume()V
+HSPLandroidx/fragment/app/FragmentActivity;->onResumeFragments()V
+HSPLandroidx/fragment/app/FragmentActivity;->onStart()V
+HSPLandroidx/fragment/app/FragmentActivity;->onStateNotSaved()V
+HSPLandroidx/fragment/app/FragmentContainer;-><init>()V
+HSPLandroidx/fragment/app/FragmentContainer;->instantiate(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)Landroidx/fragment/app/Fragment;
+HSPLandroidx/fragment/app/FragmentContainerView;-><init>(Landroid/content/Context;)V
+HSPLandroidx/fragment/app/FragmentContainerView;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
+HSPLandroidx/fragment/app/FragmentContainerView;->dispatchDraw(Landroid/graphics/Canvas;)V
+HSPLandroidx/fragment/app/FragmentContainerView;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z
+HSPLandroidx/fragment/app/FragmentController;-><init>(Landroidx/fragment/app/FragmentHostCallback;)V
+HSPLandroidx/fragment/app/FragmentController;->attachHost(Landroidx/fragment/app/Fragment;)V
+HSPLandroidx/fragment/app/FragmentController;->createController(Landroidx/fragment/app/FragmentHostCallback;)Landroidx/fragment/app/FragmentController;
+HSPLandroidx/fragment/app/FragmentController;->dispatchActivityCreated()V
+HSPLandroidx/fragment/app/FragmentController;->dispatchCreate()V
+HSPLandroidx/fragment/app/FragmentController;->dispatchCreateOptionsMenu(Landroid/view/Menu;Landroid/view/MenuInflater;)Z
+HSPLandroidx/fragment/app/FragmentController;->dispatchPrepareOptionsMenu(Landroid/view/Menu;)Z
+HSPLandroidx/fragment/app/FragmentController;->dispatchResume()V
+HSPLandroidx/fragment/app/FragmentController;->dispatchStart()V
+HSPLandroidx/fragment/app/FragmentController;->execPendingActions()Z
+HSPLandroidx/fragment/app/FragmentController;->getSupportFragmentManager()Landroidx/fragment/app/FragmentManager;
+HSPLandroidx/fragment/app/FragmentController;->noteStateNotSaved()V
+HSPLandroidx/fragment/app/FragmentController;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
+HSPLandroidx/fragment/app/FragmentFactory;-><clinit>()V
+HSPLandroidx/fragment/app/FragmentFactory;-><init>()V
+HSPLandroidx/fragment/app/FragmentFactory;->isFragmentClass(Ljava/lang/ClassLoader;Ljava/lang/String;)Z
+HSPLandroidx/fragment/app/FragmentFactory;->loadClass(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/Class;
+HSPLandroidx/fragment/app/FragmentFactory;->loadFragmentClass(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/Class;
+HSPLandroidx/fragment/app/FragmentHostCallback;-><init>(Landroid/app/Activity;Landroid/content/Context;Landroid/os/Handler;I)V
+HSPLandroidx/fragment/app/FragmentHostCallback;-><init>(Landroidx/fragment/app/FragmentActivity;)V
+HSPLandroidx/fragment/app/FragmentHostCallback;->getActivity()Landroid/app/Activity;
+HSPLandroidx/fragment/app/FragmentHostCallback;->getContext()Landroid/content/Context;
+HSPLandroidx/fragment/app/FragmentHostCallback;->getHandler()Landroid/os/Handler;
+HSPLandroidx/fragment/app/FragmentLayoutInflaterFactory$1;-><init>(Landroidx/fragment/app/FragmentLayoutInflaterFactory;Landroidx/fragment/app/FragmentStateManager;)V
+HSPLandroidx/fragment/app/FragmentLayoutInflaterFactory$1;->onViewAttachedToWindow(Landroid/view/View;)V
+HSPLandroidx/fragment/app/FragmentLayoutInflaterFactory;-><init>(Landroidx/fragment/app/FragmentManager;)V
+HSPLandroidx/fragment/app/FragmentLayoutInflaterFactory;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
+HSPLandroidx/fragment/app/FragmentLifecycleCallbacksDispatcher$FragmentLifecycleCallbacksHolder;-><init>(Landroidx/fragment/app/FragmentManager$FragmentLifecycleCallbacks;Z)V
+HSPLandroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;-><init>(Landroidx/fragment/app/FragmentManager;)V
+HSPLandroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentActivityCreated(Landroidx/fragment/app/Fragment;Landroid/os/Bundle;Z)V
+HSPLandroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentAttached(Landroidx/fragment/app/Fragment;Z)V
+HSPLandroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentCreated(Landroidx/fragment/app/Fragment;Landroid/os/Bundle;Z)V
+HSPLandroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentPreAttached(Landroidx/fragment/app/Fragment;Z)V
+HSPLandroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentPreCreated(Landroidx/fragment/app/Fragment;Landroid/os/Bundle;Z)V
+HSPLandroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentResumed(Landroidx/fragment/app/Fragment;Z)V
+HSPLandroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentStarted(Landroidx/fragment/app/Fragment;Z)V
+HSPLandroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentViewCreated(Landroidx/fragment/app/Fragment;Landroid/view/View;Landroid/os/Bundle;Z)V
+HSPLandroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->registerFragmentLifecycleCallbacks(Landroidx/fragment/app/FragmentManager$FragmentLifecycleCallbacks;Z)V
+HSPLandroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda0;-><init>(Landroidx/fragment/app/FragmentManager;)V
+HSPLandroidx/fragment/app/FragmentManager$1;-><init>(Landroidx/fragment/app/FragmentManager;Z)V
+HSPLandroidx/fragment/app/FragmentManager$2;-><init>(Landroidx/fragment/app/FragmentManager;)V
+HSPLandroidx/fragment/app/FragmentManager$2;->instantiate(Ljava/lang/ClassLoader;Ljava/lang/String;)Landroidx/fragment/app/Fragment;
+HSPLandroidx/fragment/app/FragmentManager$3;-><init>(Landroidx/fragment/app/FragmentManager;)V
+HSPLandroidx/fragment/app/FragmentManager$3;->createController(Landroid/view/ViewGroup;)Landroidx/fragment/app/SpecialEffectsController;
+HSPLandroidx/fragment/app/FragmentManager$4;-><init>(Landroidx/fragment/app/FragmentManager;)V
+HSPLandroidx/fragment/app/FragmentManager$6;-><init>(Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;)V
+HSPLandroidx/fragment/app/FragmentManager$6;->onAttachFragment(Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;)V
+HSPLandroidx/fragment/app/FragmentManager$7;-><init>(Landroidx/fragment/app/FragmentManager;)V
+HSPLandroidx/fragment/app/FragmentManager$8;-><init>(Landroidx/fragment/app/FragmentManager;)V
+HSPLandroidx/fragment/app/FragmentManager$9;-><init>(Landroidx/fragment/app/FragmentManager;)V
+HSPLandroidx/fragment/app/FragmentManager$FragmentIntentSenderContract;-><init>()V
+HSPLandroidx/fragment/app/FragmentManager$FragmentLifecycleCallbacks;-><init>()V
+HSPLandroidx/fragment/app/FragmentManager$FragmentLifecycleCallbacks;->onFragmentActivityCreated(Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;Landroid/os/Bundle;)V
+HSPLandroidx/fragment/app/FragmentManager$FragmentLifecycleCallbacks;->onFragmentAttached(Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;Landroid/content/Context;)V
+HSPLandroidx/fragment/app/FragmentManager$FragmentLifecycleCallbacks;->onFragmentPreAttached(Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;Landroid/content/Context;)V
+HSPLandroidx/fragment/app/FragmentManager$FragmentLifecycleCallbacks;->onFragmentPreCreated(Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;Landroid/os/Bundle;)V
+HSPLandroidx/fragment/app/FragmentManager$FragmentLifecycleCallbacks;->onFragmentResumed(Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;)V
+HSPLandroidx/fragment/app/FragmentManager$FragmentLifecycleCallbacks;->onFragmentStarted(Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;)V
+HSPLandroidx/fragment/app/FragmentManager$FragmentLifecycleCallbacks;->onFragmentViewCreated(Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;Landroid/view/View;Landroid/os/Bundle;)V
+HSPLandroidx/fragment/app/FragmentManager;-><clinit>()V
+HSPLandroidx/fragment/app/FragmentManager;-><init>()V
+HSPLandroidx/fragment/app/FragmentManager;->addFragment(Landroidx/fragment/app/Fragment;)Landroidx/fragment/app/FragmentStateManager;
+HSPLandroidx/fragment/app/FragmentManager;->addFragmentOnAttachListener(Landroidx/fragment/app/FragmentOnAttachListener;)V
+HSPLandroidx/fragment/app/FragmentManager;->attachController(Landroidx/fragment/app/FragmentHostCallback;Landroidx/fragment/app/FragmentContainer;Landroidx/fragment/app/Fragment;)V
+HSPLandroidx/fragment/app/FragmentManager;->beginTransaction()Landroidx/fragment/app/FragmentTransaction;
+HSPLandroidx/fragment/app/FragmentManager;->checkForMenus()Z
+HSPLandroidx/fragment/app/FragmentManager;->checkStateLoss()V
+HSPLandroidx/fragment/app/FragmentManager;->cleanupExec()V
+HSPLandroidx/fragment/app/FragmentManager;->collectAllSpecialEffectsController()Ljava/util/Set;
+HSPLandroidx/fragment/app/FragmentManager;->collectChangedControllers(Ljava/util/ArrayList;II)Ljava/util/Set;
+HSPLandroidx/fragment/app/FragmentManager;->createOrGetFragmentStateManager(Landroidx/fragment/app/Fragment;)Landroidx/fragment/app/FragmentStateManager;
+HSPLandroidx/fragment/app/FragmentManager;->dispatchActivityCreated()V
+HSPLandroidx/fragment/app/FragmentManager;->dispatchAttach()V
+HSPLandroidx/fragment/app/FragmentManager;->dispatchCreate()V
+HSPLandroidx/fragment/app/FragmentManager;->dispatchCreateOptionsMenu(Landroid/view/Menu;Landroid/view/MenuInflater;)Z
+HSPLandroidx/fragment/app/FragmentManager;->dispatchOnAttachFragment(Landroidx/fragment/app/Fragment;)V
+HSPLandroidx/fragment/app/FragmentManager;->dispatchParentPrimaryNavigationFragmentChanged(Landroidx/fragment/app/Fragment;)V
+HSPLandroidx/fragment/app/FragmentManager;->dispatchPrepareOptionsMenu(Landroid/view/Menu;)Z
+HSPLandroidx/fragment/app/FragmentManager;->dispatchPrimaryNavigationFragmentChanged()V
+HSPLandroidx/fragment/app/FragmentManager;->dispatchResume()V
+HSPLandroidx/fragment/app/FragmentManager;->dispatchStart()V
+HSPLandroidx/fragment/app/FragmentManager;->dispatchStateChange(I)V
+HSPLandroidx/fragment/app/FragmentManager;->dispatchViewCreated()V
+HSPLandroidx/fragment/app/FragmentManager;->doPendingDeferredStart()V
+HSPLandroidx/fragment/app/FragmentManager;->enqueueAction(Landroidx/fragment/app/FragmentManager$OpGenerator;Z)V
+HSPLandroidx/fragment/app/FragmentManager;->ensureExecReady(Z)V
+HSPLandroidx/fragment/app/FragmentManager;->execPendingActions(Z)Z
+HSPLandroidx/fragment/app/FragmentManager;->executeOps(Ljava/util/ArrayList;Ljava/util/ArrayList;II)V
+HSPLandroidx/fragment/app/FragmentManager;->executeOpsTogether(Ljava/util/ArrayList;Ljava/util/ArrayList;II)V
+HSPLandroidx/fragment/app/FragmentManager;->findActiveFragment(Ljava/lang/String;)Landroidx/fragment/app/Fragment;
+HSPLandroidx/fragment/app/FragmentManager;->findFragmentById(I)Landroidx/fragment/app/Fragment;
+HSPLandroidx/fragment/app/FragmentManager;->generateOpsForPendingActions(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
+HSPLandroidx/fragment/app/FragmentManager;->getBackStackEntryCount()I
+HSPLandroidx/fragment/app/FragmentManager;->getChildNonConfig(Landroidx/fragment/app/Fragment;)Landroidx/fragment/app/FragmentManagerViewModel;
+HSPLandroidx/fragment/app/FragmentManager;->getContainer()Landroidx/fragment/app/FragmentContainer;
+HSPLandroidx/fragment/app/FragmentManager;->getFragmentContainer(Landroidx/fragment/app/Fragment;)Landroid/view/ViewGroup;
+HSPLandroidx/fragment/app/FragmentManager;->getFragmentFactory()Landroidx/fragment/app/FragmentFactory;
+HSPLandroidx/fragment/app/FragmentManager;->getHost()Landroidx/fragment/app/FragmentHostCallback;
+HSPLandroidx/fragment/app/FragmentManager;->getLayoutInflaterFactory()Landroid/view/LayoutInflater$Factory2;
+HSPLandroidx/fragment/app/FragmentManager;->getLifecycleCallbacksDispatcher()Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;
+HSPLandroidx/fragment/app/FragmentManager;->getParent()Landroidx/fragment/app/Fragment;
+HSPLandroidx/fragment/app/FragmentManager;->getPrimaryNavigationFragment()Landroidx/fragment/app/Fragment;
+HSPLandroidx/fragment/app/FragmentManager;->getSpecialEffectsControllerFactory()Landroidx/fragment/app/SpecialEffectsControllerFactory;
+HSPLandroidx/fragment/app/FragmentManager;->getStrictModePolicy()Landroidx/fragment/app/strictmode/FragmentStrictMode$Policy;
+HSPLandroidx/fragment/app/FragmentManager;->getViewFragment(Landroid/view/View;)Landroidx/fragment/app/Fragment;
+HSPLandroidx/fragment/app/FragmentManager;->getViewModelStore(Landroidx/fragment/app/Fragment;)Landroidx/lifecycle/ViewModelStore;
+HSPLandroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z
+HSPLandroidx/fragment/app/FragmentManager;->isMenuAvailable(Landroidx/fragment/app/Fragment;)Z
+HSPLandroidx/fragment/app/FragmentManager;->isParentMenuVisible(Landroidx/fragment/app/Fragment;)Z
+HSPLandroidx/fragment/app/FragmentManager;->isPrimaryNavigation(Landroidx/fragment/app/Fragment;)Z
+HSPLandroidx/fragment/app/FragmentManager;->isStateAtLeast(I)Z
+HSPLandroidx/fragment/app/FragmentManager;->isStateSaved()Z
+HSPLandroidx/fragment/app/FragmentManager;->moveToState(IZ)V
+HSPLandroidx/fragment/app/FragmentManager;->noteStateNotSaved()V
+HSPLandroidx/fragment/app/FragmentManager;->performPendingDeferredStart(Landroidx/fragment/app/FragmentStateManager;)V
+HSPLandroidx/fragment/app/FragmentManager;->registerFragmentLifecycleCallbacks(Landroidx/fragment/app/FragmentManager$FragmentLifecycleCallbacks;Z)V
+HSPLandroidx/fragment/app/FragmentManager;->removeRedundantOperationsAndExecute(Ljava/util/ArrayList;Ljava/util/ArrayList;)V
+HSPLandroidx/fragment/app/FragmentManager;->scheduleCommit()V
+HSPLandroidx/fragment/app/FragmentManager;->setExitAnimationOrder(Landroidx/fragment/app/Fragment;Z)V
+HSPLandroidx/fragment/app/FragmentManager;->setPrimaryNavigationFragment(Landroidx/fragment/app/Fragment;)V
+HSPLandroidx/fragment/app/FragmentManager;->startPendingDeferredFragments()V
+HSPLandroidx/fragment/app/FragmentManager;->updateOnBackPressedCallbackEnabled()V
+HSPLandroidx/fragment/app/FragmentManagerImpl;-><init>()V
+HSPLandroidx/fragment/app/FragmentManagerViewModel$1;-><init>()V
+HSPLandroidx/fragment/app/FragmentManagerViewModel$1;->create(Ljava/lang/Class;)Landroidx/lifecycle/ViewModel;
+HSPLandroidx/fragment/app/FragmentManagerViewModel;-><clinit>()V
+HSPLandroidx/fragment/app/FragmentManagerViewModel;-><init>(Z)V
+HSPLandroidx/fragment/app/FragmentManagerViewModel;->getChildNonConfig(Landroidx/fragment/app/Fragment;)Landroidx/fragment/app/FragmentManagerViewModel;
+HSPLandroidx/fragment/app/FragmentManagerViewModel;->getInstance(Landroidx/lifecycle/ViewModelStore;)Landroidx/fragment/app/FragmentManagerViewModel;
+HSPLandroidx/fragment/app/FragmentManagerViewModel;->getViewModelStore(Landroidx/fragment/app/Fragment;)Landroidx/lifecycle/ViewModelStore;
+HSPLandroidx/fragment/app/FragmentManagerViewModel;->setIsStateSaved(Z)V
+HSPLandroidx/fragment/app/FragmentStateManager$1;-><init>(Landroidx/fragment/app/FragmentStateManager;Landroid/view/View;)V
+HSPLandroidx/fragment/app/FragmentStateManager$1;->onViewAttachedToWindow(Landroid/view/View;)V
+HSPLandroidx/fragment/app/FragmentStateManager$2;-><clinit>()V
+HSPLandroidx/fragment/app/FragmentStateManager;-><init>(Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;Landroidx/fragment/app/FragmentStore;Landroidx/fragment/app/Fragment;)V
+HSPLandroidx/fragment/app/FragmentStateManager;->activityCreated()V
+HSPLandroidx/fragment/app/FragmentStateManager;->addViewToContainer()V
+HSPLandroidx/fragment/app/FragmentStateManager;->attach()V
+HSPLandroidx/fragment/app/FragmentStateManager;->computeExpectedState()I
+HSPLandroidx/fragment/app/FragmentStateManager;->create()V
+HSPLandroidx/fragment/app/FragmentStateManager;->createView()V
+HSPLandroidx/fragment/app/FragmentStateManager;->ensureInflatedView()V
+HSPLandroidx/fragment/app/FragmentStateManager;->getFragment()Landroidx/fragment/app/Fragment;
+HSPLandroidx/fragment/app/FragmentStateManager;->moveToExpectedState()V
+HSPLandroidx/fragment/app/FragmentStateManager;->restoreState(Ljava/lang/ClassLoader;)V
+HSPLandroidx/fragment/app/FragmentStateManager;->resume()V
+HSPLandroidx/fragment/app/FragmentStateManager;->setFragmentManagerState(I)V
+HSPLandroidx/fragment/app/FragmentStateManager;->start()V
+HSPLandroidx/fragment/app/FragmentStore;-><init>()V
+HSPLandroidx/fragment/app/FragmentStore;->addFragment(Landroidx/fragment/app/Fragment;)V
+HSPLandroidx/fragment/app/FragmentStore;->burpActive()V
+HSPLandroidx/fragment/app/FragmentStore;->containsActiveFragment(Ljava/lang/String;)Z
+HSPLandroidx/fragment/app/FragmentStore;->dispatchStateChange(I)V
+HSPLandroidx/fragment/app/FragmentStore;->findActiveFragment(Ljava/lang/String;)Landroidx/fragment/app/Fragment;
+HSPLandroidx/fragment/app/FragmentStore;->findFragmentById(I)Landroidx/fragment/app/Fragment;
+HSPLandroidx/fragment/app/FragmentStore;->findFragmentIndexInContainer(Landroidx/fragment/app/Fragment;)I
+HSPLandroidx/fragment/app/FragmentStore;->getActiveFragmentStateManagers()Ljava/util/List;
+HSPLandroidx/fragment/app/FragmentStore;->getActiveFragments()Ljava/util/List;
+HSPLandroidx/fragment/app/FragmentStore;->getFragmentStateManager(Ljava/lang/String;)Landroidx/fragment/app/FragmentStateManager;
+HSPLandroidx/fragment/app/FragmentStore;->getFragments()Ljava/util/List;
+HSPLandroidx/fragment/app/FragmentStore;->makeActive(Landroidx/fragment/app/FragmentStateManager;)V
+HSPLandroidx/fragment/app/FragmentStore;->moveToExpectedState()V
+HSPLandroidx/fragment/app/FragmentStore;->setNonConfig(Landroidx/fragment/app/FragmentManagerViewModel;)V
+HSPLandroidx/fragment/app/FragmentTransaction$Op;-><init>(ILandroidx/fragment/app/Fragment;)V
+HSPLandroidx/fragment/app/FragmentTransaction$Op;-><init>(ILandroidx/fragment/app/Fragment;Z)V
+HSPLandroidx/fragment/app/FragmentTransaction;-><init>(Landroidx/fragment/app/FragmentFactory;Ljava/lang/ClassLoader;)V
+HSPLandroidx/fragment/app/FragmentTransaction;->addOp(Landroidx/fragment/app/FragmentTransaction$Op;)V
+HSPLandroidx/fragment/app/FragmentTransaction;->doAddOp(ILandroidx/fragment/app/Fragment;Ljava/lang/String;I)V
+HSPLandroidx/fragment/app/FragmentTransaction;->replace(ILandroidx/fragment/app/Fragment;)Landroidx/fragment/app/FragmentTransaction;
+HSPLandroidx/fragment/app/FragmentTransaction;->replace(ILandroidx/fragment/app/Fragment;Ljava/lang/String;)Landroidx/fragment/app/FragmentTransaction;
+HSPLandroidx/fragment/app/FragmentTransaction;->setPrimaryNavigationFragment(Landroidx/fragment/app/Fragment;)Landroidx/fragment/app/FragmentTransaction;
+HSPLandroidx/fragment/app/FragmentTransaction;->setReorderingAllowed(Z)Landroidx/fragment/app/FragmentTransaction;
+HSPLandroidx/fragment/app/FragmentViewLifecycleOwner;-><init>(Landroidx/fragment/app/Fragment;Landroidx/lifecycle/ViewModelStore;)V
+HSPLandroidx/fragment/app/FragmentViewLifecycleOwner;->getLifecycle()Landroidx/lifecycle/Lifecycle;
+HSPLandroidx/fragment/app/FragmentViewLifecycleOwner;->getSavedStateRegistry()Landroidx/savedstate/SavedStateRegistry;
+HSPLandroidx/fragment/app/FragmentViewLifecycleOwner;->handleLifecycleEvent(Landroidx/lifecycle/Lifecycle$Event;)V
+HSPLandroidx/fragment/app/FragmentViewLifecycleOwner;->initialize()V
+HSPLandroidx/fragment/app/FragmentViewLifecycleOwner;->performRestore(Landroid/os/Bundle;)V
+HSPLandroidx/fragment/app/FragmentViewModelLazyKt;->createViewModelLazy(Landroidx/fragment/app/Fragment;Lkotlin/reflect/KClass;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;)Lkotlin/Lazy;
+HSPLandroidx/fragment/app/SpecialEffectsController$1;-><init>(Landroidx/fragment/app/SpecialEffectsController;Landroidx/fragment/app/SpecialEffectsController$FragmentStateManagerOperation;)V
+HSPLandroidx/fragment/app/SpecialEffectsController$1;->run()V
+HSPLandroidx/fragment/app/SpecialEffectsController$2;-><init>(Landroidx/fragment/app/SpecialEffectsController;Landroidx/fragment/app/SpecialEffectsController$FragmentStateManagerOperation;)V
+HSPLandroidx/fragment/app/SpecialEffectsController$2;->run()V
+HSPLandroidx/fragment/app/SpecialEffectsController$3;-><clinit>()V
+HSPLandroidx/fragment/app/SpecialEffectsController$FragmentStateManagerOperation;-><init>(Landroidx/fragment/app/SpecialEffectsController$Operation$State;Landroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact;Landroidx/fragment/app/FragmentStateManager;Landroidx/core/os/CancellationSignal;)V
+HSPLandroidx/fragment/app/SpecialEffectsController$FragmentStateManagerOperation;->complete()V
+HSPLandroidx/fragment/app/SpecialEffectsController$FragmentStateManagerOperation;->onStart()V
+HSPLandroidx/fragment/app/SpecialEffectsController$Operation$1;-><init>(Landroidx/fragment/app/SpecialEffectsController$Operation;)V
+HSPLandroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact;-><clinit>()V
+HSPLandroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact;-><init>(Ljava/lang/String;I)V
+HSPLandroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact;->values()[Landroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact;
+HSPLandroidx/fragment/app/SpecialEffectsController$Operation$State;-><clinit>()V
+HSPLandroidx/fragment/app/SpecialEffectsController$Operation$State;-><init>(Ljava/lang/String;I)V
+HSPLandroidx/fragment/app/SpecialEffectsController$Operation$State;->applyState(Landroid/view/View;)V
+HSPLandroidx/fragment/app/SpecialEffectsController$Operation$State;->from(I)Landroidx/fragment/app/SpecialEffectsController$Operation$State;
+HSPLandroidx/fragment/app/SpecialEffectsController$Operation$State;->values()[Landroidx/fragment/app/SpecialEffectsController$Operation$State;
+HSPLandroidx/fragment/app/SpecialEffectsController$Operation;-><init>(Landroidx/fragment/app/SpecialEffectsController$Operation$State;Landroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact;Landroidx/fragment/app/Fragment;Landroidx/core/os/CancellationSignal;)V
+HSPLandroidx/fragment/app/SpecialEffectsController$Operation;->addCompletionListener(Ljava/lang/Runnable;)V
+HSPLandroidx/fragment/app/SpecialEffectsController$Operation;->cancel()V
+HSPLandroidx/fragment/app/SpecialEffectsController$Operation;->complete()V
+HSPLandroidx/fragment/app/SpecialEffectsController$Operation;->getFinalState()Landroidx/fragment/app/SpecialEffectsController$Operation$State;
+HSPLandroidx/fragment/app/SpecialEffectsController$Operation;->getFragment()Landroidx/fragment/app/Fragment;
+HSPLandroidx/fragment/app/SpecialEffectsController$Operation;->getLifecycleImpact()Landroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact;
+HSPLandroidx/fragment/app/SpecialEffectsController$Operation;->isCanceled()Z
+HSPLandroidx/fragment/app/SpecialEffectsController$Operation;->mergeWith(Landroidx/fragment/app/SpecialEffectsController$Operation$State;Landroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact;)V
+HSPLandroidx/fragment/app/SpecialEffectsController;-><init>(Landroid/view/ViewGroup;)V
+HSPLandroidx/fragment/app/SpecialEffectsController;->enqueue(Landroidx/fragment/app/SpecialEffectsController$Operation$State;Landroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact;Landroidx/fragment/app/FragmentStateManager;)V
+HSPLandroidx/fragment/app/SpecialEffectsController;->enqueueAdd(Landroidx/fragment/app/SpecialEffectsController$Operation$State;Landroidx/fragment/app/FragmentStateManager;)V
+HSPLandroidx/fragment/app/SpecialEffectsController;->executePendingOperations()V
+HSPLandroidx/fragment/app/SpecialEffectsController;->findPendingOperation(Landroidx/fragment/app/Fragment;)Landroidx/fragment/app/SpecialEffectsController$Operation;
+HSPLandroidx/fragment/app/SpecialEffectsController;->findRunningOperation(Landroidx/fragment/app/Fragment;)Landroidx/fragment/app/SpecialEffectsController$Operation;
+HSPLandroidx/fragment/app/SpecialEffectsController;->forceCompleteAllOperations()V
+HSPLandroidx/fragment/app/SpecialEffectsController;->getAwaitingCompletionLifecycleImpact(Landroidx/fragment/app/FragmentStateManager;)Landroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact;
+HSPLandroidx/fragment/app/SpecialEffectsController;->getOrCreateController(Landroid/view/ViewGroup;Landroidx/fragment/app/FragmentManager;)Landroidx/fragment/app/SpecialEffectsController;
+HSPLandroidx/fragment/app/SpecialEffectsController;->getOrCreateController(Landroid/view/ViewGroup;Landroidx/fragment/app/SpecialEffectsControllerFactory;)Landroidx/fragment/app/SpecialEffectsController;
+HSPLandroidx/fragment/app/SpecialEffectsController;->markPostponedState()V
+HSPLandroidx/fragment/app/SpecialEffectsController;->updateFinalState()V
+HSPLandroidx/fragment/app/SpecialEffectsController;->updateOperationDirection(Z)V
+HSPLandroidx/fragment/app/strictmode/FragmentStrictMode$Flag;->$values()[Landroidx/fragment/app/strictmode/FragmentStrictMode$Flag;
+HSPLandroidx/fragment/app/strictmode/FragmentStrictMode$Flag;-><clinit>()V
+HSPLandroidx/fragment/app/strictmode/FragmentStrictMode$Flag;-><init>(Ljava/lang/String;I)V
+HSPLandroidx/fragment/app/strictmode/FragmentStrictMode$Policy$Companion;-><init>()V
+HSPLandroidx/fragment/app/strictmode/FragmentStrictMode$Policy$Companion;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+HSPLandroidx/fragment/app/strictmode/FragmentStrictMode$Policy;-><clinit>()V
+HSPLandroidx/fragment/app/strictmode/FragmentStrictMode$Policy;-><init>(Ljava/util/Set;Landroidx/fragment/app/strictmode/FragmentStrictMode$OnViolationListener;Ljava/util/Map;)V
+HSPLandroidx/fragment/app/strictmode/FragmentStrictMode$Policy;->getFlags$fragment_release()Ljava/util/Set;
+HSPLandroidx/fragment/app/strictmode/FragmentStrictMode;-><clinit>()V
+HSPLandroidx/fragment/app/strictmode/FragmentStrictMode;-><init>()V
+HSPLandroidx/fragment/app/strictmode/FragmentStrictMode;->getNearestPolicy(Landroidx/fragment/app/Fragment;)Landroidx/fragment/app/strictmode/FragmentStrictMode$Policy;
+HSPLandroidx/fragment/app/strictmode/FragmentStrictMode;->logIfDebuggingEnabled(Landroidx/fragment/app/strictmode/Violation;)V
+HSPLandroidx/fragment/app/strictmode/FragmentStrictMode;->onFragmentTagUsage(Landroidx/fragment/app/Fragment;Landroid/view/ViewGroup;)V
+HSPLandroidx/fragment/app/strictmode/FragmentTagUsageViolation;-><init>(Landroidx/fragment/app/Fragment;Landroid/view/ViewGroup;)V
+HSPLandroidx/fragment/app/strictmode/Violation;-><init>(Landroidx/fragment/app/Fragment;Ljava/lang/String;)V
+Landroidx/fragment/R$id;
+Landroidx/fragment/R$styleable;
+Landroidx/fragment/app/BackStackRecord;
+Landroidx/fragment/app/DefaultSpecialEffectsController;
+Landroidx/fragment/app/Fragment$1;
+Landroidx/fragment/app/Fragment$4;
+Landroidx/fragment/app/Fragment$5;
+Landroidx/fragment/app/Fragment$AnimationInfo;
+Landroidx/fragment/app/Fragment;
+Landroidx/fragment/app/FragmentActivity$$ExternalSyntheticLambda0;
+Landroidx/fragment/app/FragmentActivity$$ExternalSyntheticLambda1;
+Landroidx/fragment/app/FragmentActivity$HostCallbacks;
+Landroidx/fragment/app/FragmentActivity;
+Landroidx/fragment/app/FragmentContainer;
+Landroidx/fragment/app/FragmentContainerView;
+Landroidx/fragment/app/FragmentController;
+Landroidx/fragment/app/FragmentFactory;
+Landroidx/fragment/app/FragmentHostCallback;
+Landroidx/fragment/app/FragmentLayoutInflaterFactory$1;
+Landroidx/fragment/app/FragmentLayoutInflaterFactory;
+Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher$FragmentLifecycleCallbacksHolder;
+Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;
+Landroidx/fragment/app/FragmentManager$$ExternalSyntheticLambda0;
+Landroidx/fragment/app/FragmentManager$1;
+Landroidx/fragment/app/FragmentManager$2;
+Landroidx/fragment/app/FragmentManager$3;
+Landroidx/fragment/app/FragmentManager$4;
+Landroidx/fragment/app/FragmentManager$6;
+Landroidx/fragment/app/FragmentManager$7;
+Landroidx/fragment/app/FragmentManager$8;
+Landroidx/fragment/app/FragmentManager$9;
+Landroidx/fragment/app/FragmentManager$BackStackEntry;
+Landroidx/fragment/app/FragmentManager$FragmentIntentSenderContract;
+Landroidx/fragment/app/FragmentManager$FragmentLifecycleCallbacks;
+Landroidx/fragment/app/FragmentManager$OpGenerator;
+Landroidx/fragment/app/FragmentManager;
+Landroidx/fragment/app/FragmentManagerImpl;
+Landroidx/fragment/app/FragmentManagerViewModel$1;
+Landroidx/fragment/app/FragmentManagerViewModel;
+Landroidx/fragment/app/FragmentOnAttachListener;
+Landroidx/fragment/app/FragmentResultOwner;
+Landroidx/fragment/app/FragmentStateManager$1;
+Landroidx/fragment/app/FragmentStateManager$2;
+Landroidx/fragment/app/FragmentStateManager;
+Landroidx/fragment/app/FragmentStore;
+Landroidx/fragment/app/FragmentTransaction$Op;
+Landroidx/fragment/app/FragmentTransaction;
+Landroidx/fragment/app/FragmentViewLifecycleOwner;
+Landroidx/fragment/app/FragmentViewModelLazyKt;
+Landroidx/fragment/app/SpecialEffectsController$1;
+Landroidx/fragment/app/SpecialEffectsController$2;
+Landroidx/fragment/app/SpecialEffectsController$3;
+Landroidx/fragment/app/SpecialEffectsController$FragmentStateManagerOperation;
+Landroidx/fragment/app/SpecialEffectsController$Operation$1;
+Landroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact;
+Landroidx/fragment/app/SpecialEffectsController$Operation$State;
+Landroidx/fragment/app/SpecialEffectsController$Operation;
+Landroidx/fragment/app/SpecialEffectsController;
+Landroidx/fragment/app/SpecialEffectsControllerFactory;
+Landroidx/fragment/app/strictmode/FragmentStrictMode$Flag;
+Landroidx/fragment/app/strictmode/FragmentStrictMode$Policy$Companion;
+Landroidx/fragment/app/strictmode/FragmentStrictMode$Policy;
+Landroidx/fragment/app/strictmode/FragmentStrictMode;
+Landroidx/fragment/app/strictmode/FragmentTagUsageViolation;
+Landroidx/fragment/app/strictmode/Violation;
+PLandroidx/fragment/app/Fragment$Api19Impl;->cancelPendingInputEvents(Landroid/view/View;)V
+PLandroidx/fragment/app/Fragment;->getHost()Ljava/lang/Object;
+PLandroidx/fragment/app/Fragment;->initState()V
+PLandroidx/fragment/app/Fragment;->onDestroy()V
+PLandroidx/fragment/app/Fragment;->onDestroyView()V
+PLandroidx/fragment/app/Fragment;->onDetach()V
+PLandroidx/fragment/app/Fragment;->onPause()V
+PLandroidx/fragment/app/Fragment;->onStop()V
+PLandroidx/fragment/app/Fragment;->performDestroy()V
+PLandroidx/fragment/app/Fragment;->performDestroyView()V
+PLandroidx/fragment/app/Fragment;->performDetach()V
+PLandroidx/fragment/app/Fragment;->performPause()V
+PLandroidx/fragment/app/Fragment;->performStop()V
+PLandroidx/fragment/app/FragmentActivity$HostCallbacks;->onGetHost()Landroidx/fragment/app/FragmentActivity;
+PLandroidx/fragment/app/FragmentActivity$HostCallbacks;->onGetHost()Ljava/lang/Object;
+PLandroidx/fragment/app/FragmentActivity;->markFragmentsCreated()V
+PLandroidx/fragment/app/FragmentActivity;->markState(Landroidx/fragment/app/FragmentManager;Landroidx/lifecycle/Lifecycle$State;)Z
+PLandroidx/fragment/app/FragmentActivity;->onDestroy()V
+PLandroidx/fragment/app/FragmentActivity;->onPause()V
+PLandroidx/fragment/app/FragmentActivity;->onStop()V
+PLandroidx/fragment/app/FragmentContainerView;->addDisappearingFragmentView(Landroid/view/View;)V
+PLandroidx/fragment/app/FragmentContainerView;->removeView(Landroid/view/View;)V
+PLandroidx/fragment/app/FragmentController;->dispatchDestroy()V
+PLandroidx/fragment/app/FragmentController;->dispatchPause()V
+PLandroidx/fragment/app/FragmentController;->dispatchStop()V
+PLandroidx/fragment/app/FragmentLayoutInflaterFactory$1;->onViewDetachedFromWindow(Landroid/view/View;)V
+PLandroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentDestroyed(Landroidx/fragment/app/Fragment;Z)V
+PLandroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentDetached(Landroidx/fragment/app/Fragment;Z)V
+PLandroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentPaused(Landroidx/fragment/app/Fragment;Z)V
+PLandroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentStopped(Landroidx/fragment/app/Fragment;Z)V
+PLandroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentViewDestroyed(Landroidx/fragment/app/Fragment;Z)V
+PLandroidx/fragment/app/FragmentManager$FragmentLifecycleCallbacks;->onFragmentDestroyed(Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;)V
+PLandroidx/fragment/app/FragmentManager$FragmentLifecycleCallbacks;->onFragmentDetached(Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;)V
+PLandroidx/fragment/app/FragmentManager$FragmentLifecycleCallbacks;->onFragmentPaused(Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;)V
+PLandroidx/fragment/app/FragmentManager$FragmentLifecycleCallbacks;->onFragmentStopped(Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;)V
+PLandroidx/fragment/app/FragmentManager$FragmentLifecycleCallbacks;->onFragmentViewDestroyed(Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;)V
+PLandroidx/fragment/app/FragmentManager;->clearBackStackStateViewModels()V
+PLandroidx/fragment/app/FragmentManager;->dispatchDestroy()V
+PLandroidx/fragment/app/FragmentManager;->dispatchDestroyView()V
+PLandroidx/fragment/app/FragmentManager;->dispatchPause()V
+PLandroidx/fragment/app/FragmentManager;->dispatchStop()V
+PLandroidx/fragment/app/FragmentManager;->endAnimatingAwayFragments()V
+PLandroidx/fragment/app/FragmentManager;->getFragments()Ljava/util/List;
+PLandroidx/fragment/app/FragmentManager;->isDestroyed()Z
+PLandroidx/fragment/app/FragmentManagerViewModel;->clearNonConfigState(Landroidx/fragment/app/Fragment;)V
+PLandroidx/fragment/app/FragmentManagerViewModel;->clearNonConfigStateInternal(Ljava/lang/String;)V
+PLandroidx/fragment/app/FragmentManagerViewModel;->isCleared()Z
+PLandroidx/fragment/app/FragmentManagerViewModel;->onCleared()V
+PLandroidx/fragment/app/FragmentManagerViewModel;->shouldDestroy(Landroidx/fragment/app/Fragment;)Z
+PLandroidx/fragment/app/FragmentStateManager;->destroy()V
+PLandroidx/fragment/app/FragmentStateManager;->destroyFragmentView()V
+PLandroidx/fragment/app/FragmentStateManager;->detach()V
+PLandroidx/fragment/app/FragmentStateManager;->pause()V
+PLandroidx/fragment/app/FragmentStateManager;->saveViewState()V
+PLandroidx/fragment/app/FragmentStateManager;->stop()V
+PLandroidx/fragment/app/FragmentStore;->getNonConfig()Landroidx/fragment/app/FragmentManagerViewModel;
+PLandroidx/fragment/app/FragmentStore;->makeInactive(Landroidx/fragment/app/FragmentStateManager;)V
+PLandroidx/fragment/app/FragmentViewLifecycleOwner;->performSave(Landroid/os/Bundle;)V
+PLandroidx/fragment/app/FragmentViewLifecycleOwner;->setCurrentState(Landroidx/lifecycle/Lifecycle$State;)V
+PLandroidx/fragment/app/SpecialEffectsController;->enqueueRemove(Landroidx/fragment/app/FragmentStateManager;)V
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java b/fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
index c85001a..8dc962e 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
@@ -1183,14 +1183,16 @@
     }
 
     /**
-     * Return true if the fragment has been hidden.  By default fragments
+     * Return true if the fragment has been hidden. This includes the case if the fragment is
+     * hidden because its parent is hidden. By default fragments
      * are shown.  You can find out about changes to this state with
      * {@link #onHiddenChanged}.  Note that the hidden state is orthogonal
      * to other states -- that is, to be visible to the user, a fragment
      * must be both started and not hidden.
      */
     final public boolean isHidden() {
-        return mHidden;
+        return mHidden || (mFragmentManager != null
+                && mFragmentManager.isParentHidden(mParentFragment));
     }
 
     /** @hide */
@@ -1209,8 +1211,8 @@
 
     /**
      * Called when the hidden state (as returned by {@link #isHidden()} of
-     * the fragment has changed.  Fragments start out not hidden; this will
-     * be called whenever the fragment changes state from that.
+     * the fragment or another fragment in its hierarchy has changed.  Fragments start out not
+     * hidden; this will be called whenever the fragment changes state from that.
      * @param hidden True if the fragment is now hidden, false otherwise.
      */
     @MainThread
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
index 2745541..07a47c7 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
@@ -616,6 +616,18 @@
         return parent.isMenuVisible();
     }
 
+    /**
+     * Recursively check up the FragmentManager hierarchy of Fragments to see
+     * if the fragment is hidden.
+     */
+    boolean isParentHidden(@Nullable Fragment parent) {
+        if (parent == null) {
+            return false;
+        }
+
+        return parent.isHidden();
+    }
+
     @SuppressWarnings("WeakerAccess") /* synthetic access */
     void handleOnBackPressed() {
         // First, execute any pending actions to make sure we're in an
@@ -3139,6 +3151,13 @@
         mOnAttachListeners.remove(listener);
     }
 
+    void dispatchOnHiddenChanged() {
+        for (Fragment fragment : mFragmentStore.getActiveFragments()) {
+            fragment.mChildFragmentManager.dispatchOnHiddenChanged();
+            fragment.onHiddenChanged(fragment.isHidden());
+        }
+    }
+
     // Checks if fragments that belong to this fragment manager (or their children) have menus,
     // and if they are visible.
     boolean checkForMenus() {
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
index f37f616..b1c515cd 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
@@ -373,6 +373,7 @@
                 }
                 mFragment.mHiddenChanged = false;
                 mFragment.onHiddenChanged(mFragment.mHidden);
+                mFragment.mChildFragmentManager.dispatchOnHiddenChanged();
             }
         } finally {
             mMovingToState = false;
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.java b/fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.java
index 7715580..f7bfb02 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.java
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.java
@@ -754,6 +754,14 @@
                     view.setVisibility(View.INVISIBLE);
                 }
                 view.setAlpha(fragment.getPostOnViewCreatedAlpha());
+            } else if (getLifecycleImpact() == LifecycleImpact.REMOVING) {
+                Fragment fragment = mFragmentStateManager.getFragment();
+                View view = fragment.requireView();
+                if (FragmentManager.isLoggingEnabled(Log.VERBOSE)) {
+                    Log.v(FragmentManager.TAG, "Clearing focus " + view.findFocus() + " on view "
+                            + view + " for Fragment " + fragment);
+                }
+                view.clearFocus();
             }
         }
 
diff --git a/fragment/integration-tests/testapp/lint-baseline.xml b/fragment/integration-tests/testapp/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/fragment/integration-tests/testapp/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/glance/glance-appwidget/api/current.txt b/glance/glance-appwidget/api/current.txt
index f0d3b30..ff2e7c2 100644
--- a/glance/glance-appwidget/api/current.txt
+++ b/glance/glance-appwidget/api/current.txt
@@ -38,9 +38,6 @@
   public final class LayoutIdsKt {
   }
 
-  public final class RemoteLazyListViewsTranslatorKt {
-  }
-
   public final class RemoteViewsTranslatorKt {
   }
 
@@ -67,6 +64,14 @@
 
 }
 
+package androidx.glance.appwidget.action {
+
+  public final class LaunchActivityIntentActionKt {
+    method public static androidx.glance.action.Action launchActivityAction(android.content.Intent intent);
+  }
+
+}
+
 package androidx.glance.appwidget.layout {
 
   public final class AndroidRemoteViewsKt {
@@ -114,6 +119,9 @@
   public final class CheckBoxTranslatorKt {
   }
 
+  public final class LazyListTranslatorKt {
+  }
+
   public final class SwitchTranslatorKt {
   }
 
diff --git a/glance/glance-appwidget/api/public_plus_experimental_current.txt b/glance/glance-appwidget/api/public_plus_experimental_current.txt
index f0d3b30..ff2e7c2 100644
--- a/glance/glance-appwidget/api/public_plus_experimental_current.txt
+++ b/glance/glance-appwidget/api/public_plus_experimental_current.txt
@@ -38,9 +38,6 @@
   public final class LayoutIdsKt {
   }
 
-  public final class RemoteLazyListViewsTranslatorKt {
-  }
-
   public final class RemoteViewsTranslatorKt {
   }
 
@@ -67,6 +64,14 @@
 
 }
 
+package androidx.glance.appwidget.action {
+
+  public final class LaunchActivityIntentActionKt {
+    method public static androidx.glance.action.Action launchActivityAction(android.content.Intent intent);
+  }
+
+}
+
 package androidx.glance.appwidget.layout {
 
   public final class AndroidRemoteViewsKt {
@@ -114,6 +119,9 @@
   public final class CheckBoxTranslatorKt {
   }
 
+  public final class LazyListTranslatorKt {
+  }
+
   public final class SwitchTranslatorKt {
   }
 
diff --git a/glance/glance-appwidget/api/restricted_current.txt b/glance/glance-appwidget/api/restricted_current.txt
index f0d3b30..ff2e7c2 100644
--- a/glance/glance-appwidget/api/restricted_current.txt
+++ b/glance/glance-appwidget/api/restricted_current.txt
@@ -38,9 +38,6 @@
   public final class LayoutIdsKt {
   }
 
-  public final class RemoteLazyListViewsTranslatorKt {
-  }
-
   public final class RemoteViewsTranslatorKt {
   }
 
@@ -67,6 +64,14 @@
 
 }
 
+package androidx.glance.appwidget.action {
+
+  public final class LaunchActivityIntentActionKt {
+    method public static androidx.glance.action.Action launchActivityAction(android.content.Intent intent);
+  }
+
+}
+
 package androidx.glance.appwidget.layout {
 
   public final class AndroidRemoteViewsKt {
@@ -114,6 +119,9 @@
   public final class CheckBoxTranslatorKt {
   }
 
+  public final class LazyListTranslatorKt {
+  }
+
   public final class SwitchTranslatorKt {
   }
 
diff --git a/glance/glance-appwidget/glance-layout-generator/lint-baseline.xml b/glance/glance-appwidget/glance-layout-generator/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/glance/glance-appwidget/glance-layout-generator/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/glance/glance-appwidget/glance-layout-generator/src/main/kotlin/androidx/glance/appwidget/layoutgenerator/LayoutGenerator.kt b/glance/glance-appwidget/glance-layout-generator/src/main/kotlin/androidx/glance/appwidget/layoutgenerator/LayoutGenerator.kt
index 3751bf8..b79fc53 100644
--- a/glance/glance-appwidget/glance-layout-generator/src/main/kotlin/androidx/glance/appwidget/layoutgenerator/LayoutGenerator.kt
+++ b/glance/glance-appwidget/glance-layout-generator/src/main/kotlin/androidx/glance/appwidget/layoutgenerator/LayoutGenerator.kt
@@ -128,7 +128,6 @@
                 setNamedItemNS(generated.androidWeight("1"))
             }
             setNamedItemNS(generated.androidLayoutDirection("locale"))
-            setNamedItemNS(generated.androidClipToOutline(true))
         }
         return generated
     }
@@ -228,7 +227,6 @@
                 setNamedItemNS(generated.androidAttr("layout_alignBottom", "@id/sizeView"))
             }
             setNamedItemNS(generated.androidLayoutDirection("locale"))
-            setNamedItemNS(generated.androidClipToOutline(true))
         }
         return generated
     }
@@ -271,9 +269,6 @@
 internal fun Document.androidLayoutDirection(value: String) =
     androidAttr("layoutDirection", value)
 
-internal fun Document.androidClipToOutline(value: Boolean) =
-    androidAttr("clipToOutline", value.toString())
-
 internal val Document.androidNamespace
     get() = createAttribute("xmlns:android").apply {
         textContent = AndroidNS
diff --git a/glance/glance-appwidget/integration-tests/demos/lint-baseline.xml b/glance/glance-appwidget/integration-tests/demos/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/glance/glance-appwidget/integration-tests/demos/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/glance/glance-appwidget/lint-baseline.xml b/glance/glance-appwidget/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/glance/glance-appwidget/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/LazyColumnTest.kt b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/LazyColumnTest.kt
index d7f7b37..6aae34f 100644
--- a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/LazyColumnTest.kt
+++ b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/LazyColumnTest.kt
@@ -158,14 +158,14 @@
         mHostRule.startHost()
 
         waitForListViewChildren { list ->
-            val textView1 = assertIs<TextView>(list.getListItemAt(0).getChildAt(0))
-            val textView2 = assertIs<TextView>(list.getListItemAt(1).getChildAt(0))
-            val textView3 = assertIs<TextView>(list.getListItemAt(2).getChildAt(0))
-            val textView4 = assertIs<TextView>(list.getListItemAt(3).getChildAt(0))
-            assertThat(textView1.text.toString()).isEqualTo("Row 0")
-            assertThat(textView2.text.toString()).isEqualTo("Row 1")
-            assertThat(textView3.text.toString()).isEqualTo("Row 2")
-            assertThat(textView4.text.toString()).isEqualTo("Row 3")
+            val textView0 = list.getListItemAt<TextView>(0)
+            val textView1 = list.getListItemAt<TextView>(1)
+            val textView2 = list.getListItemAt<TextView>(2)
+            val textView3 = list.getListItemAt<TextView>(3)
+            assertThat(textView0.text.toString()).isEqualTo("Row 0")
+            assertThat(textView1.text.toString()).isEqualTo("Row 1")
+            assertThat(textView2.text.toString()).isEqualTo("Row 2")
+            assertThat(textView3.text.toString()).isEqualTo("Row 3")
         }
     }
 
@@ -182,19 +182,19 @@
         mHostRule.startHost()
 
         waitForListViewChildren { list ->
-            val textView1 = assertIs<TextView>(list.getListItemAt(0).getChildAt(0))
-            val textView2 = assertIs<TextView>(list.getListItemAt(1).getChildAt(0))
-            val textView3 = assertIs<TextView>(list.getListItemAt(2).getChildAt(0))
-            val textView4 = assertIs<TextView>(list.getListItemAt(3).getChildAt(0))
-            assertThat(textView1.text.toString()).isEqualTo("Row 0")
-            assertThat(textView2.text.toString()).isEqualTo("Row 1")
-            assertThat(textView3.text.toString()).isEqualTo("Row 2")
-            assertThat(textView4.text.toString()).isEqualTo("Row 3")
+            val textView0 = list.getListItemAt<TextView>(0)
+            val textView1 = list.getListItemAt<TextView>(1)
+            val textView2 = list.getListItemAt<TextView>(2)
+            val textView3 = list.getListItemAt<TextView>(3)
+            assertThat(textView0.text.toString()).isEqualTo("Row 0")
+            assertThat(textView1.text.toString()).isEqualTo("Row 1")
+            assertThat(textView2.text.toString()).isEqualTo("Row 2")
+            assertThat(textView3.text.toString()).isEqualTo("Row 3")
         }
     }
 
     @Test
-    fun itemContent_defaultAlignment_setsGravityStart() {
+    fun itemContent_defaultAlignment_doesNotWrapItem() {
         TestGlanceAppWidget.uiDefinition = {
             LazyColumn {
                 item {
@@ -206,13 +206,29 @@
         mHostRule.startHost()
 
         waitForListViewChildren { list ->
-            val listItem = list.getListItemAt(0)
-            assertThat(listItem.gravity).isEqualTo(Gravity.START or Gravity.CENTER_VERTICAL)
+            list.getListItemAt<TextView>(0)
         }
     }
 
     @Test
-    fun itemContent_centerAlignment_setsGravityCenter() {
+    fun itemContent_startAlignment_doesNotWrapItem() {
+        TestGlanceAppWidget.uiDefinition = {
+            LazyColumn(horizontalAlignment = Alignment.Start) {
+                item {
+                    Text("Row item 0")
+                }
+            }
+        }
+
+        mHostRule.startHost()
+
+        waitForListViewChildren { list ->
+            list.getListItemAt<TextView>(0)
+        }
+    }
+
+    @Test
+    fun itemContent_centerAlignment_wrapsItemWithGravityCenterContainer() {
         TestGlanceAppWidget.uiDefinition = {
             LazyColumn(horizontalAlignment = Alignment.Horizontal.CenterHorizontally) {
                 item {
@@ -224,13 +240,13 @@
         mHostRule.startHost()
 
         waitForListViewChildren { list ->
-            val listItem = list.getListItemAt(0)
+            val listItem = list.getListItemAt<RelativeLayout>(0)
             assertThat(listItem.gravity).isEqualTo(Gravity.CENTER)
         }
     }
 
     @Test
-    fun itemContent_endAlignment_setsGravityEnd() {
+    fun itemContent_endAlignment_wrapsItemWithGravityEndContainer() {
         TestGlanceAppWidget.uiDefinition = {
             LazyColumn(horizontalAlignment = Alignment.Horizontal.End) {
                 item {
@@ -242,7 +258,7 @@
         mHostRule.startHost()
 
         waitForListViewChildren { list ->
-            val listItem = list.getListItemAt(0)
+            val listItem = list.getListItemAt<RelativeLayout>(0)
             assertThat(listItem.gravity).isEqualTo(Gravity.END + Gravity.CENTER_VERTICAL)
         }
     }
@@ -261,7 +277,7 @@
         mHostRule.startHost()
 
         waitForListViewChildren { list ->
-            val row = list.getListItemAt(0)
+            val row = list.getListItemAt<RelativeLayout>(0)
             val rowItem0 = assertIs<TextView>(row.getChildAt(0))
             val rowItem1 = assertIs<TextView>(row.getChildAt(1))
             assertThat(rowItem0.text.toString()).isEqualTo("Row item 0")
@@ -269,6 +285,23 @@
         }
     }
 
+    @Test
+    fun adapter_setsViewTypeCount() {
+        TestGlanceAppWidget.uiDefinition = {
+            LazyColumn {
+                item { Text("Item") }
+            }
+        }
+
+        mHostRule.startHost()
+
+        waitForListViewChildren { list ->
+            // The adapter may report more layout types than the provider declared, e.g. adding a
+            // loading layout
+            assertThat(list.adapter.viewTypeCount).isAtLeast(generatedLayouts.size)
+        }
+    }
+
     private fun waitForListViewChildren(action: (list: ListView) -> Unit = {}) {
         mHostRule.onHostView { }
 
@@ -285,8 +318,8 @@
         }
     }
 
-    private fun ListView.getListItemAt(position: Int): RelativeLayout {
-        return assertIs<RelativeLayout>(
+    private inline fun <reified T> ListView.getListItemAt(position: Int): T {
+        return assertIs<T>(
             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
                 this.getChildAt(position)
             } else {
diff --git a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/ResourceResolutionTest.kt b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/ResourceResolutionTest.kt
index bdb9f6a..d0385bb 100644
--- a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/ResourceResolutionTest.kt
+++ b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/ResourceResolutionTest.kt
@@ -22,7 +22,9 @@
 import androidx.glance.layout.Column
 import androidx.glance.layout.Text
 import androidx.glance.layout.fillMaxSize
+import androidx.glance.layout.padding
 import androidx.glance.layout.width
+import androidx.glance.unit.dp
 import androidx.test.filters.MediumTest
 import androidx.test.filters.SdkSuppress
 import com.google.common.truth.Truth.assertThat
@@ -60,4 +62,38 @@
             )
         }
     }
+
+    @Test
+    fun resolvePadding() {
+        TestGlanceAppWidget.uiDefinition = {
+            Column(modifier = Modifier.fillMaxSize()) {
+                Text(
+                    "dimension",
+                    modifier = Modifier.fillMaxSize()
+                        .padding(horizontal = 15.dp)
+                        .padding(vertical = R.dimen.testDimension)
+                )
+            }
+        }
+
+        mHostRule.startHost()
+
+        mHostRule.onHostView { hostView ->
+            val displayMetrics = hostView.context.resources.displayMetrics
+            val textView =
+                assertNotNull(hostView.findChild<TextView> { it.text.toString() == "dimension" })
+            assertThat(textView.paddingLeft).isEqualTo(15.dp.toPixels(displayMetrics))
+            assertThat(textView.paddingRight).isEqualTo(15.dp.toPixels(displayMetrics))
+            assertThat(textView.paddingTop).isEqualTo(
+                textView.context.resources.getDimensionPixelSize(
+                    R.dimen.testDimension
+                )
+            )
+            assertThat(textView.paddingBottom).isEqualTo(
+                textView.context.resources.getDimensionPixelSize(
+                    R.dimen.testDimension
+                )
+            )
+        }
+    }
 }
\ No newline at end of file
diff --git a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/ApplyModifiers.kt b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/ApplyModifiers.kt
index 354f469..3ca77ca 100644
--- a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/ApplyModifiers.kt
+++ b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/ApplyModifiers.kt
@@ -20,6 +20,7 @@
 import android.content.Context
 import android.content.Intent
 import android.os.Build
+import android.util.Log
 import android.util.TypedValue
 import android.view.ViewGroup
 import android.widget.RemoteViews
@@ -35,11 +36,15 @@
 import androidx.glance.action.Action
 import androidx.glance.action.ActionModifier
 import androidx.glance.action.LaunchActivityAction
+import androidx.glance.action.LaunchActivityClassAction
+import androidx.glance.action.LaunchActivityComponentAction
 import androidx.glance.action.UpdateAction
+import androidx.glance.appwidget.action.LaunchActivityIntentAction
 import androidx.glance.layout.Dimension
 import androidx.glance.layout.HeightModifier
 import androidx.glance.layout.PaddingModifier
 import androidx.glance.layout.WidthModifier
+import androidx.glance.layout.collectPaddingInDp
 import androidx.glance.unit.Color
 import androidx.glance.unit.dp
 import kotlin.math.roundToInt
@@ -51,15 +56,9 @@
     layoutDef: LayoutIds
 ) {
     val context = translationContext.context
-    modifiers.foldOut(Unit) { modifier, _ ->
+    modifiers.foldIn(Unit) { _, modifier ->
         when (modifier) {
             is ActionModifier -> applyAction(rv, modifier.action, context, layoutDef.mainViewId)
-            is PaddingModifier -> applyPadding(
-                rv,
-                modifier,
-                translationContext,
-                layoutDef.mainViewId
-            )
             is WidthModifier -> applyWidthModifier(
                 rv,
                 modifier,
@@ -77,8 +76,25 @@
                 modifier,
                 layoutDef
             )
+            is PaddingModifier -> {
+            } // Nothing to do for those
+            else -> {
+                Log.w(GlanceAppWidgetTag, "Unknown modifier '$modifier', nothing done.")
+            }
         }
     }
+    modifiers.collectPaddingInDp(context.resources)
+        ?.toAbsolute(translationContext.isRtl)
+        ?.let {
+            val displayMetrics = context.resources.displayMetrics
+            rv.setViewPadding(
+                layoutDef.mainViewId,
+                it.left.toPixels(displayMetrics),
+                it.top.toPixels(displayMetrics),
+                it.right.toPixels(displayMetrics),
+                it.bottom.toPixels(displayMetrics)
+            )
+        }
 }
 
 private fun applyAction(
@@ -89,7 +105,13 @@
 ) {
     when (action) {
         is LaunchActivityAction -> {
-            val intent = Intent(context, action.activityClass)
+            val intent = when (action) {
+                is LaunchActivityComponentAction -> Intent().setComponent(action.componentName)
+                is LaunchActivityClassAction -> Intent(context, action.activityClass)
+                is LaunchActivityIntentAction -> action.intent
+                else -> error("Action type not defined in app widget package: $action")
+            }
+
             val pendingIntent: PendingIntent =
                 PendingIntent.getActivity(
                     context,
@@ -108,25 +130,6 @@
     }
 }
 
-private fun applyPadding(
-    rv: RemoteViews,
-    modifier: PaddingModifier,
-    translationContext: TranslationContext,
-    @IdRes viewId: Int
-) {
-    val displayMetrics = translationContext.context.resources.displayMetrics
-    val isRtl = modifier.rtlAware && translationContext.isRtl
-    val start = modifier.start.toPixels(displayMetrics)
-    val end = modifier.end.toPixels(displayMetrics)
-    rv.setViewPadding(
-        viewId,
-        if (isRtl) end else start,
-        modifier.top.toPixels(displayMetrics),
-        if (isRtl) start else end,
-        modifier.bottom.toPixels(displayMetrics),
-    )
-}
-
 private fun applyWidthModifier(
     rv: RemoteViews,
     modifier: WidthModifier,
diff --git a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/LayoutIds.kt b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/LayoutIds.kt
index d5e7dad..72d9d2e 100644
--- a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/LayoutIds.kt
+++ b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/LayoutIds.kt
@@ -39,6 +39,11 @@
 )
 
 /**
+ * The total number of generated layouts.
+ */
+internal val GeneratedLayoutCount = generatedLayouts.size
+
+/**
  * Layout selector.
  *
  * This class is used to select a particular layout in [generatedLayouts].
diff --git a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/RemoteLazyListViewsTranslator.kt b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/RemoteLazyListViewsTranslator.kt
deleted file mode 100644
index 5eccb97..0000000
--- a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/RemoteLazyListViewsTranslator.kt
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.glance.appwidget
-
-import android.widget.RemoteViews
-import androidx.core.widget.RemoteViewsCompat
-import androidx.glance.appwidget.layout.EmittableLazyColumn
-import androidx.glance.appwidget.layout.EmittableLazyList
-import androidx.glance.appwidget.layout.EmittableLazyListItem
-import androidx.glance.appwidget.layout.ReservedItemIdRangeEnd
-import androidx.glance.layout.EmittableBox
-import androidx.glance.layout.fillMaxWidth
-
-internal fun translateEmittableLazyColumn(
-    translationContext: TranslationContext,
-    element: EmittableLazyColumn,
-): RemoteViews {
-    val listLayoutType =
-        requireNotNull(listLayouts.getOrNull(translationContext.listCount.getAndIncrement())) {
-            """
-            Glance widgets only support ${listLayouts.size} lazy lists per widget. If you need more
-            lists provide a non-composable [RemoteViews].
-            """.trimIndent()
-        }
-    val listLayout = selectLayout(translationContext, listLayoutType, element.modifier)
-    return translateEmittableLazyList(
-        translationContext,
-        element,
-        listLayout,
-    )
-}
-
-private fun translateEmittableLazyList(
-    translationContext: TranslationContext,
-    element: EmittableLazyList,
-    layoutDef: LayoutIds,
-): RemoteViews =
-    remoteViews(translationContext, layoutDef.layoutId)
-        .also { rv ->
-            check(translationContext.areLazyCollectionsAllowed) {
-                "Glance does not support nested list views."
-            }
-            val items = RemoteViewsCompat.RemoteCollectionItems.Builder().apply {
-                val childContext = translationContext.copy(areLazyCollectionsAllowed = false)
-                element.children.fold(false) { previous, itemEmittable ->
-                    val itemId = (itemEmittable as EmittableLazyListItem).itemId
-                    addItem(itemId, translateChild(childContext, itemEmittable))
-                    // If the user specifies any explicit ids, we assume the list to be stable
-                    previous || (itemId > ReservedItemIdRangeEnd)
-                }.let { setHasStableIds(it) }
-                // TODO(b/198618359): assign an explicit view type count
-            }.build()
-            RemoteViewsCompat.setRemoteAdapter(
-                translationContext.context,
-                rv,
-                translationContext.appWidgetId,
-                layoutDef.mainViewId,
-                items
-            )
-            applyModifiers(translationContext, rv, element.modifier, layoutDef)
-        }
-
-/**
- * Translates a list item either to its immediate only child, or a column layout wrapping all its
- * children.
- */
-internal fun translateEmittableLazyListItem(
-    translationContext: TranslationContext,
-    element: EmittableLazyListItem
-): RemoteViews =
-    translateChild(
-        translationContext,
-        EmittableBox().apply {
-            modifier = modifier.fillMaxWidth()
-            contentAlignment = element.alignment
-            children.addAll(element.children)
-        }
-    )
-
-private val listLayouts: List<LayoutSelector.Type> = listOf(
-    LayoutSelector.Type.List1,
-    LayoutSelector.Type.List2,
-    LayoutSelector.Type.List3,
-)
diff --git a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/RemoteViewsTranslator.kt b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/RemoteViewsTranslator.kt
index f9525dd..70da732 100644
--- a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/RemoteViewsTranslator.kt
+++ b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/RemoteViewsTranslator.kt
@@ -37,6 +37,8 @@
 import androidx.glance.appwidget.translators.translateEmittableSwitch
 import androidx.glance.appwidget.translators.translateEmittableText
 import androidx.glance.appwidget.translators.setText
+import androidx.glance.appwidget.translators.translateEmittableLazyColumn
+import androidx.glance.appwidget.translators.translateEmittableLazyListItem
 import androidx.glance.layout.Alignment
 import androidx.glance.layout.EmittableBox
 import androidx.glance.layout.EmittableButton
diff --git a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/Utils.kt b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/Utils.kt
index 78334dd..d9f17fa 100644
--- a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/Utils.kt
+++ b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/Utils.kt
@@ -34,4 +34,6 @@
  */
 internal fun RemoteViews.setViewEnabled(viewId: Int, enabled: Boolean) {
     setBoolean(viewId, "setEnabled", enabled)
-}
\ No newline at end of file
+}
+
+internal const val GlanceAppWidgetTag = "GlanceAppWidget"
\ No newline at end of file
diff --git a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/action/LaunchActivityIntentAction.kt b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/action/LaunchActivityIntentAction.kt
new file mode 100644
index 0000000..e9565177
--- /dev/null
+++ b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/action/LaunchActivityIntentAction.kt
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.glance.appwidget.action
+
+import android.app.Activity
+import android.content.Intent
+import androidx.glance.action.Action
+import androidx.glance.action.LaunchActivityAction
+
+internal class LaunchActivityIntentAction(val intent: Intent) : LaunchActivityAction
+
+/**
+ * Creates an [Action] that launches an [Activity] from the given [Intent] when triggered. The
+ * intent should specify a component with [Intent.setClass] or [Intent.setComponent].
+ *
+ * This action is supported by app widgets only.
+ */
+public fun launchActivityAction(intent: Intent): Action = LaunchActivityIntentAction(intent)
diff --git a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/translators/LazyListTranslator.kt b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/translators/LazyListTranslator.kt
new file mode 100644
index 0000000..612346f
--- /dev/null
+++ b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/translators/LazyListTranslator.kt
@@ -0,0 +1,112 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.glance.appwidget.translators
+
+import android.widget.RemoteViews
+import androidx.core.widget.RemoteViewsCompat
+import androidx.glance.appwidget.GeneratedLayoutCount
+import androidx.glance.appwidget.LayoutIds
+import androidx.glance.appwidget.LayoutSelector
+import androidx.glance.appwidget.TranslationContext
+import androidx.glance.appwidget.applyModifiers
+import androidx.glance.appwidget.layout.EmittableLazyColumn
+import androidx.glance.appwidget.layout.EmittableLazyList
+import androidx.glance.appwidget.layout.EmittableLazyListItem
+import androidx.glance.appwidget.layout.ReservedItemIdRangeEnd
+import androidx.glance.appwidget.remoteViews
+import androidx.glance.appwidget.selectLayout
+import androidx.glance.appwidget.translateChild
+import androidx.glance.layout.Alignment
+import androidx.glance.layout.EmittableBox
+import androidx.glance.layout.fillMaxWidth
+
+internal fun translateEmittableLazyColumn(
+    translationContext: TranslationContext,
+    element: EmittableLazyColumn,
+): RemoteViews {
+    val listLayoutType =
+        requireNotNull(listLayouts.getOrNull(translationContext.listCount.getAndIncrement())) {
+            """
+            Glance widgets only support ${listLayouts.size} lazy lists per widget. If you need more
+            lists provide a non-composable [RemoteViews].
+            """.trimIndent()
+        }
+    val listLayout = selectLayout(translationContext, listLayoutType, element.modifier)
+    return translateEmittableLazyList(
+        translationContext,
+        element,
+        listLayout,
+    )
+}
+
+private fun translateEmittableLazyList(
+    translationContext: TranslationContext,
+    element: EmittableLazyList,
+    layoutDef: LayoutIds,
+): RemoteViews =
+    remoteViews(translationContext, layoutDef.layoutId)
+        .also { rv ->
+            check(translationContext.areLazyCollectionsAllowed) {
+                "Glance does not support nested list views."
+            }
+            val items = RemoteViewsCompat.RemoteCollectionItems.Builder().apply {
+                val childContext = translationContext.copy(areLazyCollectionsAllowed = false)
+                element.children.fold(false) { previous, itemEmittable ->
+                    val itemId = (itemEmittable as EmittableLazyListItem).itemId
+                    addItem(itemId, translateChild(childContext, itemEmittable))
+                    // If the user specifies any explicit ids, we assume the list to be stable
+                    previous || (itemId > ReservedItemIdRangeEnd)
+                }.let { setHasStableIds(it) }
+                setViewTypeCount(GeneratedLayoutCount)
+            }.build()
+            RemoteViewsCompat.setRemoteAdapter(
+                translationContext.context,
+                rv,
+                translationContext.appWidgetId,
+                layoutDef.mainViewId,
+                items
+            )
+            applyModifiers(translationContext, rv, element.modifier, layoutDef)
+        }
+
+/**
+ * Translates a list item either to its immediate only child, or a column layout wrapping all its
+ * children.
+ */
+// TODO(b/202382495): Use complex generated layout instead of wrapping in an emittable box to
+// support interaction animations in immediate children, e.g. checkboxes,  pre-S
+internal fun translateEmittableLazyListItem(
+    translationContext: TranslationContext,
+    element: EmittableLazyListItem
+): RemoteViews {
+    val child = if (element.children.size == 1 && element.alignment == Alignment.CenterStart) {
+        element.children.single()
+    } else {
+        EmittableBox().apply {
+            modifier = modifier.fillMaxWidth()
+            contentAlignment = element.alignment
+            children.addAll(element.children)
+        }
+    }
+    return translateChild(translationContext, child)
+}
+
+private val listLayouts: List<LayoutSelector.Type> = listOf(
+    LayoutSelector.Type.List1,
+    LayoutSelector.Type.List2,
+    LayoutSelector.Type.List3,
+)
diff --git a/glance/glance-appwidget/src/androidMain/layoutTemplates/list1.xml b/glance/glance-appwidget/src/androidMain/layoutTemplates/list1.xml
index 28c77a6..d228e836 100644
--- a/glance/glance-appwidget/src/androidMain/layoutTemplates/list1.xml
+++ b/glance/glance-appwidget/src/androidMain/layoutTemplates/list1.xml
@@ -15,4 +15,5 @@
   -->
 
 <ListView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@id/glanceListView1" />
+    android:id="@id/glanceListView1"
+    android:divider="@null" />
diff --git a/glance/glance-appwidget/src/androidMain/layoutTemplates/list2.xml b/glance/glance-appwidget/src/androidMain/layoutTemplates/list2.xml
index 3cef3f4..7145e1f 100644
--- a/glance/glance-appwidget/src/androidMain/layoutTemplates/list2.xml
+++ b/glance/glance-appwidget/src/androidMain/layoutTemplates/list2.xml
@@ -15,4 +15,5 @@
   -->
 
 <ListView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@id/glanceListView2" />
+    android:id="@id/glanceListView2"
+    android:divider="@null"  />
diff --git a/glance/glance-appwidget/src/androidMain/layoutTemplates/list3.xml b/glance/glance-appwidget/src/androidMain/layoutTemplates/list3.xml
index b4e31dd..ef92d67 100644
--- a/glance/glance-appwidget/src/androidMain/layoutTemplates/list3.xml
+++ b/glance/glance-appwidget/src/androidMain/layoutTemplates/list3.xml
@@ -15,4 +15,5 @@
   -->
 
 <ListView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@id/glanceListView3" />
+    android:id="@id/glanceListView3"
+    android:divider="@null"  />
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/action/LaunchActivityIntentActionTest.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/action/LaunchActivityIntentActionTest.kt
new file mode 100644
index 0000000..8aa0fc6
--- /dev/null
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/action/LaunchActivityIntentActionTest.kt
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.glance.appwidget.action
+
+import android.app.Activity
+import android.content.Context
+import android.content.Intent
+import androidx.glance.Modifier
+import androidx.glance.action.ActionModifier
+import androidx.glance.action.clickable
+import androidx.glance.findModifier
+import androidx.test.core.app.ApplicationProvider
+import org.junit.Test
+import kotlin.test.assertIs
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import org.junit.runner.RunWith
+import org.robolectric.RobolectricTestRunner
+
+@OptIn(ExperimentalCoroutinesApi::class)
+@RunWith(RobolectricTestRunner::class)
+class AppWidgetLaunchActionTest {
+
+    private val context = ApplicationProvider.getApplicationContext<Context>()
+
+    @Test
+    fun testLaunchIntent() {
+        val intentActionString = "test_action"
+        val intent = Intent(context, TestActivity::class.java).setAction(intentActionString)
+        val modifiers = Modifier.clickable(launchActivityAction(intent))
+        val modifier = checkNotNull(modifiers.findModifier<ActionModifier>())
+        val action = assertIs<LaunchActivityIntentAction>(modifier.action)
+        assertThat(action.intent).isEqualTo(intent)
+        assertThat(action.intent.action).isEqualTo(intentActionString)
+    }
+}
+
+class TestActivity : Activity()
diff --git a/glance/glance-wear/build.gradle b/glance/glance-wear/build.gradle
index fe43be7..0d53cf8 100644
--- a/glance/glance-wear/build.gradle
+++ b/glance/glance-wear/build.gradle
@@ -33,8 +33,8 @@
     kotlinPlugin(project(":compose:compiler:compiler"))
 
     api(project(":glance:glance"))
-    api(project(":wear:tiles:tiles"))
     api("androidx.compose.runtime:runtime:1.0.1")
+    api("androidx.wear.tiles:tiles:1.0.0-alpha12")
 
     implementation(libs.kotlinStdlib)
     implementation(libs.kotlinCoroutinesGuava)
@@ -52,26 +52,18 @@
     testImplementation(libs.robolectric)
     testImplementation(libs.kotlinReflect)
     // TODO(b/197638718): Remove when tiles-testing dependencies are fixed.
-    testImplementation(project(":wear:tiles:tiles-renderer"))
-    testImplementation(project(":wear:tiles:tiles-testing"))
+    testImplementation("androidx.wear.tiles:tiles-renderer:1.0.0-alpha12")
+    testImplementation("androidx.wear.tiles:tiles-testing:1.0.0-alpha12")
 
     androidTestImplementation(project(":core:core"))
     androidTestImplementation(project(":test:screenshot:screenshot"))
-    androidTestImplementation(project(":wear:tiles:tiles-renderer"))
+    androidTestImplementation("androidx.wear.tiles:tiles-renderer:1.0.0-alpha12")
     androidTestImplementation(libs.testExtJunit)
     androidTestImplementation(libs.testCore)
     androidTestImplementation(libs.testRunner)
     androidTestImplementation(libs.testRules)
     androidTestImplementation(libs.kotlinTest)
     androidTestImplementation(libs.kotlinCoroutinesTest)
-
-    // I'm not 100% sure why, but androidTestImplementation doesn't appear to use the standard
-    // results of a project build. This leads to it not using the shadow configuration from
-    // tiles-proto, and thus failing to find the protobuf classes at runtime.
-    //
-    // This line forces the androidTest to use the properly shaded proto library on the runtime
-    // classpath.
-    androidTestRuntimeOnly(project(path: ":wear:tiles:tiles-proto", configuration: "shadow"))
 }
 
 android {
diff --git a/glance/glance-wear/lint-baseline.xml b/glance/glance-wear/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/glance/glance-wear/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/glance/glance-wear/src/androidMain/kotlin/androidx/glance/wear/WearCompositionTranslator.kt b/glance/glance-wear/src/androidMain/kotlin/androidx/glance/wear/WearCompositionTranslator.kt
index 76ac337..c8ff6de 100644
--- a/glance/glance-wear/src/androidMain/kotlin/androidx/glance/wear/WearCompositionTranslator.kt
+++ b/glance/glance-wear/src/androidMain/kotlin/androidx/glance/wear/WearCompositionTranslator.kt
@@ -17,12 +17,15 @@
 package androidx.glance.wear
 
 import android.content.Context
+import android.view.View
 import android.view.ViewGroup
 import androidx.glance.BackgroundModifier
 import androidx.glance.Emittable
 import androidx.glance.Modifier
 import androidx.glance.action.ActionModifier
 import androidx.glance.action.LaunchActivityAction
+import androidx.glance.action.LaunchActivityClassAction
+import androidx.glance.action.LaunchActivityComponentAction
 import androidx.glance.findModifier
 import androidx.glance.layout.Alignment
 import androidx.glance.layout.Dimension
@@ -32,9 +35,11 @@
 import androidx.glance.layout.EmittableRow
 import androidx.glance.layout.EmittableText
 import androidx.glance.layout.HeightModifier
+import androidx.glance.layout.PaddingInDp
 import androidx.glance.layout.PaddingModifier
-import androidx.glance.layout.toEmittableText
 import androidx.glance.layout.WidthModifier
+import androidx.glance.layout.collectPaddingInDp
+import androidx.glance.layout.toEmittableText
 import androidx.glance.text.FontStyle
 import androidx.glance.text.FontWeight
 import androidx.glance.text.TextDecoration
@@ -90,13 +95,13 @@
         else -> throw IllegalArgumentException("Unknown horizontal alignment type $this")
     }
 
-private fun PaddingModifier.toProto(): ModifiersBuilders.Padding =
+private fun PaddingInDp.toProto(): ModifiersBuilders.Padding =
     ModifiersBuilders.Padding.Builder()
-        .setStart(dp(this.start.value))
-        .setTop(dp(this.top.value))
-        .setEnd(dp(this.end.value))
-        .setBottom(dp(this.bottom.value))
-        .setRtlAware(this.rtlAware)
+        .setStart(dp(start.value))
+        .setTop(dp(top.value))
+        .setEnd(dp(end.value))
+        .setBottom((dp(bottom.value)))
+        .setRtlAware(true)
         .build()
 
 private fun BackgroundModifier.toProto(): ModifiersBuilders.Background =
@@ -108,8 +113,19 @@
     ActionBuilders.LaunchAction.Builder()
         .setAndroidActivity(
             ActionBuilders.AndroidActivity.Builder()
-                .setPackageName(context.packageName)
-                .setClassName(this.activityClass.name)
+                .setPackageName(
+                    when (this) {
+                        is LaunchActivityComponentAction -> componentName.packageName
+                        is LaunchActivityClassAction -> context.packageName
+                        else -> error("Action type not defined in wear package: $this")
+                    }
+                )
+                .setClassName(
+                    when (this) {
+                        is LaunchActivityComponentAction -> componentName.className
+                        is LaunchActivityClassAction -> activityClass.name
+                        else -> error("Action type not defined in wear package: $this")
+                    })
                 .build()
         )
         .build()
@@ -374,16 +390,25 @@
     context: Context,
     modifier: Modifier
 ): ModifiersBuilders.Modifiers =
-    modifier.foldOut(ModifiersBuilders.Modifiers.Builder()) { element, builder ->
+    modifier.foldIn(ModifiersBuilders.Modifiers.Builder()) { builder, element ->
         when (element) {
-            is PaddingModifier -> builder.setPadding(element.toProto())
             is BackgroundModifier -> builder.setBackground(element.toProto())
             is WidthModifier -> builder /* Skip for now, handled elsewhere. */
             is HeightModifier -> builder /* Skip for now, handled elsewhere. */
             is ActionModifier -> builder.setClickable(element.toProto(context))
+            is PaddingModifier -> builder // Processing that after
             else -> throw IllegalArgumentException("Unknown modifier type")
         }
-    }.build()
+    }
+        .also { builder ->
+            val isRtl = context.resources.configuration.layoutDirection == View.LAYOUT_DIRECTION_RTL
+            modifier.collectPaddingInDp(context.resources)
+                ?.toRelative(isRtl)
+                ?.let {
+                    builder.setPadding(it.toProto())
+                }
+        }
+        .build()
 
 private fun translateCompositionInArc(
     context: Context,
diff --git a/glance/glance/api/current.txt b/glance/glance/api/current.txt
index 1db2875..de58fc4 100644
--- a/glance/glance/api/current.txt
+++ b/glance/glance/api/current.txt
@@ -60,6 +60,7 @@
   }
 
   public final class LaunchActivityActionKt {
+    method public static androidx.glance.action.Action launchActivityAction(android.content.ComponentName componentName);
     method public static <T extends android.app.Activity> androidx.glance.action.Action launchActivityAction(Class<T> activity);
     method public static inline <reified T extends android.app.Activity> androidx.glance.action.Action! launchActivityAction();
   }
@@ -164,7 +165,9 @@
     method public static androidx.glance.Modifier height(androidx.glance.Modifier, float height);
     method public static androidx.glance.Modifier height(androidx.glance.Modifier, @DimenRes int height);
     method public static androidx.glance.Modifier size(androidx.glance.Modifier, float size);
+    method public static androidx.glance.Modifier size(androidx.glance.Modifier, @DimenRes int size);
     method public static androidx.glance.Modifier size(androidx.glance.Modifier, float width, float height);
+    method public static androidx.glance.Modifier size(androidx.glance.Modifier, @DimenRes int width, @DimenRes int height);
     method public static androidx.glance.Modifier width(androidx.glance.Modifier, float width);
     method public static androidx.glance.Modifier width(androidx.glance.Modifier, @DimenRes int width);
     method public static androidx.glance.Modifier wrapContentHeight(androidx.glance.Modifier);
@@ -174,9 +177,13 @@
 
   public final class PaddingKt {
     method public static androidx.glance.Modifier absolutePadding(androidx.glance.Modifier, optional float left, optional float top, optional float right, optional float bottom);
+    method public static androidx.glance.Modifier absolutePadding(androidx.glance.Modifier, optional @DimenRes int left, optional @DimenRes int top, optional @DimenRes int right, optional @DimenRes int bottom);
     method public static androidx.glance.Modifier padding(androidx.glance.Modifier, optional float start, optional float top, optional float end, optional float bottom);
+    method public static androidx.glance.Modifier padding(androidx.glance.Modifier, optional @DimenRes int start, optional @DimenRes int top, optional @DimenRes int end, optional @DimenRes int bottom);
     method public static androidx.glance.Modifier padding(androidx.glance.Modifier, optional float horizontal, optional float vertical);
+    method public static androidx.glance.Modifier padding(androidx.glance.Modifier, optional @DimenRes int horizontal, optional @DimenRes int vertical);
     method public static androidx.glance.Modifier padding(androidx.glance.Modifier, float all);
+    method public static androidx.glance.Modifier padding(androidx.glance.Modifier, @DimenRes int all);
   }
 
   public final class RowKt {
diff --git a/glance/glance/api/public_plus_experimental_current.txt b/glance/glance/api/public_plus_experimental_current.txt
index 1db2875..de58fc4 100644
--- a/glance/glance/api/public_plus_experimental_current.txt
+++ b/glance/glance/api/public_plus_experimental_current.txt
@@ -60,6 +60,7 @@
   }
 
   public final class LaunchActivityActionKt {
+    method public static androidx.glance.action.Action launchActivityAction(android.content.ComponentName componentName);
     method public static <T extends android.app.Activity> androidx.glance.action.Action launchActivityAction(Class<T> activity);
     method public static inline <reified T extends android.app.Activity> androidx.glance.action.Action! launchActivityAction();
   }
@@ -164,7 +165,9 @@
     method public static androidx.glance.Modifier height(androidx.glance.Modifier, float height);
     method public static androidx.glance.Modifier height(androidx.glance.Modifier, @DimenRes int height);
     method public static androidx.glance.Modifier size(androidx.glance.Modifier, float size);
+    method public static androidx.glance.Modifier size(androidx.glance.Modifier, @DimenRes int size);
     method public static androidx.glance.Modifier size(androidx.glance.Modifier, float width, float height);
+    method public static androidx.glance.Modifier size(androidx.glance.Modifier, @DimenRes int width, @DimenRes int height);
     method public static androidx.glance.Modifier width(androidx.glance.Modifier, float width);
     method public static androidx.glance.Modifier width(androidx.glance.Modifier, @DimenRes int width);
     method public static androidx.glance.Modifier wrapContentHeight(androidx.glance.Modifier);
@@ -174,9 +177,13 @@
 
   public final class PaddingKt {
     method public static androidx.glance.Modifier absolutePadding(androidx.glance.Modifier, optional float left, optional float top, optional float right, optional float bottom);
+    method public static androidx.glance.Modifier absolutePadding(androidx.glance.Modifier, optional @DimenRes int left, optional @DimenRes int top, optional @DimenRes int right, optional @DimenRes int bottom);
     method public static androidx.glance.Modifier padding(androidx.glance.Modifier, optional float start, optional float top, optional float end, optional float bottom);
+    method public static androidx.glance.Modifier padding(androidx.glance.Modifier, optional @DimenRes int start, optional @DimenRes int top, optional @DimenRes int end, optional @DimenRes int bottom);
     method public static androidx.glance.Modifier padding(androidx.glance.Modifier, optional float horizontal, optional float vertical);
+    method public static androidx.glance.Modifier padding(androidx.glance.Modifier, optional @DimenRes int horizontal, optional @DimenRes int vertical);
     method public static androidx.glance.Modifier padding(androidx.glance.Modifier, float all);
+    method public static androidx.glance.Modifier padding(androidx.glance.Modifier, @DimenRes int all);
   }
 
   public final class RowKt {
diff --git a/glance/glance/api/restricted_current.txt b/glance/glance/api/restricted_current.txt
index 1db2875..de58fc4 100644
--- a/glance/glance/api/restricted_current.txt
+++ b/glance/glance/api/restricted_current.txt
@@ -60,6 +60,7 @@
   }
 
   public final class LaunchActivityActionKt {
+    method public static androidx.glance.action.Action launchActivityAction(android.content.ComponentName componentName);
     method public static <T extends android.app.Activity> androidx.glance.action.Action launchActivityAction(Class<T> activity);
     method public static inline <reified T extends android.app.Activity> androidx.glance.action.Action! launchActivityAction();
   }
@@ -164,7 +165,9 @@
     method public static androidx.glance.Modifier height(androidx.glance.Modifier, float height);
     method public static androidx.glance.Modifier height(androidx.glance.Modifier, @DimenRes int height);
     method public static androidx.glance.Modifier size(androidx.glance.Modifier, float size);
+    method public static androidx.glance.Modifier size(androidx.glance.Modifier, @DimenRes int size);
     method public static androidx.glance.Modifier size(androidx.glance.Modifier, float width, float height);
+    method public static androidx.glance.Modifier size(androidx.glance.Modifier, @DimenRes int width, @DimenRes int height);
     method public static androidx.glance.Modifier width(androidx.glance.Modifier, float width);
     method public static androidx.glance.Modifier width(androidx.glance.Modifier, @DimenRes int width);
     method public static androidx.glance.Modifier wrapContentHeight(androidx.glance.Modifier);
@@ -174,9 +177,13 @@
 
   public final class PaddingKt {
     method public static androidx.glance.Modifier absolutePadding(androidx.glance.Modifier, optional float left, optional float top, optional float right, optional float bottom);
+    method public static androidx.glance.Modifier absolutePadding(androidx.glance.Modifier, optional @DimenRes int left, optional @DimenRes int top, optional @DimenRes int right, optional @DimenRes int bottom);
     method public static androidx.glance.Modifier padding(androidx.glance.Modifier, optional float start, optional float top, optional float end, optional float bottom);
+    method public static androidx.glance.Modifier padding(androidx.glance.Modifier, optional @DimenRes int start, optional @DimenRes int top, optional @DimenRes int end, optional @DimenRes int bottom);
     method public static androidx.glance.Modifier padding(androidx.glance.Modifier, optional float horizontal, optional float vertical);
+    method public static androidx.glance.Modifier padding(androidx.glance.Modifier, optional @DimenRes int horizontal, optional @DimenRes int vertical);
     method public static androidx.glance.Modifier padding(androidx.glance.Modifier, float all);
+    method public static androidx.glance.Modifier padding(androidx.glance.Modifier, @DimenRes int all);
   }
 
   public final class RowKt {
diff --git a/glance/glance/build.gradle b/glance/glance/build.gradle
index 347d319..f8f3794 100644
--- a/glance/glance/build.gradle
+++ b/glance/glance/build.gradle
@@ -17,7 +17,6 @@
 import androidx.build.LibraryGroups
 import androidx.build.LibraryType
 import androidx.build.Publish
-import androidx.build.RunApiTasks
 import androidx.build.AndroidXComposePlugin
 
 plugins {
@@ -38,6 +37,8 @@
     implementation("androidx.annotation:annotation:1.1.0")
     implementation(libs.kotlinStdlib)
 
+    testImplementation(libs.robolectric)
+    testImplementation(libs.testCore)
     testImplementation(libs.testRules)
     testImplementation(libs.testRunner)
     testImplementation(libs.truth)
@@ -45,6 +46,8 @@
     testImplementation(libs.kotlinCoroutinesTest)
     testImplementation(libs.kotlinTest)
     testImplementation(libs.kotlinReflect)
+    testImplementation(libs.mockitoCore)
+    testImplementation(libs.mockitoKotlin)
 }
 
 android {
diff --git a/glance/glance/lint-baseline.xml b/glance/glance/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/glance/glance/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/glance/glance/src/androidMain/kotlin/androidx/glance/Utils.kt b/glance/glance/src/androidMain/kotlin/androidx/glance/Utils.kt
index 7ea9613..96ab925 100644
--- a/glance/glance/src/androidMain/kotlin/androidx/glance/Utils.kt
+++ b/glance/glance/src/androidMain/kotlin/androidx/glance/Utils.kt
@@ -20,7 +20,7 @@
 
 /** @suppress */
 @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
-inline fun <reified T> Modifier.findModifier(): T? = this.foldOut<T?>(null) { cur, acc ->
+inline fun <reified T> Modifier.findModifier(): T? = this.foldIn<T?>(null) { acc, cur ->
     if (cur is T) {
         cur
     } else {
diff --git a/glance/glance/src/androidMain/kotlin/androidx/glance/action/LaunchActivityAction.kt b/glance/glance/src/androidMain/kotlin/androidx/glance/action/LaunchActivityAction.kt
index 98238f3..f75863d 100644
--- a/glance/glance/src/androidMain/kotlin/androidx/glance/action/LaunchActivityAction.kt
+++ b/glance/glance/src/androidMain/kotlin/androidx/glance/action/LaunchActivityAction.kt
@@ -18,20 +18,35 @@
 
 import android.app.Activity
 import androidx.annotation.RestrictTo
+import android.content.ComponentName
 
 /** @suppress */
 @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
-class LaunchActivityAction(val activityClass: Class<out Activity>) : Action
+public interface LaunchActivityAction : Action
+
+/** @suppress */
+@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
+class LaunchActivityComponentAction(val componentName: ComponentName) : LaunchActivityAction
+
+/** @suppress */
+@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
+class LaunchActivityClassAction(val activityClass: Class<out Activity>) : LaunchActivityAction
+
+/**
+ * Creates an [Action] that launches the [Activity] specified by the given [ComponentName].
+ */
+public fun launchActivityAction(componentName: ComponentName): Action =
+    LaunchActivityComponentAction(componentName)
 
 /**
  * Creates an [Action] that launches the specified [Activity] when triggered.
  */
 public fun <T : Activity> launchActivityAction(activity: Class<T>): Action =
-    LaunchActivityAction(activity)
+    LaunchActivityClassAction(activity)
 
 @Suppress("MissingNullability") /* Shouldn't need to specify @NonNull. b/199284086 */
 /**
  * Creates an [Action] that launches the specified [Activity] when triggered.
  */
 public inline fun <reified T : Activity> launchActivityAction(): Action =
-    launchActivityAction(T::class.java)
\ No newline at end of file
+    launchActivityAction(T::class.java)
diff --git a/glance/glance/src/androidMain/kotlin/androidx/glance/layout/Dimension.kt b/glance/glance/src/androidMain/kotlin/androidx/glance/layout/Dimension.kt
index 11dd2b8..0ee1dac 100644
--- a/glance/glance/src/androidMain/kotlin/androidx/glance/layout/Dimension.kt
+++ b/glance/glance/src/androidMain/kotlin/androidx/glance/layout/Dimension.kt
@@ -91,9 +91,16 @@
 /** Sets both the width and height of an element, in [Dp]. */
 public fun Modifier.size(size: Dp): Modifier = this.width(size).height(size)
 
+/** Sets both width and height of an element from a resource. */
+public fun Modifier.size(@DimenRes size: Int): Modifier = this.width(size).height(size)
+
 /** Sets both the width and height of an element, in [Dp]. */
 public fun Modifier.size(width: Dp, height: Dp): Modifier = this.width(width).height(height)
 
+/** Sets both the width and height of an element from resources. */
+public fun Modifier.size(@DimenRes width: Int, @DimenRes height: Int): Modifier =
+    this.width(width).height(height)
+
 /** Wrap both the width and height's content. */
 public fun Modifier.wrapContentSize(): Modifier = this.wrapContentHeight().wrapContentWidth()
 
diff --git a/glance/glance/src/androidMain/kotlin/androidx/glance/layout/Padding.kt b/glance/glance/src/androidMain/kotlin/androidx/glance/layout/Padding.kt
index fc40a8c..cddfc2b 100644
--- a/glance/glance/src/androidMain/kotlin/androidx/glance/layout/Padding.kt
+++ b/glance/glance/src/androidMain/kotlin/androidx/glance/layout/Padding.kt
@@ -15,6 +15,8 @@
  */
 package androidx.glance.layout
 
+import android.content.res.Resources
+import androidx.annotation.DimenRes
 import androidx.annotation.RestrictTo
 import androidx.glance.Modifier
 import androidx.glance.unit.Dp
@@ -25,51 +27,114 @@
  * [bottom]. The start and end edges will be determined by layout direction of the current locale.
  * Padding is applied before content measurement and takes precedence; content may only be as large
  * as the remaining space.
+ *
+ * If any value is not defined, it will be [0.dp] or whatever value was defined by an earlier
+ * modifier.
  */
 public fun Modifier.padding(
     start: Dp = 0.dp,
     top: Dp = 0.dp,
     end: Dp = 0.dp,
-    bottom: Dp = 0.dp
+    bottom: Dp = 0.dp,
 ): Modifier = this.then(
     PaddingModifier(
-        start = start,
-        top = top,
-        end = end,
-        bottom = bottom,
-        rtlAware = true
+        start = start.toPadding(),
+        top = top.toPadding(),
+        end = end.toPadding(),
+        bottom = bottom.toPadding(),
+    )
+)
+
+/**
+ * Apply additional space along each edge of the content in [Dp]: [start], [top], [end] and
+ * [bottom]. The start and end edges will be determined by layout direction of the current locale.
+ * Padding is applied before content measurement and takes precedence; content may only be as large
+ * as the remaining space.
+ *
+ * If any value is not defined, it will be [0.dp] or whatever value was defined by an earlier
+ * modifier.
+ */
+public fun Modifier.padding(
+    @DimenRes start: Int = 0,
+    @DimenRes top: Int = 0,
+    @DimenRes end: Int = 0,
+    @DimenRes bottom: Int = 0
+): Modifier = this.then(
+    PaddingModifier(
+        start = start.toPadding(),
+        top = top.toPadding(),
+        end = end.toPadding(),
+        bottom = bottom.toPadding(),
     )
 )
 
 /**
  * Apply [horizontal] dp space along the left and right edges of the content, and [vertical] dp
  * space along the top and bottom edges.
+ *
+ * If any value is not defined, it will be [0.dp] or whatever value was defined by an earlier
+ * modifier.
  */
 public fun Modifier.padding(
     horizontal: Dp = 0.dp,
-    vertical: Dp = 0.dp
+    vertical: Dp = 0.dp,
 ): Modifier = this.then(
     PaddingModifier(
-        start = horizontal,
-        top = vertical,
-        end = horizontal,
-        bottom = vertical,
-        rtlAware = true
+        start = horizontal.toPadding(),
+        top = vertical.toPadding(),
+        end = horizontal.toPadding(),
+        bottom = vertical.toPadding(),
+    )
+)
+
+/**
+ * Apply [horizontal] dp space along the left and right edges of the content, and [vertical] dp
+ * space along the top and bottom edges.
+ *
+ * If any value is not defined, it will be [0.dp] or whatever value was defined by an earlier
+ * modifier.
+ */
+public fun Modifier.padding(
+    @DimenRes horizontal: Int = 0,
+    @DimenRes vertical: Int = 0
+): Modifier = this.then(
+    PaddingModifier(
+        start = horizontal.toPadding(),
+        top = vertical.toPadding(),
+        end = horizontal.toPadding(),
+        bottom = vertical.toPadding(),
     )
 )
 
 /**
  * Apply [all] dp of additional space along each edge of the content, left, top, right and bottom.
  */
-public fun Modifier.padding(all: Dp): Modifier = this.then(
-    PaddingModifier(
-        start = all,
-        top = all,
-        end = all,
-        bottom = all,
-        rtlAware = true
+public fun Modifier.padding(all: Dp): Modifier {
+    val allDp = all.toPadding()
+    return this.then(
+        PaddingModifier(
+            start = allDp,
+            top = allDp,
+            end = allDp,
+            bottom = allDp,
+        )
     )
-)
+}
+
+/**
+ * Apply [all] dp of additional space along each edge of the content, left, top, right and bottom.
+ */
+public fun Modifier.padding(@DimenRes all: Int): Modifier {
+    val allDp = all.toPadding()
+    return this.then(
+        PaddingModifier(
+            start = allDp,
+            top = allDp,
+            end = allDp,
+            bottom = allDp,
+        )
+    )
+}
 
 /**
  *  Apply additional space along each edge of the content in [Dp]: [left], [top], [right] and
@@ -79,28 +144,136 @@
     left: Dp = 0.dp,
     top: Dp = 0.dp,
     right: Dp = 0.dp,
-    bottom: Dp = 0.dp
+    bottom: Dp = 0.dp,
 ): Modifier = this.then(
     PaddingModifier(
-        start = left,
-        top = top,
-        end = right,
-        bottom = bottom,
-        rtlAware = false
+        left = left.toPadding(),
+        top = top.toPadding(),
+        right = right.toPadding(),
+        bottom = bottom.toPadding(),
     )
 )
 
+/**
+ *  Apply additional space along each edge of the content in [Dp]: [left], [top], [right] and
+ * [bottom], ignoring the current locale's layout direction.
+ */
+public fun Modifier.absolutePadding(
+    @DimenRes left: Int = 0,
+    @DimenRes top: Int = 0,
+    @DimenRes right: Int = 0,
+    @DimenRes bottom: Int = 0
+): Modifier = this.then(
+    PaddingModifier(
+        left = left.toPadding(),
+        top = top.toPadding(),
+        right = right.toPadding(),
+        bottom = bottom.toPadding(),
+    )
+)
+
+private fun Dp.toPadding() =
+    PaddingDimension(dp = this)
+
+private fun Int.toPadding() =
+    if (this == 0) PaddingDimension() else PaddingDimension(this)
+
 /** @suppress */
 @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
-public class PaddingModifier(
+public fun Modifier.collectPadding(): PaddingModifier? =
+    foldIn<PaddingModifier?>(null) { acc, modifier ->
+        if (modifier is PaddingModifier) {
+            (acc ?: PaddingModifier()) + modifier
+        } else {
+            acc
+        }
+    }
+
+/** @suppress */
+@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
+public fun Modifier.collectPaddingInDp(resources: Resources) =
+    collectPadding()?.let { padding ->
+        PaddingInDp(
+            left = padding.left.dp + padding.left.resources.toDp(resources),
+            start = padding.start.dp + padding.start.resources.toDp(resources),
+            top = padding.top.dp + padding.top.resources.toDp(resources),
+            right = padding.right.dp + padding.right.resources.toDp(resources),
+            end = padding.end.dp + padding.end.resources.toDp(resources),
+            bottom = padding.bottom.dp + padding.bottom.resources.toDp(resources),
+        )
+    }
+
+private fun List<Int>.toDp(resources: Resources) =
+    fold(0.dp) { acc, res ->
+        acc + (resources.getDimension(res) / resources.displayMetrics.density).dp
+    }
+
+/** @suppress */
+@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
+public data class PaddingModifier(
+    public val left: PaddingDimension = PaddingDimension(),
+    public val start: PaddingDimension = PaddingDimension(),
+    public val top: PaddingDimension = PaddingDimension(),
+    public val right: PaddingDimension = PaddingDimension(),
+    public val end: PaddingDimension = PaddingDimension(),
+    public val bottom: PaddingDimension = PaddingDimension(),
+) : Modifier.Element {
+
+    public operator fun plus(other: PaddingModifier) =
+        PaddingModifier(
+            left = left + other.left,
+            start = start + other.start,
+            top = top + other.top,
+            right = right + other.right,
+            end = end + other.end,
+            bottom = bottom + other.bottom,
+        )
+}
+
+/** @suppress */
+@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
+public data class PaddingDimension(
+    public val dp: Dp = 0.dp,
+    public val resources: List<Int> = emptyList(),
+) {
+    constructor(@DimenRes resource: Int) : this(resources = listOf(resource))
+
+    public operator fun plus(other: PaddingDimension) =
+        PaddingDimension(
+            dp = dp + other.dp,
+            resources = resources + other.resources,
+        )
+
+    companion object {
+        val Zero = PaddingDimension()
+    }
+}
+
+/** @suppress */
+@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
+public data class PaddingInDp(
+    public val left: Dp = 0.dp,
     public val start: Dp = 0.dp,
     public val top: Dp = 0.dp,
+    public val right: Dp = 0.dp,
     public val end: Dp = 0.dp,
     public val bottom: Dp = 0.dp,
-    public val rtlAware: Boolean
-) : Modifier.Element {
-    override fun toString(): String {
-        return "PaddingModifier(start=$start, top=$top, end=$end, bottom=$bottom, " +
-            "rtlAware=$rtlAware)"
-    }
+) {
+    /** Transfer [start] / [end] to [left] / [right] depending on [isRtl]. */
+    public fun toAbsolute(isRtl: Boolean) =
+        PaddingInDp(
+            left = left + if (isRtl) end else start,
+            top = top,
+            right = right + if (isRtl) start else end,
+            bottom = bottom,
+        )
+
+    /** Transfer [left] / [right] to [start] / [end] depending on [isRtl]. */
+    public fun toRelative(isRtl: Boolean) =
+        PaddingInDp(
+            start = start + if (isRtl) right else left,
+            top = top,
+            end = end + if (isRtl) left else right,
+            bottom = bottom
+        )
 }
diff --git a/glance/glance/src/test/kotlin/androidx/glance/action/ActionTest.kt b/glance/glance/src/test/kotlin/androidx/glance/action/ActionTest.kt
index fd8d514..7729138 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/action/ActionTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/action/ActionTest.kt
@@ -17,17 +17,38 @@
 package androidx.glance.action
 
 import android.content.Context
+import com.google.common.truth.Truth.assertThat
+import android.content.ComponentName
 import androidx.glance.Modifier
 import androidx.glance.findModifier
+import androidx.test.core.app.ApplicationProvider
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.test.TestCoroutineScope
+import kotlinx.coroutines.test.runBlockingTest
+import org.junit.Before
 import org.junit.Test
+import org.junit.runner.RunWith
+import org.robolectric.RobolectricTestRunner
 import kotlin.test.assertIs
+import kotlin.test.assertNotNull
 
+@OptIn(ExperimentalCoroutinesApi::class)
+@RunWith(RobolectricTestRunner::class)
 class ActionTest {
+
+    private lateinit var fakeCoroutineScope: TestCoroutineScope
+    private val context = ApplicationProvider.getApplicationContext<Context>()
+
+    @Before
+    fun setUp() {
+        fakeCoroutineScope = TestCoroutineScope()
+    }
+
     @Test
-    fun testLaunch() {
+    fun testLaunchActivity() {
         val modifiers = Modifier.clickable(launchActivityAction(TestActivity::class.java))
         val modifier = checkNotNull(modifiers.findModifier<ActionModifier>())
-        assertIs<LaunchActivityAction>(modifier.action)
+        assertIs<LaunchActivityClassAction>(modifier.action)
     }
 
     @Test
@@ -36,8 +57,32 @@
         val modifier = checkNotNull(modifiers.findModifier<ActionModifier>())
         assertIs<UpdateAction>(modifier.action)
     }
+
+    @Test
+    fun testLaunchFromComponent() = fakeCoroutineScope.runBlockingTest {
+        val c = ComponentName("androidx.glance.action", "androidx.glance.action.TestActivity")
+
+        val modifiers = Modifier.clickable(launchActivityAction(c))
+        val modifier = checkNotNull(modifiers.findModifier<ActionModifier>())
+        val action = assertIs<LaunchActivityComponentAction>(modifier.action)
+        val component = assertNotNull(action.componentName)
+
+        assertThat(component).isEqualTo(c)
+    }
+
+    @Test
+    fun testLaunchFromComponentWithContext() = fakeCoroutineScope.runBlockingTest {
+        val c = ComponentName(context, "androidx.glance.action.TestActivity")
+
+        val modifiers = Modifier.clickable(launchActivityAction(c))
+        val modifier = checkNotNull(modifiers.findModifier<ActionModifier>())
+        val action = assertIs<LaunchActivityComponentAction>(modifier.action)
+        val component = assertNotNull(action.componentName)
+
+        assertThat(component).isEqualTo(c)
+    }
 }
 
 class TestRunnable : ActionRunnable {
     override suspend fun run(context: Context) { }
-}
\ No newline at end of file
+}
diff --git a/glance/glance/src/test/kotlin/androidx/glance/layout/BoxTest.kt b/glance/glance/src/test/kotlin/androidx/glance/layout/BoxTest.kt
index 57d3a5f..9381169 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/layout/BoxTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/layout/BoxTest.kt
@@ -60,7 +60,7 @@
         val paddingModifier = requireNotNull(innerBox.modifier.findModifier<PaddingModifier>())
 
         // Don't need to test all elements, that's covered in PaddingTest
-        assertThat(paddingModifier.top).isEqualTo(1.dp)
+        assertThat(paddingModifier.top).isEqualTo(PaddingDimension(1.dp))
     }
 
     @Test
diff --git a/glance/glance/src/test/kotlin/androidx/glance/layout/ColumnTest.kt b/glance/glance/src/test/kotlin/androidx/glance/layout/ColumnTest.kt
index d7bc3c6..166f057 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/layout/ColumnTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/layout/ColumnTest.kt
@@ -59,7 +59,7 @@
 
         val innerColumn = assertIs<EmittableColumn>(root.children[0])
         val paddingModifier = requireNotNull(innerColumn.modifier.findModifier<PaddingModifier>())
-        assertThat(paddingModifier.top).isEqualTo(2.dp)
+        assertThat(paddingModifier.top).isEqualTo(PaddingDimension(2.dp))
         assertThat(innerColumn.horizontalAlignment).isEqualTo(Alignment.CenterHorizontally)
         assertThat(innerColumn.verticalAlignment).isEqualTo(Alignment.CenterVertically)
     }
diff --git a/glance/glance/src/test/kotlin/androidx/glance/layout/DimensionTest.kt b/glance/glance/src/test/kotlin/androidx/glance/layout/DimensionTest.kt
index 43deeae..bdb3ec5 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/layout/DimensionTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/layout/DimensionTest.kt
@@ -91,6 +91,20 @@
     }
 
     @Test
+    fun sizeModifierWithResources() {
+        val modifier = Modifier.size(123, 234)
+
+        val widthModifier = checkNotNull(modifier.findModifier<WidthModifier>())
+        val heightModifier = checkNotNull(modifier.findModifier<HeightModifier>())
+
+        val width = assertIs<Dimension.Resource>(widthModifier.width)
+        val height = assertIs<Dimension.Resource>(heightModifier.height)
+
+        assertThat(width.res).isEqualTo(123)
+        assertThat(height.res).isEqualTo(234)
+    }
+
+    @Test
     fun combinedSizeModifier() {
         val modifier = Modifier.size(10.dp)
 
@@ -105,6 +119,20 @@
     }
 
     @Test
+    fun combinedSizeModifierWithResources() {
+        val modifier = Modifier.size(123)
+
+        val widthModifier = checkNotNull(modifier.findModifier<WidthModifier>())
+        val heightModifier = checkNotNull(modifier.findModifier<HeightModifier>())
+
+        val width = assertIs<Dimension.Resource>(widthModifier.width)
+        val height = assertIs<Dimension.Resource>(heightModifier.height)
+
+        assertThat(width.res).isEqualTo(123)
+        assertThat(height.res).isEqualTo(123)
+    }
+
+    @Test
     fun fillMaxSizeModifier() {
         val modifier = Modifier.fillMaxSize()
 
diff --git a/glance/glance/src/test/kotlin/androidx/glance/layout/PaddingTest.kt b/glance/glance/src/test/kotlin/androidx/glance/layout/PaddingTest.kt
index bd098c4..6d7cbe6 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/layout/PaddingTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/layout/PaddingTest.kt
@@ -15,13 +15,28 @@
  */
 package androidx.glance.layout
 
+import android.content.res.Resources
+import android.util.DisplayMetrics
 import androidx.glance.Modifier
 import androidx.glance.findModifier
 import androidx.glance.unit.dp
 import com.google.common.truth.Truth.assertThat
+import com.nhaarman.mockitokotlin2.doReturn
+import com.nhaarman.mockitokotlin2.mock
 import org.junit.Test
 
 class PaddingTest {
+
+    private val mockDisplayMetrics = DisplayMetrics().also {
+        it.density = density
+    }
+
+    private val mockResources = mock<Resources>() {
+        on { displayMetrics } doReturn mockDisplayMetrics
+        on { getDimension(dimensionRes1) } doReturn dimension1InDp * density
+        on { getDimension(dimensionRes2) } doReturn dimension2InDp * density
+    }
+
     @Test
     fun buildPadding() {
         val modifiers = Modifier.padding(
@@ -34,11 +49,14 @@
         // Find the padding modifier...
         val paddingModifier = checkNotNull(modifiers.findModifier<PaddingModifier>())
 
-        assertThat(paddingModifier.rtlAware).isTrue()
-        assertThat(paddingModifier.start).isEqualTo(1.dp)
-        assertThat(paddingModifier.top).isEqualTo(2.dp)
-        assertThat(paddingModifier.end).isEqualTo(3.dp)
-        assertThat(paddingModifier.bottom).isEqualTo(4.dp)
+        assertThat(paddingModifier).isEqualTo(
+            PaddingModifier(
+                start = PaddingDimension(1.dp),
+                top = PaddingDimension(2.dp),
+                end = PaddingDimension(3.dp),
+                bottom = PaddingDimension(4.dp),
+            )
+        )
     }
 
     @Test
@@ -47,10 +65,14 @@
 
         val paddingModifier = checkNotNull(modifiers.findModifier<PaddingModifier>())
 
-        assertThat(paddingModifier.start).isEqualTo(4.dp)
-        assertThat(paddingModifier.top).isEqualTo(2.dp)
-        assertThat(paddingModifier.end).isEqualTo(4.dp)
-        assertThat(paddingModifier.bottom).isEqualTo(2.dp)
+        assertThat(paddingModifier).isEqualTo(
+            PaddingModifier(
+                start = PaddingDimension(4.dp),
+                top = PaddingDimension(2.dp),
+                end = PaddingDimension(4.dp),
+                bottom = PaddingDimension(2.dp),
+            )
+        )
     }
 
     @Test
@@ -59,10 +81,14 @@
 
         val paddingModifier = checkNotNull(modifiers.findModifier<PaddingModifier>())
 
-        assertThat(paddingModifier.start).isEqualTo(5.dp)
-        assertThat(paddingModifier.top).isEqualTo(5.dp)
-        assertThat(paddingModifier.end).isEqualTo(5.dp)
-        assertThat(paddingModifier.bottom).isEqualTo(5.dp)
+        assertThat(paddingModifier).isEqualTo(
+            PaddingModifier(
+                start = PaddingDimension(5.dp),
+                top = PaddingDimension(5.dp),
+                end = PaddingDimension(5.dp),
+                bottom = PaddingDimension(5.dp),
+            )
+        )
     }
 
     @Test
@@ -71,15 +97,215 @@
             left = 1.dp,
             top = 2.dp,
             right = 3.dp,
-            bottom = 4.dp
+            bottom = 4.dp,
         )
 
         val paddingModifier = checkNotNull(modifiers.findModifier<PaddingModifier>())
 
-        assertThat(paddingModifier.rtlAware).isFalse()
-        assertThat(paddingModifier.start).isEqualTo(1.dp)
-        assertThat(paddingModifier.top).isEqualTo(2.dp)
-        assertThat(paddingModifier.end).isEqualTo(3.dp)
-        assertThat(paddingModifier.bottom).isEqualTo(4.dp)
+        assertThat(paddingModifier).isEqualTo(
+            PaddingModifier(
+                left = PaddingDimension(1.dp),
+                top = PaddingDimension(2.dp),
+                right = PaddingDimension(3.dp),
+                bottom = PaddingDimension(4.dp),
+            )
+        )
+    }
+
+    @Test
+    fun extractPadding_shouldReturnNull() {
+        val modifiers = Modifier.then(object : Modifier.Element {})
+
+        assertThat(modifiers.collectPadding()).isNull()
+        assertThat(modifiers.collectPaddingInDp(mockResources)).isNull()
+    }
+
+    @Test
+    fun mergePadding_noOrientation() {
+        val modifiers = Modifier.padding(horizontal = 15.dp).padding(vertical = dimensionRes1)
+
+        val paddingModifier = checkNotNull(modifiers.collectPadding())
+
+        assertThat(paddingModifier).isEqualTo(
+            PaddingModifier(
+                start = PaddingDimension(15.dp),
+                end = PaddingDimension(15.dp),
+                top = PaddingDimension(dimensionRes1),
+                bottom = PaddingDimension(dimensionRes1),
+            )
+        )
+
+        val paddingInDp = checkNotNull(modifiers.collectPaddingInDp(mockResources))
+
+        assertThat(paddingInDp).isEqualTo(
+            PaddingInDp(
+                start = 15.dp,
+                end = 15.dp,
+                top = dimension1InDp.dp,
+                bottom = dimension1InDp.dp,
+            )
+        )
+    }
+
+    @Test
+    fun mergePadding_resetWithAll() {
+        val modifiers = Modifier.padding(horizontal = 12.dp).padding(all = dimensionRes2)
+
+        val paddingModifier = checkNotNull(modifiers.collectPadding())
+
+        assertThat(paddingModifier).isEqualTo(
+            PaddingModifier(
+                start = PaddingDimension(dp = 12.dp, resources = listOf(dimensionRes2)),
+                end = PaddingDimension(dp = 12.dp, resources = listOf(dimensionRes2)),
+                top = PaddingDimension(dimensionRes2),
+                bottom = PaddingDimension(dimensionRes2),
+            )
+        )
+
+        val paddingInDp = checkNotNull(modifiers.collectPaddingInDp(mockResources))
+
+        assertThat(paddingInDp).isEqualTo(
+            PaddingInDp(
+                start = (12 + dimension2InDp).dp,
+                end = (12 + dimension2InDp).dp,
+                top = dimension2InDp.dp,
+                bottom = dimension2InDp.dp,
+            )
+        )
+    }
+
+    @Test
+    fun mergePadding_withRelativeOrientation() {
+        val modifiers = Modifier.padding(start = 15.dp, end = 12.dp, top = 20.dp)
+            .padding(end = dimensionRes1)
+
+        val paddingModifier = checkNotNull(modifiers.collectPadding())
+
+        assertThat(paddingModifier).isEqualTo(
+            PaddingModifier(
+                start = PaddingDimension(15.dp),
+                end = PaddingDimension(dp = 12.dp, resources = listOf(dimensionRes1)),
+                top = PaddingDimension(20.dp),
+            )
+        )
+    }
+
+    @Test
+    fun mergePadding_withAbsoluteOrientation() {
+        val modifiers = Modifier.absolutePadding(left = 15.dp, right = 12.dp)
+            .absolutePadding(left = dimensionRes1, bottom = dimensionRes2)
+
+        val paddingModifier = checkNotNull(modifiers.collectPadding())
+
+        assertThat(paddingModifier).isEqualTo(
+            PaddingModifier(
+                left = PaddingDimension(dp = 15.dp, resources = listOf(dimensionRes1)),
+                right = PaddingDimension(12.dp),
+                bottom = PaddingDimension(dimensionRes2),
+            )
+        )
+    }
+
+    @Test
+    fun mergePadding_setOrientationToRelative() {
+        val modifiers = Modifier.absolutePadding(left = 10.dp, right = 10.dp)
+            .padding(start = dimensionRes1, end = dimensionRes2)
+
+        val paddingModifier = checkNotNull(modifiers.collectPadding())
+
+        assertThat(paddingModifier).isEqualTo(
+            PaddingModifier(
+                start = PaddingDimension(dimensionRes1),
+                end = PaddingDimension(dimensionRes2),
+                left = PaddingDimension(10.dp),
+                right = PaddingDimension(10.dp),
+            )
+        )
+    }
+
+    @Test
+    fun mergePadding_setOrientationToAbsolute() {
+        val modifiers = Modifier.padding(start = dimensionRes1, end = dimensionRes2)
+            .absolutePadding(left = 10.dp, right = 12.dp)
+
+        val paddingModifier = checkNotNull(modifiers.collectPadding())
+
+        assertThat(paddingModifier).isEqualTo(
+            PaddingModifier(
+                left = PaddingDimension(10.dp),
+                right = PaddingDimension(12.dp),
+                start = PaddingDimension(dimensionRes1),
+                end = PaddingDimension(dimensionRes2),)
+        )
+    }
+
+    @Test
+    fun toRelative() {
+        val paddingInDp = PaddingInDp(
+            left = 1.dp,
+            right = 2.dp,
+            start = 10.dp,
+            end = 20.dp,
+            top = 50.dp,
+            bottom = 100.dp,
+        )
+
+        assertThat(paddingInDp.toRelative(isRtl = true)).isEqualTo(
+            PaddingInDp(
+                start = 12.dp,
+                end = 21.dp,
+                top = 50.dp,
+                bottom = 100.dp,
+            )
+        )
+
+        assertThat(paddingInDp.toRelative(isRtl = false)).isEqualTo(
+            PaddingInDp(
+                start = 11.dp,
+                end = 22.dp,
+                top = 50.dp,
+                bottom = 100.dp,
+            )
+        )
+    }
+
+    @Test
+    fun toAbsolute() {
+        val paddingInDp = PaddingInDp(
+            left = 1.dp,
+            right = 2.dp,
+            start = 10.dp,
+            end = 20.dp,
+            top = 50.dp,
+            bottom = 100.dp,
+        )
+
+        assertThat(paddingInDp.toAbsolute(isRtl = true)).isEqualTo(
+            PaddingInDp(
+                left = 21.dp,
+                right = 12.dp,
+                top = 50.dp,
+                bottom = 100.dp,
+            )
+        )
+
+        assertThat(paddingInDp.toAbsolute(isRtl = false)).isEqualTo(
+            PaddingInDp(
+                left = 11.dp,
+                right = 22.dp,
+                top = 50.dp,
+                bottom = 100.dp,
+            )
+        )
+    }
+
+    private companion object {
+        const val dimensionRes1 = 123
+        const val dimensionRes2 = 321
+
+        const val density = 2f
+
+        const val dimension1InDp = 100f
+        const val dimension2InDp = 200f
     }
 }
diff --git a/glance/glance/src/test/kotlin/androidx/glance/layout/RowTest.kt b/glance/glance/src/test/kotlin/androidx/glance/layout/RowTest.kt
index 5b777f8..671d0c0 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/layout/RowTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/layout/RowTest.kt
@@ -59,7 +59,7 @@
 
         val innerRow = root.children[0] as EmittableRow
         val paddingModifier = requireNotNull(innerRow.modifier.findModifier<PaddingModifier>())
-        assertThat(paddingModifier.top).isEqualTo(2.dp)
+        assertThat(paddingModifier.top).isEqualTo(PaddingDimension(2.dp))
         assertThat(innerRow.verticalAlignment).isEqualTo(Alignment.Bottom)
         assertThat(innerRow.horizontalAlignment).isEqualTo(Alignment.End)
     }
diff --git a/glance/glance/src/test/resources/robolectric.properties b/glance/glance/src/test/resources/robolectric.properties
new file mode 100644
index 0000000..ab64ba7
--- /dev/null
+++ b/glance/glance/src/test/resources/robolectric.properties
@@ -0,0 +1,3 @@
+# Robolectric currently doesn't support API 31, so we have to explicitly specify 30 as the target
+# sdk for now. Remove when no longer necessary.
+sdk=30
diff --git a/gradle.properties b/gradle.properties
index d2f6174..4b0eb07 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,4 +1,4 @@
-org.gradle.jvmargs=-Xmx8g -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParallelGC
+org.gradle.jvmargs=-Xmx8g -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParallelGC -Dkotlin.daemon.jvm.options=-XX:MaxMetaspaceSize=1g
 org.gradle.daemon=true
 org.gradle.configureondemand=true
 org.gradle.parallel=true
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 9ec2be1..8887613 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -150,6 +150,7 @@
 rxjava3 = { module = "io.reactivex.rxjava3:rxjava", version = "3.0.0" }
 shadow = { module = "com.github.jengelman.gradle.plugins:shadow", version = "6.1.0" }
 skiko = { module = "org.jetbrains.skiko:skiko-jvm", version.ref = "skiko" }
+skikoCommon = { module = "org.jetbrains.skiko:skiko", version.ref = "skiko" }
 skikoMacOsArm64 = { module = "org.jetbrains.skiko:skiko-jvm-runtime-macos-arm64", version.ref = "skiko" }
 skikoMacOsX64 = { module = "org.jetbrains.skiko:skiko-jvm-runtime-macos-x64", version.ref = "skiko" }
 skikoWindowsX64 = { module = "org.jetbrains.skiko:skiko-jvm-runtime-windows-x64", version.ref = "skiko" }
diff --git a/gridlayout/gridlayout/lint-baseline.xml b/gridlayout/gridlayout/lint-baseline.xml
index 7e84c1a..e8be2cb 100644
--- a/gridlayout/gridlayout/lint-baseline.xml
+++ b/gridlayout/gridlayout/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
diff --git a/health/health-services-client/lint-baseline.xml b/health/health-services-client/lint-baseline.xml
index 1f39e14..37b4c7f 100644
--- a/health/health-services-client/lint-baseline.xml
+++ b/health/health-services-client/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
         id="BanKeepAnnotation"
diff --git a/heifwriter/OWNERS b/heifwriter/OWNERS
index bd25606..529ce24 100644
--- a/heifwriter/OWNERS
+++ b/heifwriter/OWNERS
@@ -1 +1 @@
[email protected]
[email protected]
diff --git a/heifwriter/heifwriter/lint-baseline.xml b/heifwriter/heifwriter/lint-baseline.xml
index 2f2db270a..cb83e38 100644
--- a/heifwriter/heifwriter/lint-baseline.xml
+++ b/heifwriter/heifwriter/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="BanSynchronizedMethods"
diff --git a/hilt/hilt-common/lint-baseline.xml b/hilt/hilt-common/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/hilt/hilt-common/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/hilt/hilt-compiler/lint-baseline.xml b/hilt/hilt-compiler/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/hilt/hilt-compiler/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/hilt/hilt-navigation-compose/lint-baseline.xml b/hilt/hilt-navigation-compose/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/hilt/hilt-navigation-compose/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/hilt/hilt-navigation-compose/samples/lint-baseline.xml b/hilt/hilt-navigation-compose/samples/lint-baseline.xml
new file mode 100644
index 0000000..cac506a
--- /dev/null
+++ b/hilt/hilt-navigation-compose/samples/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/hilt/hilt-navigation-fragment/lint-baseline.xml b/hilt/hilt-navigation-fragment/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/hilt/hilt-navigation-fragment/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/hilt/hilt-navigation/lint-baseline.xml b/hilt/hilt-navigation/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/hilt/hilt-navigation/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/hilt/hilt-work/lint-baseline.xml b/hilt/hilt-work/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/hilt/hilt-work/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/hilt/integration-tests/viewmodelapp/lint-baseline.xml b/hilt/integration-tests/viewmodelapp/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/hilt/integration-tests/viewmodelapp/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/hilt/integration-tests/workerapp/lint-baseline.xml b/hilt/integration-tests/workerapp/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/hilt/integration-tests/workerapp/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/inspection/inspection-gradle-plugin/lint-baseline.xml b/inspection/inspection-gradle-plugin/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/inspection/inspection-gradle-plugin/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/inspection/inspection-testing/lint-baseline.xml b/inspection/inspection-testing/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/inspection/inspection-testing/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/inspection/inspection/lint-baseline.xml b/inspection/inspection/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/inspection/inspection/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/interpolator/interpolator/lint-baseline.xml b/interpolator/interpolator/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/interpolator/interpolator/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/jetifier/jetifier/core/lint-baseline.xml b/jetifier/jetifier/core/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/jetifier/jetifier/core/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/jetifier/jetifier/preprocessor/lint-baseline.xml b/jetifier/jetifier/preprocessor/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/jetifier/jetifier/preprocessor/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/jetifier/jetifier/processor/lint-baseline.xml b/jetifier/jetifier/processor/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/jetifier/jetifier/processor/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/jetifier/jetifier/standalone/lint-baseline.xml b/jetifier/jetifier/standalone/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/jetifier/jetifier/standalone/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/leanback/leanback-paging/lint-baseline.xml b/leanback/leanback-paging/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/leanback/leanback-paging/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/leanback/leanback-preference/lint-baseline.xml b/leanback/leanback-preference/lint-baseline.xml
index 5a42702..d9a9e4f 100644
--- a/leanback/leanback-preference/lint-baseline.xml
+++ b/leanback/leanback-preference/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="MissingLeanbackLauncher"
@@ -35,6 +35,28 @@
     </issue>
 
     <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(21)"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="api21/androidx/leanback/preference/LeanbackPreferenceFragmentTransitionHelperApi21.java"
+            line="33"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(21)"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="api21/androidx/leanback/preference/internal/OutlineOnlyWithChildrenFrameLayout.java"
+            line="37"
+            column="1"/>
+    </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 RecyclerView onCreateRecyclerView(LayoutInflater inflater, ViewGroup parent,"
diff --git a/leanback/leanback-tab/lint-baseline.xml b/leanback/leanback-tab/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/leanback/leanback-tab/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/leanback/leanback/lint-baseline.xml b/leanback/leanback/lint-baseline.xml
index 4f85890..6316f2a 100644
--- a/leanback/leanback/lint-baseline.xml
+++ b/leanback/leanback/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
@@ -195,7 +195,7 @@
         errorLine2="                                  ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="690"
+            line="698"
             column="35"/>
     </issue>
 
@@ -206,7 +206,7 @@
         errorLine2="                                  ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="692"
+            line="700"
             column="35"/>
     </issue>
 
@@ -217,7 +217,7 @@
         errorLine2="                              ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="696"
+            line="704"
             column="31"/>
     </issue>
 
@@ -228,7 +228,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="711"
+            line="719"
             column="41"/>
     </issue>
 
@@ -239,7 +239,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="713"
+            line="721"
             column="41"/>
     </issue>
 
@@ -250,7 +250,7 @@
         errorLine2="                              ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="717"
+            line="725"
             column="31"/>
     </issue>
 
@@ -261,7 +261,7 @@
         errorLine2="                   ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="562"
+            line="569"
             column="20"/>
     </issue>
 
@@ -272,7 +272,7 @@
         errorLine2="                ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="903"
+            line="910"
             column="17"/>
     </issue>
 
@@ -283,7 +283,7 @@
         errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="912"
+            line="919"
             column="17"/>
     </issue>
 
@@ -294,17 +294,6 @@
         errorLine2="                    ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="925"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 21; however, the containing class androidx.leanback.app.GuidedStepFragment is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="                    setEnterTransition((android.transition.Transition) enterTransition);"
-        errorLine2="                    ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
             line="932"
             column="21"/>
     </issue>
@@ -312,11 +301,22 @@
     <issue
         id="ClassVerificationFailure"
         message="This call references a method added in API level 21; however, the containing class androidx.leanback.app.GuidedStepFragment is reachable from earlier API levels and will fail run-time class verification."
+        errorLine1="                    setEnterTransition((android.transition.Transition) enterTransition);"
+        errorLine2="                    ~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
+            line="939"
+            column="21"/>
+    </issue>
+
+    <issue
+        id="ClassVerificationFailure"
+        message="This call references a method added in API level 21; however, the containing class androidx.leanback.app.GuidedStepFragment is reachable from earlier API levels and will fail run-time class verification."
         errorLine1="                setSharedElementEnterTransition(null);"
         errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="935"
+            line="942"
             column="17"/>
     </issue>
 
@@ -327,7 +327,7 @@
         errorLine2="                ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="938"
+            line="945"
             column="17"/>
     </issue>
 
@@ -338,7 +338,7 @@
         errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="940"
+            line="947"
             column="17"/>
     </issue>
 
@@ -349,7 +349,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="947"
+            line="954"
             column="13"/>
     </issue>
 
@@ -2240,7 +2240,7 @@
         errorLine2="              ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/BaseFragment.java"
-            line="235"
+            line="237"
             column="15"/>
     </issue>
 
@@ -2251,7 +2251,7 @@
         errorLine2="                                         ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/BaseFragment.java"
-            line="244"
+            line="246"
             column="42"/>
     </issue>
 
@@ -2262,7 +2262,7 @@
         errorLine2="                 ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/BaseFragment.java"
-            line="328"
+            line="332"
             column="18"/>
     </issue>
 
@@ -2581,7 +2581,7 @@
         errorLine2="                               ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/BaseOnItemViewSelectedListener.java"
-            line="47"
+            line="49"
             column="32"/>
     </issue>
 
@@ -2592,7 +2592,7 @@
         errorLine2="                                                                    ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/BaseOnItemViewSelectedListener.java"
-            line="47"
+            line="49"
             column="69"/>
     </issue>
 
@@ -2603,7 +2603,7 @@
         errorLine2="                               ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/BaseOnItemViewSelectedListener.java"
-            line="48"
+            line="50"
             column="32"/>
     </issue>
 
@@ -2625,7 +2625,7 @@
         errorLine2="              ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/BaseSupportFragment.java"
-            line="230"
+            line="232"
             column="15"/>
     </issue>
 
@@ -2636,7 +2636,7 @@
         errorLine2="                                         ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/BaseSupportFragment.java"
-            line="239"
+            line="241"
             column="42"/>
     </issue>
 
@@ -2647,7 +2647,7 @@
         errorLine2="                 ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/BaseSupportFragment.java"
-            line="323"
+            line="327"
             column="18"/>
     </issue>
 
@@ -5177,7 +5177,7 @@
         errorLine2="                           ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="406"
+            line="410"
             column="28"/>
     </issue>
 
@@ -5188,7 +5188,7 @@
         errorLine2="           ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="424"
+            line="428"
             column="12"/>
     </issue>
 
@@ -5199,7 +5199,7 @@
         errorLine2="                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="431"
+            line="435"
             column="47"/>
     </issue>
 
@@ -5210,7 +5210,7 @@
         errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="438"
+            line="442"
             column="46"/>
     </issue>
 
@@ -5221,7 +5221,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="450"
+            line="454"
             column="12"/>
     </issue>
 
@@ -5232,7 +5232,7 @@
         errorLine2="                         ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="455"
+            line="459"
             column="26"/>
     </issue>
 
@@ -5243,7 +5243,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="476"
+            line="480"
             column="12"/>
     </issue>
 
@@ -5254,7 +5254,7 @@
         errorLine2="                             ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="476"
+            line="480"
             column="30"/>
     </issue>
 
@@ -5265,7 +5265,7 @@
         errorLine2="                                                      ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="476"
+            line="480"
             column="55"/>
     </issue>
 
@@ -5276,7 +5276,7 @@
         errorLine2="            ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="477"
+            line="481"
             column="13"/>
     </issue>
 
@@ -5287,7 +5287,7 @@
         errorLine2="              ~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="541"
+            line="545"
             column="15"/>
     </issue>
 
@@ -5298,7 +5298,7 @@
         errorLine2="                                ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="541"
+            line="545"
             column="33"/>
     </issue>
 
@@ -5309,7 +5309,7 @@
         errorLine2="                                                         ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="541"
+            line="545"
             column="58"/>
     </issue>
 
@@ -5320,7 +5320,7 @@
         errorLine2="            ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="542"
+            line="546"
             column="13"/>
     </issue>
 
@@ -5331,7 +5331,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="547"
+            line="551"
             column="12"/>
     </issue>
 
@@ -5342,7 +5342,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="547"
+            line="551"
             column="36"/>
     </issue>
 
@@ -5353,7 +5353,7 @@
         errorLine2="                                                            ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="547"
+            line="551"
             column="61"/>
     </issue>
 
@@ -5364,7 +5364,7 @@
         errorLine2="                                   ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="548"
+            line="552"
             column="36"/>
     </issue>
 
@@ -5375,7 +5375,7 @@
         errorLine2="                                  ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="568"
+            line="572"
             column="35"/>
     </issue>
 
@@ -5386,7 +5386,7 @@
         errorLine2="                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="579"
+            line="583"
             column="53"/>
     </issue>
 
@@ -5397,7 +5397,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="609"
+            line="613"
             column="12"/>
     </issue>
 
@@ -5408,7 +5408,7 @@
         errorLine2="                                  ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="771"
+            line="775"
             column="35"/>
     </issue>
 
@@ -5419,7 +5419,7 @@
         errorLine2="                                                          ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="771"
+            line="775"
             column="59"/>
     </issue>
 
@@ -5430,7 +5430,7 @@
         errorLine2="                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="796"
+            line="800"
             column="50"/>
     </issue>
 
@@ -5441,7 +5441,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="797"
+            line="801"
             column="13"/>
     </issue>
 
@@ -5452,7 +5452,7 @@
         errorLine2="              ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="828"
+            line="832"
             column="15"/>
     </issue>
 
@@ -5463,7 +5463,7 @@
         errorLine2="                                         ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="834"
+            line="838"
             column="42"/>
     </issue>
 
@@ -5474,7 +5474,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsFragment.java"
-            line="861"
+            line="865"
             column="12"/>
     </issue>
 
@@ -6321,7 +6321,7 @@
         errorLine2="                           ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="401"
+            line="405"
             column="28"/>
     </issue>
 
@@ -6332,7 +6332,7 @@
         errorLine2="           ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="419"
+            line="423"
             column="12"/>
     </issue>
 
@@ -6343,7 +6343,7 @@
         errorLine2="                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="426"
+            line="430"
             column="47"/>
     </issue>
 
@@ -6354,7 +6354,7 @@
         errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="433"
+            line="437"
             column="46"/>
     </issue>
 
@@ -6365,7 +6365,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="445"
+            line="449"
             column="12"/>
     </issue>
 
@@ -6376,7 +6376,7 @@
         errorLine2="                         ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="450"
+            line="454"
             column="26"/>
     </issue>
 
@@ -6387,7 +6387,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="471"
+            line="475"
             column="12"/>
     </issue>
 
@@ -6398,7 +6398,7 @@
         errorLine2="                             ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="471"
+            line="475"
             column="30"/>
     </issue>
 
@@ -6409,7 +6409,7 @@
         errorLine2="                                                      ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="471"
+            line="475"
             column="55"/>
     </issue>
 
@@ -6420,7 +6420,7 @@
         errorLine2="            ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="472"
+            line="476"
             column="13"/>
     </issue>
 
@@ -6431,7 +6431,7 @@
         errorLine2="              ~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="536"
+            line="540"
             column="15"/>
     </issue>
 
@@ -6442,7 +6442,7 @@
         errorLine2="                                ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="536"
+            line="540"
             column="33"/>
     </issue>
 
@@ -6453,7 +6453,7 @@
         errorLine2="                                                         ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="536"
+            line="540"
             column="58"/>
     </issue>
 
@@ -6464,7 +6464,7 @@
         errorLine2="            ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="537"
+            line="541"
             column="13"/>
     </issue>
 
@@ -6475,7 +6475,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="542"
+            line="546"
             column="12"/>
     </issue>
 
@@ -6486,7 +6486,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="542"
+            line="546"
             column="36"/>
     </issue>
 
@@ -6497,7 +6497,7 @@
         errorLine2="                                                            ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="542"
+            line="546"
             column="61"/>
     </issue>
 
@@ -6508,7 +6508,7 @@
         errorLine2="                                   ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="543"
+            line="547"
             column="36"/>
     </issue>
 
@@ -6519,7 +6519,7 @@
         errorLine2="                                  ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="563"
+            line="567"
             column="35"/>
     </issue>
 
@@ -6530,7 +6530,7 @@
         errorLine2="                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="574"
+            line="578"
             column="53"/>
     </issue>
 
@@ -6541,7 +6541,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="604"
+            line="608"
             column="12"/>
     </issue>
 
@@ -6552,7 +6552,7 @@
         errorLine2="                                  ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="766"
+            line="770"
             column="35"/>
     </issue>
 
@@ -6563,7 +6563,7 @@
         errorLine2="                                                          ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="766"
+            line="770"
             column="59"/>
     </issue>
 
@@ -6574,7 +6574,7 @@
         errorLine2="                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="791"
+            line="795"
             column="50"/>
     </issue>
 
@@ -6585,7 +6585,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="792"
+            line="796"
             column="13"/>
     </issue>
 
@@ -6596,7 +6596,7 @@
         errorLine2="              ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="823"
+            line="827"
             column="15"/>
     </issue>
 
@@ -6607,7 +6607,7 @@
         errorLine2="                                         ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="829"
+            line="833"
             column="42"/>
     </issue>
 
@@ -6618,7 +6618,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/DetailsSupportFragment.java"
-            line="856"
+            line="860"
             column="12"/>
     </issue>
 
@@ -7102,7 +7102,7 @@
         errorLine2="           ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/FacetProvider.java"
-            line="65"
+            line="67"
             column="12"/>
     </issue>
 
@@ -7113,7 +7113,7 @@
         errorLine2="                           ~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/FacetProvider.java"
-            line="65"
+            line="67"
             column="28"/>
     </issue>
 
@@ -8411,7 +8411,7 @@
         errorLine2="                                    ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedAction.java"
-            line="928"
+            line="932"
             column="37"/>
     </issue>
 
@@ -8422,7 +8422,7 @@
         errorLine2="                                                   ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedAction.java"
-            line="928"
+            line="932"
             column="52"/>
     </issue>
 
@@ -8433,7 +8433,7 @@
         errorLine2="                                       ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedAction.java"
-            line="948"
+            line="954"
             column="40"/>
     </issue>
 
@@ -8444,7 +8444,7 @@
         errorLine2="                                                      ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedAction.java"
-            line="948"
+            line="954"
             column="55"/>
     </issue>
 
@@ -9005,7 +9005,7 @@
         errorLine2="                          ~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="209"
+            line="215"
             column="27"/>
     </issue>
 
@@ -9016,7 +9016,7 @@
         errorLine2="                          ~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="216"
+            line="222"
             column="27"/>
     </issue>
 
@@ -9027,7 +9027,7 @@
         errorLine2="               ~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="235"
+            line="241"
             column="16"/>
     </issue>
 
@@ -9038,7 +9038,7 @@
         errorLine2="               ~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="242"
+            line="248"
             column="16"/>
     </issue>
 
@@ -9049,7 +9049,7 @@
         errorLine2="               ~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="250"
+            line="256"
             column="16"/>
     </issue>
 
@@ -9060,7 +9060,7 @@
         errorLine2="               ~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="257"
+            line="263"
             column="16"/>
     </issue>
 
@@ -9071,7 +9071,7 @@
         errorLine2="               ~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="265"
+            line="271"
             column="16"/>
     </issue>
 
@@ -9082,7 +9082,7 @@
         errorLine2="               ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="272"
+            line="278"
             column="16"/>
     </issue>
 
@@ -9093,7 +9093,7 @@
         errorLine2="               ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="279"
+            line="285"
             column="16"/>
     </issue>
 
@@ -9104,7 +9104,7 @@
         errorLine2="               ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="286"
+            line="292"
             column="16"/>
     </issue>
 
@@ -9115,7 +9115,7 @@
         errorLine2="               ~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="331"
+            line="337"
             column="16"/>
     </issue>
 
@@ -9126,7 +9126,7 @@
         errorLine2="               ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="356"
+            line="362"
             column="16"/>
     </issue>
 
@@ -9137,7 +9137,7 @@
         errorLine2="               ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="368"
+            line="374"
             column="16"/>
     </issue>
 
@@ -9148,7 +9148,7 @@
         errorLine2="                               ~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="368"
+            line="374"
             column="32"/>
     </issue>
 
@@ -9159,7 +9159,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="442"
+            line="448"
             column="12"/>
     </issue>
 
@@ -9170,7 +9170,7 @@
         errorLine2="                             ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="442"
+            line="448"
             column="30"/>
     </issue>
 
@@ -9181,7 +9181,7 @@
         errorLine2="                                                            ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="442"
+            line="448"
             column="61"/>
     </issue>
 
@@ -9192,7 +9192,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="552"
+            line="558"
             column="12"/>
     </issue>
 
@@ -9203,7 +9203,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="560"
+            line="566"
             column="12"/>
     </issue>
 
@@ -9214,7 +9214,7 @@
         errorLine2="                               ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="586"
+            line="592"
             column="32"/>
     </issue>
 
@@ -9225,7 +9225,7 @@
         errorLine2="           ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="648"
+            line="656"
             column="12"/>
     </issue>
 
@@ -9236,7 +9236,7 @@
         errorLine2="                                         ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="648"
+            line="656"
             column="42"/>
     </issue>
 
@@ -9247,7 +9247,7 @@
         errorLine2="           ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="664"
+            line="672"
             column="12"/>
     </issue>
 
@@ -9258,7 +9258,7 @@
         errorLine2="                                         ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="664"
+            line="672"
             column="42"/>
     </issue>
 
@@ -9269,7 +9269,7 @@
         errorLine2="                                 ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="679"
+            line="687"
             column="34"/>
     </issue>
 
@@ -9280,7 +9280,7 @@
         errorLine2="                                                ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="679"
+            line="687"
             column="49"/>
     </issue>
 
@@ -9291,7 +9291,7 @@
         errorLine2="                               ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="764"
+            line="772"
             column="32"/>
     </issue>
 
@@ -9302,7 +9302,7 @@
         errorLine2="                                   ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="798"
+            line="806"
             column="36"/>
     </issue>
 
@@ -9313,7 +9313,7 @@
         errorLine2="                                                  ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="798"
+            line="806"
             column="51"/>
     </issue>
 
@@ -9324,7 +9324,7 @@
         errorLine2="                               ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="814"
+            line="822"
             column="32"/>
     </issue>
 
@@ -9335,7 +9335,7 @@
         errorLine2="                                              ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="814"
+            line="822"
             column="47"/>
     </issue>
 
@@ -9346,7 +9346,7 @@
         errorLine2="                                       ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="834"
+            line="842"
             column="40"/>
     </issue>
 
@@ -9357,7 +9357,7 @@
         errorLine2="                                                      ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="834"
+            line="842"
             column="55"/>
     </issue>
 
@@ -9368,7 +9368,7 @@
         errorLine2="                                       ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="846"
+            line="854"
             column="40"/>
     </issue>
 
@@ -9379,7 +9379,7 @@
         errorLine2="                                     ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="910"
+            line="918"
             column="38"/>
     </issue>
 
@@ -9390,7 +9390,7 @@
         errorLine2="                                     ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="921"
+            line="929"
             column="38"/>
     </issue>
 
@@ -9401,7 +9401,7 @@
         errorLine2="                                              ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="929"
+            line="937"
             column="47"/>
     </issue>
 
@@ -9412,7 +9412,7 @@
         errorLine2="                                     ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="942"
+            line="950"
             column="38"/>
     </issue>
 
@@ -9423,7 +9423,7 @@
         errorLine2="                                    ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="963"
+            line="971"
             column="37"/>
     </issue>
 
@@ -9434,7 +9434,7 @@
         errorLine2="                                                   ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="963"
+            line="971"
             column="52"/>
     </issue>
 
@@ -9445,7 +9445,7 @@
         errorLine2="                                    ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="990"
+            line="998"
             column="37"/>
     </issue>
 
@@ -9456,7 +9456,7 @@
         errorLine2="                                                   ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="990"
+            line="998"
             column="52"/>
     </issue>
 
@@ -9467,7 +9467,7 @@
         errorLine2="                                         ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="1015"
+            line="1023"
             column="42"/>
     </issue>
 
@@ -9478,7 +9478,7 @@
         errorLine2="                                                        ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="1015"
+            line="1023"
             column="57"/>
     </issue>
 
@@ -9489,7 +9489,7 @@
         errorLine2="                                ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="1032"
+            line="1040"
             column="33"/>
     </issue>
 
@@ -9500,7 +9500,7 @@
         errorLine2="                                  ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="1071"
+            line="1079"
             column="35"/>
     </issue>
 
@@ -9511,7 +9511,7 @@
         errorLine2="                                                 ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="1071"
+            line="1079"
             column="50"/>
     </issue>
 
@@ -9522,7 +9522,7 @@
         errorLine2="                                      ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="1101"
+            line="1109"
             column="39"/>
     </issue>
 
@@ -9533,7 +9533,7 @@
         errorLine2="                                        ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="1131"
+            line="1139"
             column="41"/>
     </issue>
 
@@ -9544,7 +9544,7 @@
         errorLine2="                             ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="1186"
+            line="1194"
             column="30"/>
     </issue>
 
@@ -9555,7 +9555,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="1383"
+            line="1391"
             column="12"/>
     </issue>
 
@@ -9566,7 +9566,7 @@
         errorLine2="                                           ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/GuidedActionsStylist.java"
-            line="1392"
+            line="1400"
             column="44"/>
     </issue>
 
@@ -9687,7 +9687,7 @@
         errorLine2="               ~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="253"
+            line="254"
             column="16"/>
     </issue>
 
@@ -9698,7 +9698,7 @@
         errorLine2="                                 ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="253"
+            line="254"
             column="34"/>
     </issue>
 
@@ -9709,7 +9709,7 @@
         errorLine2="                                                          ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="253"
+            line="254"
             column="59"/>
     </issue>
 
@@ -9720,7 +9720,7 @@
         errorLine2="                ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="254"
+            line="255"
             column="17"/>
     </issue>
 
@@ -9731,7 +9731,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="282"
+            line="283"
             column="12"/>
     </issue>
 
@@ -9742,7 +9742,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="291"
+            line="292"
             column="12"/>
     </issue>
 
@@ -9753,7 +9753,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="300"
+            line="301"
             column="12"/>
     </issue>
 
@@ -9764,7 +9764,7 @@
         errorLine2="                                              ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="324"
+            line="325"
             column="47"/>
     </issue>
 
@@ -9775,7 +9775,7 @@
         errorLine2="                                                                     ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="334"
+            line="335"
             column="70"/>
     </issue>
 
@@ -9786,7 +9786,7 @@
         errorLine2="            ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="344"
+            line="345"
             column="13"/>
     </issue>
 
@@ -9797,7 +9797,7 @@
         errorLine2="                                      ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="352"
+            line="353"
             column="39"/>
     </issue>
 
@@ -9808,7 +9808,7 @@
         errorLine2="                                            ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="362"
+            line="363"
             column="45"/>
     </issue>
 
@@ -9819,7 +9819,7 @@
         errorLine2="                                 ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="386"
+            line="387"
             column="34"/>
     </issue>
 
@@ -9830,7 +9830,7 @@
         errorLine2="                             ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="401"
+            line="402"
             column="30"/>
     </issue>
 
@@ -9841,7 +9841,7 @@
         errorLine2="                                      ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="429"
+            line="430"
             column="39"/>
     </issue>
 
@@ -9852,7 +9852,7 @@
         errorLine2="                                     ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="439"
+            line="440"
             column="38"/>
     </issue>
 
@@ -9863,7 +9863,7 @@
         errorLine2="                                           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="448"
+            line="449"
             column="44"/>
     </issue>
 
@@ -9874,7 +9874,7 @@
         errorLine2="                                               ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="461"
+            line="462"
             column="48"/>
     </issue>
 
@@ -9885,7 +9885,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="480"
+            line="484"
             column="27"/>
     </issue>
 
@@ -9896,7 +9896,7 @@
         errorLine2="                                                           ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="480"
+            line="484"
             column="60"/>
     </issue>
 
@@ -9907,7 +9907,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="501"
+            line="508"
             column="27"/>
     </issue>
 
@@ -9918,7 +9918,7 @@
         errorLine2="                                                           ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="501"
+            line="508"
             column="60"/>
     </issue>
 
@@ -9929,7 +9929,7 @@
         errorLine2="                                                ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="534"
+            line="541"
             column="49"/>
     </issue>
 
@@ -9940,7 +9940,7 @@
         errorLine2="                                                                        ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="534"
+            line="541"
             column="73"/>
     </issue>
 
@@ -9951,7 +9951,7 @@
         errorLine2="                                ~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="641"
+            line="648"
             column="33"/>
     </issue>
 
@@ -9962,7 +9962,7 @@
         errorLine2="                                                   ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="641"
+            line="648"
             column="52"/>
     </issue>
 
@@ -9973,7 +9973,7 @@
         errorLine2="                  ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="659"
+            line="666"
             column="19"/>
     </issue>
 
@@ -9984,7 +9984,7 @@
         errorLine2="                                                                  ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="659"
+            line="666"
             column="67"/>
     </issue>
 
@@ -9995,7 +9995,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="671"
+            line="678"
             column="12"/>
     </issue>
 
@@ -10006,7 +10006,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="679"
+            line="686"
             column="12"/>
     </issue>
 
@@ -10017,7 +10017,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="687"
+            line="694"
             column="12"/>
     </issue>
 
@@ -10028,7 +10028,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="696"
+            line="703"
             column="12"/>
     </issue>
 
@@ -10039,7 +10039,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="721"
+            line="728"
             column="12"/>
     </issue>
 
@@ -10050,7 +10050,7 @@
         errorLine2="                                 ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="729"
+            line="736"
             column="34"/>
     </issue>
 
@@ -10061,7 +10061,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="753"
+            line="760"
             column="12"/>
     </issue>
 
@@ -10072,7 +10072,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="779"
+            line="786"
             column="12"/>
     </issue>
 
@@ -10083,7 +10083,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="788"
+            line="795"
             column="12"/>
     </issue>
 
@@ -10094,7 +10094,7 @@
         errorLine2="                           ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="815"
+            line="822"
             column="28"/>
     </issue>
 
@@ -10105,7 +10105,7 @@
         errorLine2="                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="830"
+            line="837"
             column="40"/>
     </issue>
 
@@ -10116,7 +10116,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="851"
+            line="858"
             column="12"/>
     </issue>
 
@@ -10127,7 +10127,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="960"
+            line="967"
             column="12"/>
     </issue>
 
@@ -10138,7 +10138,7 @@
         errorLine2="                                       ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="960"
+            line="967"
             column="40"/>
     </issue>
 
@@ -10149,7 +10149,7 @@
         errorLine2="                                                                ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="960"
+            line="967"
             column="65"/>
     </issue>
 
@@ -10160,7 +10160,7 @@
         errorLine2="            ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="961"
+            line="968"
             column="13"/>
     </issue>
 
@@ -10171,7 +10171,7 @@
         errorLine2="                         ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="1014"
+            line="1021"
             column="26"/>
     </issue>
 
@@ -10182,7 +10182,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="1059"
+            line="1066"
             column="12"/>
     </issue>
 
@@ -10193,7 +10193,7 @@
         errorLine2="                             ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="1059"
+            line="1066"
             column="30"/>
     </issue>
 
@@ -10204,7 +10204,7 @@
         errorLine2="                                                      ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="1059"
+            line="1066"
             column="55"/>
     </issue>
 
@@ -10215,7 +10215,7 @@
         errorLine2="            ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="1060"
+            line="1067"
             column="13"/>
     </issue>
 
@@ -10226,7 +10226,7 @@
         errorLine2="                                    ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="1251"
+            line="1258"
             column="37"/>
     </issue>
 
@@ -10237,7 +10237,7 @@
         errorLine2="                                                 ~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="1297"
+            line="1304"
             column="50"/>
     </issue>
 
@@ -10248,7 +10248,7 @@
         errorLine2="                               ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepFragment.java"
-            line="1360"
+            line="1367"
             column="32"/>
     </issue>
 
@@ -10259,7 +10259,7 @@
         errorLine2="               ~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="248"
+            line="249"
             column="16"/>
     </issue>
 
@@ -10270,7 +10270,7 @@
         errorLine2="                                 ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="248"
+            line="249"
             column="34"/>
     </issue>
 
@@ -10281,7 +10281,7 @@
         errorLine2="                                                          ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="248"
+            line="249"
             column="59"/>
     </issue>
 
@@ -10292,7 +10292,7 @@
         errorLine2="                ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="249"
+            line="250"
             column="17"/>
     </issue>
 
@@ -10303,7 +10303,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="277"
+            line="278"
             column="12"/>
     </issue>
 
@@ -10314,7 +10314,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="286"
+            line="287"
             column="12"/>
     </issue>
 
@@ -10325,7 +10325,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="295"
+            line="296"
             column="12"/>
     </issue>
 
@@ -10336,7 +10336,7 @@
         errorLine2="                                              ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="319"
+            line="320"
             column="47"/>
     </issue>
 
@@ -10347,7 +10347,7 @@
         errorLine2="                                                                     ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="329"
+            line="330"
             column="70"/>
     </issue>
 
@@ -10358,7 +10358,7 @@
         errorLine2="            ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="339"
+            line="340"
             column="13"/>
     </issue>
 
@@ -10369,7 +10369,7 @@
         errorLine2="                                      ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="347"
+            line="348"
             column="39"/>
     </issue>
 
@@ -10380,7 +10380,7 @@
         errorLine2="                                            ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="357"
+            line="358"
             column="45"/>
     </issue>
 
@@ -10391,7 +10391,7 @@
         errorLine2="                                 ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="381"
+            line="382"
             column="34"/>
     </issue>
 
@@ -10402,7 +10402,7 @@
         errorLine2="                             ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="396"
+            line="397"
             column="30"/>
     </issue>
 
@@ -10413,7 +10413,7 @@
         errorLine2="                                      ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="424"
+            line="425"
             column="39"/>
     </issue>
 
@@ -10424,7 +10424,7 @@
         errorLine2="                                     ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="434"
+            line="435"
             column="38"/>
     </issue>
 
@@ -10435,7 +10435,7 @@
         errorLine2="                                           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="443"
+            line="444"
             column="44"/>
     </issue>
 
@@ -10446,7 +10446,7 @@
         errorLine2="                                               ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="456"
+            line="457"
             column="48"/>
     </issue>
 
@@ -10457,7 +10457,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="475"
+            line="484"
             column="27"/>
     </issue>
 
@@ -10468,7 +10468,7 @@
         errorLine2="                                                           ~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="475"
+            line="484"
             column="60"/>
     </issue>
 
@@ -10479,7 +10479,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="496"
+            line="513"
             column="27"/>
     </issue>
 
@@ -10490,7 +10490,7 @@
         errorLine2="                                                           ~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="496"
+            line="513"
             column="60"/>
     </issue>
 
@@ -10501,7 +10501,7 @@
         errorLine2="                                                ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="529"
+            line="546"
             column="49"/>
     </issue>
 
@@ -10512,7 +10512,7 @@
         errorLine2="                                                                        ~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="529"
+            line="546"
             column="73"/>
     </issue>
 
@@ -10523,7 +10523,7 @@
         errorLine2="                                ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="636"
+            line="653"
             column="33"/>
     </issue>
 
@@ -10534,7 +10534,7 @@
         errorLine2="                                                           ~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="636"
+            line="653"
             column="60"/>
     </issue>
 
@@ -10545,7 +10545,7 @@
         errorLine2="                  ~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="654"
+            line="671"
             column="19"/>
     </issue>
 
@@ -10556,7 +10556,7 @@
         errorLine2="                                                                                ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="654"
+            line="671"
             column="81"/>
     </issue>
 
@@ -10567,7 +10567,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="666"
+            line="683"
             column="12"/>
     </issue>
 
@@ -10578,7 +10578,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="674"
+            line="691"
             column="12"/>
     </issue>
 
@@ -10589,7 +10589,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="682"
+            line="699"
             column="12"/>
     </issue>
 
@@ -10600,7 +10600,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="691"
+            line="708"
             column="12"/>
     </issue>
 
@@ -10611,7 +10611,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="716"
+            line="733"
             column="12"/>
     </issue>
 
@@ -10622,7 +10622,7 @@
         errorLine2="                                 ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="724"
+            line="741"
             column="34"/>
     </issue>
 
@@ -10633,7 +10633,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="748"
+            line="765"
             column="12"/>
     </issue>
 
@@ -10644,7 +10644,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="774"
+            line="791"
             column="12"/>
     </issue>
 
@@ -10655,7 +10655,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="783"
+            line="800"
             column="12"/>
     </issue>
 
@@ -10666,7 +10666,7 @@
         errorLine2="                           ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="810"
+            line="827"
             column="28"/>
     </issue>
 
@@ -10677,7 +10677,7 @@
         errorLine2="                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="825"
+            line="842"
             column="40"/>
     </issue>
 
@@ -10688,7 +10688,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="846"
+            line="863"
             column="12"/>
     </issue>
 
@@ -10699,7 +10699,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="955"
+            line="972"
             column="12"/>
     </issue>
 
@@ -10710,7 +10710,7 @@
         errorLine2="                                       ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="955"
+            line="972"
             column="40"/>
     </issue>
 
@@ -10721,7 +10721,7 @@
         errorLine2="                                                                ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="955"
+            line="972"
             column="65"/>
     </issue>
 
@@ -10732,7 +10732,7 @@
         errorLine2="            ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="956"
+            line="973"
             column="13"/>
     </issue>
 
@@ -10743,7 +10743,7 @@
         errorLine2="                         ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="1009"
+            line="1026"
             column="26"/>
     </issue>
 
@@ -10754,7 +10754,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="1054"
+            line="1071"
             column="12"/>
     </issue>
 
@@ -10765,7 +10765,7 @@
         errorLine2="                             ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="1054"
+            line="1071"
             column="30"/>
     </issue>
 
@@ -10776,7 +10776,7 @@
         errorLine2="                                                      ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="1054"
+            line="1071"
             column="55"/>
     </issue>
 
@@ -10787,7 +10787,7 @@
         errorLine2="            ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="1055"
+            line="1072"
             column="13"/>
     </issue>
 
@@ -10798,7 +10798,7 @@
         errorLine2="                                    ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="1246"
+            line="1263"
             column="37"/>
     </issue>
 
@@ -10809,7 +10809,7 @@
         errorLine2="                                                        ~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="1292"
+            line="1309"
             column="57"/>
     </issue>
 
@@ -10820,7 +10820,7 @@
         errorLine2="                               ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java"
-            line="1355"
+            line="1372"
             column="32"/>
     </issue>
 
@@ -13449,7 +13449,7 @@
         errorLine2="                                          ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/OnChildViewHolderSelectedListener.java"
-            line="48"
+            line="50"
             column="43"/>
     </issue>
 
@@ -13460,7 +13460,7 @@
         errorLine2="                                                               ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/OnChildViewHolderSelectedListener.java"
-            line="48"
+            line="50"
             column="64"/>
     </issue>
 
@@ -13471,7 +13471,7 @@
         errorLine2="                                                       ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/OnChildViewHolderSelectedListener.java"
-            line="64"
+            line="66"
             column="56"/>
     </issue>
 
@@ -13482,7 +13482,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/OnChildViewHolderSelectedListener.java"
-            line="65"
+            line="67"
             column="13"/>
     </issue>
 
@@ -13922,7 +13922,7 @@
         errorLine2="                           ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="126"
+            line="127"
             column="28"/>
     </issue>
 
@@ -13933,7 +13933,7 @@
         errorLine2="                     ~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="132"
+            line="133"
             column="22"/>
     </issue>
 
@@ -13944,7 +13944,7 @@
         errorLine2="                                 ~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="132"
+            line="133"
             column="34"/>
     </issue>
 
@@ -13955,7 +13955,7 @@
         errorLine2="                              ~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="137"
+            line="138"
             column="31"/>
     </issue>
 
@@ -13966,7 +13966,7 @@
         errorLine2="                                               ~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="137"
+            line="138"
             column="48"/>
     </issue>
 
@@ -13977,7 +13977,7 @@
         errorLine2="                                  ~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="153"
+            line="154"
             column="35"/>
     </issue>
 
@@ -13988,7 +13988,7 @@
         errorLine2="                                   ~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="163"
+            line="164"
             column="36"/>
     </issue>
 
@@ -13999,7 +13999,7 @@
         errorLine2="                     ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="173"
+            line="174"
             column="22"/>
     </issue>
 
@@ -14010,7 +14010,7 @@
         errorLine2="                     ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="183"
+            line="184"
             column="22"/>
     </issue>
 
@@ -14021,7 +14021,7 @@
         errorLine2="                     ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="192"
+            line="193"
             column="22"/>
     </issue>
 
@@ -14032,7 +14032,7 @@
         errorLine2="                     ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="205"
+            line="206"
             column="22"/>
     </issue>
 
@@ -14043,7 +14043,7 @@
         errorLine2="                     ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="220"
+            line="221"
             column="22"/>
     </issue>
 
@@ -14054,7 +14054,7 @@
         errorLine2="                             ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="279"
+            line="280"
             column="30"/>
     </issue>
 
@@ -14065,7 +14065,7 @@
         errorLine2="                     ~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="285"
+            line="286"
             column="22"/>
     </issue>
 
@@ -14076,7 +14076,7 @@
         errorLine2="                               ~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="285"
+            line="286"
             column="32"/>
     </issue>
 
@@ -14087,7 +14087,7 @@
         errorLine2="                              ~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="290"
+            line="291"
             column="31"/>
     </issue>
 
@@ -14098,7 +14098,7 @@
         errorLine2="                                               ~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="290"
+            line="291"
             column="48"/>
     </issue>
 
@@ -14109,7 +14109,7 @@
         errorLine2="                                    ~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="306"
+            line="307"
             column="37"/>
     </issue>
 
@@ -14120,7 +14120,7 @@
         errorLine2="                                   ~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="316"
+            line="317"
             column="36"/>
     </issue>
 
@@ -14131,7 +14131,7 @@
         errorLine2="                     ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="326"
+            line="327"
             column="22"/>
     </issue>
 
@@ -14142,7 +14142,7 @@
         errorLine2="                     ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="336"
+            line="337"
             column="22"/>
     </issue>
 
@@ -14153,7 +14153,7 @@
         errorLine2="                     ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="345"
+            line="346"
             column="22"/>
     </issue>
 
@@ -14164,7 +14164,7 @@
         errorLine2="                     ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="358"
+            line="359"
             column="22"/>
     </issue>
 
@@ -14175,7 +14175,7 @@
         errorLine2="                     ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="372"
+            line="373"
             column="22"/>
     </issue>
 
@@ -14186,7 +14186,7 @@
         errorLine2="                                       ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="452"
+            line="453"
             column="40"/>
     </issue>
 
@@ -14197,7 +14197,7 @@
         errorLine2="                 ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="558"
+            line="559"
             column="18"/>
     </issue>
 
@@ -14208,7 +14208,7 @@
         errorLine2="                                             ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="569"
+            line="570"
             column="46"/>
     </issue>
 
@@ -14219,7 +14219,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="588"
+            line="589"
             column="12"/>
     </issue>
 
@@ -14230,7 +14230,7 @@
         errorLine2="                             ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="597"
+            line="598"
             column="30"/>
     </issue>
 
@@ -14241,7 +14241,7 @@
         errorLine2="           ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="615"
+            line="616"
             column="12"/>
     </issue>
 
@@ -14252,7 +14252,7 @@
         errorLine2="                                    ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/Parallax.java"
-            line="615"
+            line="616"
             column="37"/>
     </issue>
 
@@ -14670,7 +14670,7 @@
         errorLine2="                            ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/picker/Picker.java"
-            line="74"
+            line="76"
             column="29"/>
     </issue>
 
@@ -14681,7 +14681,7 @@
         errorLine2="                 ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/picker/Picker.java"
-            line="103"
+            line="105"
             column="18"/>
     </issue>
 
@@ -14692,7 +14692,7 @@
         errorLine2="                                   ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/picker/Picker.java"
-            line="112"
+            line="114"
             column="36"/>
     </issue>
 
@@ -14703,7 +14703,7 @@
         errorLine2="                 ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/picker/Picker.java"
-            line="121"
+            line="123"
             column="18"/>
     </issue>
 
@@ -14714,7 +14714,7 @@
         errorLine2="                                    ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/picker/Picker.java"
-            line="137"
+            line="139"
             column="37"/>
     </issue>
 
@@ -14725,7 +14725,7 @@
         errorLine2="                  ~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/picker/Picker.java"
-            line="187"
+            line="189"
             column="19"/>
     </issue>
 
@@ -14736,7 +14736,7 @@
         errorLine2="                                   ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/picker/Picker.java"
-            line="187"
+            line="189"
             column="36"/>
     </issue>
 
@@ -14747,7 +14747,7 @@
         errorLine2="                  ~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/picker/Picker.java"
-            line="195"
+            line="197"
             column="19"/>
     </issue>
 
@@ -14758,7 +14758,7 @@
         errorLine2="                                   ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/picker/Picker.java"
-            line="195"
+            line="197"
             column="36"/>
     </issue>
 
@@ -14769,7 +14769,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/picker/Picker.java"
-            line="230"
+            line="232"
             column="12"/>
     </issue>
 
@@ -14780,7 +14780,7 @@
         errorLine2="                           ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/picker/Picker.java"
-            line="256"
+            line="258"
             column="28"/>
     </issue>
 
@@ -14791,7 +14791,7 @@
         errorLine2="                                             ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/picker/Picker.java"
-            line="331"
+            line="333"
             column="46"/>
     </issue>
 
@@ -14802,7 +14802,7 @@
         errorLine2="                                          ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/picker/Picker.java"
-            line="378"
+            line="380"
             column="43"/>
     </issue>
 
@@ -14813,7 +14813,7 @@
         errorLine2="                                             ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/picker/Picker.java"
-            line="390"
+            line="392"
             column="46"/>
     </issue>
 
@@ -14824,7 +14824,7 @@
         errorLine2="                                    ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/picker/Picker.java"
-            line="543"
+            line="545"
             column="37"/>
     </issue>
 
@@ -14835,7 +14835,7 @@
         errorLine2="                                                                 ~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/picker/Picker.java"
-            line="562"
+            line="564"
             column="66"/>
     </issue>
 
@@ -14846,7 +14846,7 @@
         errorLine2="                                  ~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/picker/Picker.java"
-            line="698"
+            line="700"
             column="35"/>
     </issue>
 
@@ -14857,7 +14857,7 @@
         errorLine2="                                              ~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/picker/Picker.java"
-            line="698"
+            line="700"
             column="47"/>
     </issue>
 
@@ -16243,7 +16243,7 @@
         errorLine2="           ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackFragment.java"
-            line="207"
+            line="208"
             column="12"/>
     </issue>
 
@@ -16254,7 +16254,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackFragment.java"
-            line="417"
+            line="418"
             column="41"/>
     </issue>
 
@@ -16265,7 +16265,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackFragment.java"
-            line="426"
+            line="427"
             column="12"/>
     </issue>
 
@@ -16276,7 +16276,7 @@
         errorLine2="                                                ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackFragment.java"
-            line="433"
+            line="434"
             column="49"/>
     </issue>
 
@@ -16287,7 +16287,7 @@
         errorLine2="                         ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackFragment.java"
-            line="814"
+            line="815"
             column="26"/>
     </issue>
 
@@ -16298,7 +16298,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackFragment.java"
-            line="921"
+            line="922"
             column="12"/>
     </issue>
 
@@ -16309,7 +16309,7 @@
         errorLine2="                             ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackFragment.java"
-            line="921"
+            line="922"
             column="30"/>
     </issue>
 
@@ -16320,7 +16320,7 @@
         errorLine2="                                                      ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackFragment.java"
-            line="921"
+            line="922"
             column="55"/>
     </issue>
 
@@ -16331,7 +16331,7 @@
         errorLine2="                             ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackFragment.java"
-            line="922"
+            line="923"
             column="30"/>
     </issue>
 
@@ -16342,7 +16342,7 @@
         errorLine2="                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackFragment.java"
-            line="955"
+            line="956"
             column="33"/>
     </issue>
 
@@ -16353,7 +16353,7 @@
         errorLine2="                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackFragment.java"
-            line="995"
+            line="996"
             column="53"/>
     </issue>
 
@@ -16364,7 +16364,7 @@
         errorLine2="                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackFragment.java"
-            line="1003"
+            line="1004"
             column="52"/>
     </issue>
 
@@ -16375,7 +16375,7 @@
         errorLine2="                                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackFragment.java"
-            line="1011"
+            line="1012"
             column="60"/>
     </issue>
 
@@ -16386,7 +16386,7 @@
         errorLine2="                               ~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackFragment.java"
-            line="1035"
+            line="1036"
             column="32"/>
     </issue>
 
@@ -16397,7 +16397,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackFragment.java"
-            line="1049"
+            line="1050"
             column="41"/>
     </issue>
 
@@ -16408,7 +16408,7 @@
         errorLine2="                           ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackFragment.java"
-            line="1094"
+            line="1095"
             column="28"/>
     </issue>
 
@@ -16419,7 +16419,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackFragment.java"
-            line="1170"
+            line="1171"
             column="41"/>
     </issue>
 
@@ -16430,7 +16430,7 @@
         errorLine2="                                          ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackFragment.java"
-            line="1227"
+            line="1228"
             column="43"/>
     </issue>
 
@@ -16441,7 +16441,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackFragment.java"
-            line="1236"
+            line="1237"
             column="12"/>
     </issue>
 
@@ -16661,7 +16661,7 @@
         errorLine2="                                           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/media/PlaybackGlueHost.java"
-            line="112"
+            line="116"
             column="44"/>
     </issue>
 
@@ -16672,7 +16672,7 @@
         errorLine2="                                          ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/media/PlaybackGlueHost.java"
-            line="182"
+            line="186"
             column="43"/>
     </issue>
 
@@ -16683,7 +16683,7 @@
         errorLine2="                                           ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/media/PlaybackGlueHost.java"
-            line="188"
+            line="192"
             column="44"/>
     </issue>
 
@@ -16694,7 +16694,7 @@
         errorLine2="                                ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/media/PlaybackGlueHost.java"
-            line="195"
+            line="199"
             column="33"/>
     </issue>
 
@@ -16705,7 +16705,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/media/PlaybackGlueHost.java"
-            line="206"
+            line="210"
             column="41"/>
     </issue>
 
@@ -16716,7 +16716,7 @@
         errorLine2="                               ~~~">
         <location
             file="src/main/java/androidx/leanback/media/PlaybackGlueHost.java"
-            line="212"
+            line="216"
             column="32"/>
     </issue>
 
@@ -16727,7 +16727,7 @@
         errorLine2="           ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/media/PlaybackGlueHost.java"
-            line="229"
+            line="233"
             column="12"/>
     </issue>
 
@@ -16815,7 +16815,7 @@
         errorLine2="           ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackSupportFragment.java"
-            line="202"
+            line="203"
             column="12"/>
     </issue>
 
@@ -16826,7 +16826,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackSupportFragment.java"
-            line="412"
+            line="413"
             column="41"/>
     </issue>
 
@@ -16837,7 +16837,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackSupportFragment.java"
-            line="421"
+            line="422"
             column="12"/>
     </issue>
 
@@ -16848,7 +16848,7 @@
         errorLine2="                                                ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackSupportFragment.java"
-            line="428"
+            line="429"
             column="49"/>
     </issue>
 
@@ -16859,7 +16859,7 @@
         errorLine2="                         ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackSupportFragment.java"
-            line="809"
+            line="810"
             column="26"/>
     </issue>
 
@@ -16870,7 +16870,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackSupportFragment.java"
-            line="916"
+            line="917"
             column="12"/>
     </issue>
 
@@ -16881,7 +16881,7 @@
         errorLine2="                             ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackSupportFragment.java"
-            line="916"
+            line="917"
             column="30"/>
     </issue>
 
@@ -16892,7 +16892,7 @@
         errorLine2="                                                      ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackSupportFragment.java"
-            line="916"
+            line="917"
             column="55"/>
     </issue>
 
@@ -16903,7 +16903,7 @@
         errorLine2="                             ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackSupportFragment.java"
-            line="917"
+            line="918"
             column="30"/>
     </issue>
 
@@ -16914,7 +16914,7 @@
         errorLine2="                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackSupportFragment.java"
-            line="950"
+            line="951"
             column="33"/>
     </issue>
 
@@ -16925,7 +16925,7 @@
         errorLine2="                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackSupportFragment.java"
-            line="990"
+            line="991"
             column="53"/>
     </issue>
 
@@ -16936,7 +16936,7 @@
         errorLine2="                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackSupportFragment.java"
-            line="998"
+            line="999"
             column="52"/>
     </issue>
 
@@ -16947,7 +16947,7 @@
         errorLine2="                                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackSupportFragment.java"
-            line="1006"
+            line="1007"
             column="60"/>
     </issue>
 
@@ -16958,7 +16958,7 @@
         errorLine2="                               ~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackSupportFragment.java"
-            line="1030"
+            line="1031"
             column="32"/>
     </issue>
 
@@ -16969,7 +16969,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackSupportFragment.java"
-            line="1044"
+            line="1045"
             column="41"/>
     </issue>
 
@@ -16980,7 +16980,7 @@
         errorLine2="                           ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackSupportFragment.java"
-            line="1089"
+            line="1090"
             column="28"/>
     </issue>
 
@@ -16991,7 +16991,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackSupportFragment.java"
-            line="1165"
+            line="1166"
             column="41"/>
     </issue>
 
@@ -17002,7 +17002,7 @@
         errorLine2="                                          ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackSupportFragment.java"
-            line="1222"
+            line="1223"
             column="43"/>
     </issue>
 
@@ -17013,7 +17013,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/app/PlaybackSupportFragment.java"
-            line="1231"
+            line="1232"
             column="12"/>
     </issue>
 
@@ -18674,7 +18674,7 @@
         errorLine2="                                                ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/RowPresenter.java"
-            line="498"
+            line="502"
             column="49"/>
     </issue>
 
@@ -18685,7 +18685,7 @@
         errorLine2="                                     ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/RowPresenter.java"
-            line="511"
+            line="515"
             column="38"/>
     </issue>
 
@@ -18696,7 +18696,7 @@
         errorLine2="                                     ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/RowPresenter.java"
-            line="529"
+            line="533"
             column="38"/>
     </issue>
 
@@ -18707,7 +18707,7 @@
         errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/RowPresenter.java"
-            line="539"
+            line="543"
             column="39"/>
     </issue>
 
@@ -18718,7 +18718,7 @@
         errorLine2="                                        ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/RowPresenter.java"
-            line="551"
+            line="555"
             column="41"/>
     </issue>
 
@@ -18729,7 +18729,7 @@
         errorLine2="                                       ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/RowPresenter.java"
-            line="600"
+            line="604"
             column="40"/>
     </issue>
 
@@ -18740,7 +18740,7 @@
         errorLine2="                                                                        ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/RowPresenter.java"
-            line="600"
+            line="604"
             column="73"/>
     </issue>
 
@@ -18751,7 +18751,7 @@
         errorLine2="                                       ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/RowPresenter.java"
-            line="610"
+            line="614"
             column="40"/>
     </issue>
 
@@ -18762,7 +18762,7 @@
         errorLine2="                                                      ~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/RowPresenter.java"
-            line="610"
+            line="614"
             column="55"/>
     </issue>
 
@@ -18773,7 +18773,7 @@
         errorLine2="                                         ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/RowPresenter.java"
-            line="619"
+            line="623"
             column="42"/>
     </issue>
 
@@ -18784,7 +18784,7 @@
         errorLine2="                                         ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/RowPresenter.java"
-            line="628"
+            line="632"
             column="42"/>
     </issue>
 
@@ -18795,7 +18795,7 @@
         errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/RowPresenter.java"
-            line="637"
+            line="641"
             column="46"/>
     </issue>
 
@@ -18806,7 +18806,7 @@
         errorLine2="                                             ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/RowPresenter.java"
-            line="644"
+            line="648"
             column="46"/>
     </issue>
 
@@ -18817,7 +18817,7 @@
         errorLine2="                                               ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/RowPresenter.java"
-            line="651"
+            line="655"
             column="48"/>
     </issue>
 
@@ -18828,7 +18828,7 @@
         errorLine2="                                               ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/RowPresenter.java"
-            line="658"
+            line="662"
             column="48"/>
     </issue>
 
@@ -18839,7 +18839,7 @@
         errorLine2="                       ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/RowPresenter.java"
-            line="669"
+            line="673"
             column="24"/>
     </issue>
 
@@ -18850,7 +18850,7 @@
         errorLine2="                                           ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/RowPresenter.java"
-            line="682"
+            line="686"
             column="44"/>
     </issue>
 
@@ -20841,7 +20841,7 @@
         errorLine2="               ~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/ShadowOverlayHelper.java"
-            line="86"
+            line="88"
             column="16"/>
     </issue>
 
@@ -20852,7 +20852,7 @@
         errorLine2="               ~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/ShadowOverlayHelper.java"
-            line="96"
+            line="98"
             column="16"/>
     </issue>
 
@@ -20863,7 +20863,7 @@
         errorLine2="               ~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/ShadowOverlayHelper.java"
-            line="106"
+            line="108"
             column="16"/>
     </issue>
 
@@ -20874,7 +20874,7 @@
         errorLine2="               ~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/ShadowOverlayHelper.java"
-            line="119"
+            line="121"
             column="16"/>
     </issue>
 
@@ -20885,7 +20885,7 @@
         errorLine2="               ~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/ShadowOverlayHelper.java"
-            line="132"
+            line="134"
             column="16"/>
     </issue>
 
@@ -20896,7 +20896,7 @@
         errorLine2="               ~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/ShadowOverlayHelper.java"
-            line="142"
+            line="144"
             column="16"/>
     </issue>
 
@@ -20907,7 +20907,7 @@
         errorLine2="                               ~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/ShadowOverlayHelper.java"
-            line="142"
+            line="144"
             column="32"/>
     </issue>
 
@@ -20918,7 +20918,7 @@
         errorLine2="               ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/ShadowOverlayHelper.java"
-            line="152"
+            line="154"
             column="16"/>
     </issue>
 
@@ -20929,7 +20929,7 @@
         errorLine2="                                         ~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/ShadowOverlayHelper.java"
-            line="152"
+            line="154"
             column="42"/>
     </issue>
 
@@ -20940,7 +20940,7 @@
         errorLine2="               ~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/ShadowOverlayHelper.java"
-            line="208"
+            line="210"
             column="16"/>
     </issue>
 
@@ -20951,7 +20951,7 @@
         errorLine2="               ~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/ShadowOverlayHelper.java"
-            line="220"
+            line="222"
             column="16"/>
     </issue>
 
@@ -20962,7 +20962,7 @@
         errorLine2="                                       ~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/ShadowOverlayHelper.java"
-            line="317"
+            line="319"
             column="40"/>
     </issue>
 
@@ -20973,7 +20973,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/ShadowOverlayHelper.java"
-            line="349"
+            line="351"
             column="12"/>
     </issue>
 
@@ -20984,7 +20984,7 @@
         errorLine2="                                                               ~~~~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/ShadowOverlayHelper.java"
-            line="349"
+            line="351"
             column="64"/>
     </issue>
 
@@ -20995,7 +20995,7 @@
         errorLine2="                                                  ~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/ShadowOverlayHelper.java"
-            line="361"
+            line="363"
             column="51"/>
     </issue>
 
@@ -21006,7 +21006,7 @@
         errorLine2="                                ~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/ShadowOverlayHelper.java"
-            line="374"
+            line="376"
             column="33"/>
     </issue>
 
@@ -21017,7 +21017,7 @@
         errorLine2="                              ~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/ShadowOverlayHelper.java"
-            line="386"
+            line="388"
             column="31"/>
     </issue>
 
@@ -21028,7 +21028,7 @@
         errorLine2="                                                      ~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/ShadowOverlayHelper.java"
-            line="409"
+            line="411"
             column="55"/>
     </issue>
 
@@ -21039,7 +21039,7 @@
         errorLine2="                                    ~~~~">
         <location
             file="src/main/java/androidx/leanback/widget/ShadowOverlayHelper.java"
-            line="416"
+            line="418"
             column="37"/>
     </issue>
 
diff --git a/lifecycle/integration-tests/incrementality/lint-baseline.xml b/lifecycle/integration-tests/incrementality/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/lifecycle/integration-tests/incrementality/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/lifecycle/integration-tests/kotlintestapp/lint-baseline.xml b/lifecycle/integration-tests/kotlintestapp/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/lifecycle/integration-tests/kotlintestapp/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/lifecycle/integration-tests/testapp/lint-baseline.xml b/lifecycle/integration-tests/testapp/lint-baseline.xml
index f14a772..2d01f19 100644
--- a/lifecycle/integration-tests/testapp/lint-baseline.xml
+++ b/lifecycle/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="UnknownNullness"
diff --git a/lifecycle/lifecycle-common-java8/lint-baseline.xml b/lifecycle/lifecycle-common-java8/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/lifecycle/lifecycle-common-java8/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/lifecycle/lifecycle-common/lint-baseline.xml b/lifecycle/lifecycle-common/lint-baseline.xml
index 3d410e5..2474dea 100644
--- a/lifecycle/lifecycle-common/lint-baseline.xml
+++ b/lifecycle/lifecycle-common/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="BanUncheckedReflection"
@@ -8,7 +8,7 @@
         errorLine2="                        ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/lifecycle/ClassesInfoCache.java"
-            line="216"
+            line="222"
             column="25"/>
     </issue>
 
@@ -19,7 +19,7 @@
         errorLine2="                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/lifecycle/ClassesInfoCache.java"
-            line="219"
+            line="225"
             column="25"/>
     </issue>
 
@@ -30,7 +30,7 @@
         errorLine2="                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/lifecycle/ClassesInfoCache.java"
-            line="222"
+            line="228"
             column="25"/>
     </issue>
 
@@ -96,7 +96,7 @@
         errorLine2="                  ~~~~~~">
         <location
             file="src/main/java/androidx/lifecycle/Lifecycling.java"
-            line="206"
+            line="208"
             column="19"/>
     </issue>
 
@@ -107,7 +107,7 @@
         errorLine2="                                        ~~~~~~">
         <location
             file="src/main/java/androidx/lifecycle/Lifecycling.java"
-            line="206"
+            line="208"
             column="41"/>
     </issue>
 
diff --git a/lifecycle/lifecycle-compiler/lint-baseline.xml b/lifecycle/lifecycle-compiler/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/lifecycle/lifecycle-compiler/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/lifecycle/lifecycle-extensions/lint-baseline.xml b/lifecycle/lifecycle-extensions/lint-baseline.xml
index a605164..183c423 100644
--- a/lifecycle/lifecycle-extensions/lint-baseline.xml
+++ b/lifecycle/lifecycle-extensions/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="PrivateConstructorForUtilityClass"
diff --git a/lifecycle/lifecycle-livedata-core-ktx-lint/lint-baseline.xml b/lifecycle/lifecycle-livedata-core-ktx-lint/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/lifecycle/lifecycle-livedata-core-ktx-lint/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/lifecycle/lifecycle-livedata-core-ktx/lint-baseline.xml b/lifecycle/lifecycle-livedata-core-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/lifecycle/lifecycle-livedata-core-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/lifecycle/lifecycle-livedata-core-truth/lint-baseline.xml b/lifecycle/lifecycle-livedata-core-truth/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/lifecycle/lifecycle-livedata-core-truth/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/lifecycle/lifecycle-livedata-core/lint-baseline.xml b/lifecycle/lifecycle-livedata-core/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/lifecycle/lifecycle-livedata-core/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/lifecycle/lifecycle-livedata-core/src/main/baseline-prof.txt b/lifecycle/lifecycle-livedata-core/src/main/baseline-prof.txt
new file mode 100644
index 0000000..ab4ae84
--- /dev/null
+++ b/lifecycle/lifecycle-livedata-core/src/main/baseline-prof.txt
@@ -0,0 +1,40 @@
+# Baseline profiles for lifecycle-livedata-core
+
+HSPLandroidx/lifecycle/LiveData$1;-><init>(Landroidx/lifecycle/LiveData;)V
+HSPLandroidx/lifecycle/LiveData$1;->run()V
+HSPLandroidx/lifecycle/LiveData$AlwaysActiveObserver;-><init>(Landroidx/lifecycle/LiveData;Landroidx/lifecycle/Observer;)V
+HSPLandroidx/lifecycle/LiveData$AlwaysActiveObserver;->shouldBeActive()Z
+HSPLandroidx/lifecycle/LiveData$LifecycleBoundObserver;-><init>(Landroidx/lifecycle/LiveData;Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Observer;)V
+HSPLandroidx/lifecycle/LiveData$LifecycleBoundObserver;->onStateChanged(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V
+HSPLandroidx/lifecycle/LiveData$LifecycleBoundObserver;->shouldBeActive()Z
+HSPLandroidx/lifecycle/LiveData$ObserverWrapper;-><init>(Landroidx/lifecycle/LiveData;Landroidx/lifecycle/Observer;)V
+HSPLandroidx/lifecycle/LiveData$ObserverWrapper;->activeStateChanged(Z)V
+HSPLandroidx/lifecycle/LiveData$ObserverWrapper;->detachObserver()V
+HSPLandroidx/lifecycle/LiveData;-><clinit>()V
+HSPLandroidx/lifecycle/LiveData;-><init>()V
+HSPLandroidx/lifecycle/LiveData;->assertMainThread(Ljava/lang/String;)V
+HSPLandroidx/lifecycle/LiveData;->changeActiveCounter(I)V
+HSPLandroidx/lifecycle/LiveData;->considerNotify(Landroidx/lifecycle/LiveData$ObserverWrapper;)V
+HSPLandroidx/lifecycle/LiveData;->dispatchingValue(Landroidx/lifecycle/LiveData$ObserverWrapper;)V
+HSPLandroidx/lifecycle/LiveData;->getValue()Ljava/lang/Object;
+HSPLandroidx/lifecycle/LiveData;->getVersion()I
+HSPLandroidx/lifecycle/LiveData;->hasActiveObservers()Z
+HSPLandroidx/lifecycle/LiveData;->observe(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Observer;)V
+HSPLandroidx/lifecycle/LiveData;->observeForever(Landroidx/lifecycle/Observer;)V
+HSPLandroidx/lifecycle/LiveData;->onActive()V
+HSPLandroidx/lifecycle/LiveData;->onInactive()V
+HSPLandroidx/lifecycle/LiveData;->postValue(Ljava/lang/Object;)V
+HSPLandroidx/lifecycle/LiveData;->removeObserver(Landroidx/lifecycle/Observer;)V
+HSPLandroidx/lifecycle/LiveData;->setValue(Ljava/lang/Object;)V
+HSPLandroidx/lifecycle/MediatorLiveData$Source;-><init>(Landroidx/lifecycle/LiveData;Landroidx/lifecycle/Observer;)V
+HSPLandroidx/lifecycle/MediatorLiveData$Source;->onChanged(Ljava/lang/Object;)V
+HSPLandroidx/lifecycle/MediatorLiveData$Source;->plug()V
+HSPLandroidx/lifecycle/MediatorLiveData$Source;->unplug()V
+HSPLandroidx/lifecycle/MediatorLiveData;-><init>()V
+HSPLandroidx/lifecycle/MediatorLiveData;->addSource(Landroidx/lifecycle/LiveData;Landroidx/lifecycle/Observer;)V
+HSPLandroidx/lifecycle/MediatorLiveData;->onActive()V
+HSPLandroidx/lifecycle/MediatorLiveData;->onInactive()V
+HSPLandroidx/lifecycle/MediatorLiveData;->removeSource(Landroidx/lifecycle/LiveData;)V
+HSPLandroidx/lifecycle/MutableLiveData;-><init>()V
+HSPLandroidx/lifecycle/MutableLiveData;->setValue(Ljava/lang/Object;)V
+PLandroidx/lifecycle/LiveData$LifecycleBoundObserver;->detachObserver()V
diff --git a/lifecycle/lifecycle-livedata-ktx/lint-baseline.xml b/lifecycle/lifecycle-livedata-ktx/lint-baseline.xml
index 7fcfb02..51328e4 100644
--- a/lifecycle/lifecycle-livedata-ktx/lint-baseline.xml
+++ b/lifecycle/lifecycle-livedata-ktx/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
diff --git a/lifecycle/lifecycle-livedata/lint-baseline.xml b/lifecycle/lifecycle-livedata/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/lifecycle/lifecycle-livedata/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/lifecycle/lifecycle-livedata/src/main/baseline-prof.txt b/lifecycle/lifecycle-livedata/src/main/baseline-prof.txt
new file mode 100644
index 0000000..e052f99
--- /dev/null
+++ b/lifecycle/lifecycle-livedata/src/main/baseline-prof.txt
@@ -0,0 +1,25 @@
+# Baseline profiles for lifecycle-livedata
+
+HSPLandroidx/lifecycle/MediatorLiveData$Source;-><init>(Landroidx/lifecycle/LiveData;Landroidx/lifecycle/Observer;)V
+HSPLandroidx/lifecycle/MediatorLiveData$Source;->onChanged(Ljava/lang/Object;)V
+HSPLandroidx/lifecycle/MediatorLiveData$Source;->plug()V
+HSPLandroidx/lifecycle/MediatorLiveData$Source;->unplug()V
+HSPLandroidx/lifecycle/MediatorLiveData;-><init>()V
+HSPLandroidx/lifecycle/MediatorLiveData;->addSource(Landroidx/lifecycle/LiveData;Landroidx/lifecycle/Observer;)V
+HSPLandroidx/lifecycle/MediatorLiveData;->onActive()V
+HSPLandroidx/lifecycle/MediatorLiveData;->onInactive()V
+HSPLandroidx/lifecycle/MediatorLiveData;->removeSource(Landroidx/lifecycle/LiveData;)V
+HSPLandroidx/lifecycle/Transformations$1;-><init>(Landroidx/lifecycle/MediatorLiveData;Landroidx/arch/core/util/Function;)V
+HSPLandroidx/lifecycle/Transformations$1;->onChanged(Ljava/lang/Object;)V
+HSPLandroidx/lifecycle/Transformations$2$1;-><init>(Landroidx/lifecycle/Transformations$2;)V
+HSPLandroidx/lifecycle/Transformations$2$1;->onChanged(Ljava/lang/Object;)V
+HSPLandroidx/lifecycle/Transformations$2;-><init>(Landroidx/arch/core/util/Function;Landroidx/lifecycle/MediatorLiveData;)V
+HSPLandroidx/lifecycle/Transformations$2;->onChanged(Ljava/lang/Object;)V
+HSPLandroidx/lifecycle/Transformations;->map(Landroidx/lifecycle/LiveData;Landroidx/arch/core/util/Function;)Landroidx/lifecycle/LiveData;
+HSPLandroidx/lifecycle/Transformations;->switchMap(Landroidx/lifecycle/LiveData;Landroidx/arch/core/util/Function;)Landroidx/lifecycle/LiveData;
+Landroidx/lifecycle/MediatorLiveData$Source;
+Landroidx/lifecycle/MediatorLiveData;
+Landroidx/lifecycle/Transformations$1;
+Landroidx/lifecycle/Transformations$2$1;
+Landroidx/lifecycle/Transformations$2;
+Landroidx/lifecycle/Transformations;
diff --git a/lifecycle/lifecycle-process/lint-baseline.xml b/lifecycle/lifecycle-process/lint-baseline.xml
index 8195350..168e500 100644
--- a/lifecycle/lifecycle-process/lint-baseline.xml
+++ b/lifecycle/lifecycle-process/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ClassVerificationFailure"
diff --git a/lifecycle/lifecycle-process/src/main/baseline-prof.txt b/lifecycle/lifecycle-process/src/main/baseline-prof.txt
new file mode 100644
index 0000000..88724d3
--- /dev/null
+++ b/lifecycle/lifecycle-process/src/main/baseline-prof.txt
@@ -0,0 +1,41 @@
+# Baseline profiles for lifecycle-process
+
+HSPLandroidx/lifecycle/EmptyActivityLifecycleCallbacks;-><init>()V
+HSPLandroidx/lifecycle/EmptyActivityLifecycleCallbacks;->onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
+HSPLandroidx/lifecycle/EmptyActivityLifecycleCallbacks;->onActivityResumed(Landroid/app/Activity;)V
+HSPLandroidx/lifecycle/EmptyActivityLifecycleCallbacks;->onActivityStarted(Landroid/app/Activity;)V
+HSPLandroidx/lifecycle/LifecycleDispatcher$DispatcherActivityCallback;-><init>()V
+HSPLandroidx/lifecycle/LifecycleDispatcher$DispatcherActivityCallback;->onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
+HSPLandroidx/lifecycle/LifecycleDispatcher;-><clinit>()V
+HSPLandroidx/lifecycle/LifecycleDispatcher;->init(Landroid/content/Context;)V
+HSPLandroidx/lifecycle/ProcessLifecycleInitializer;-><init>()V
+HSPLandroidx/lifecycle/ProcessLifecycleInitializer;->create(Landroid/content/Context;)Landroidx/lifecycle/LifecycleOwner;
+HSPLandroidx/lifecycle/ProcessLifecycleInitializer;->create(Landroid/content/Context;)Ljava/lang/Object;
+HSPLandroidx/lifecycle/ProcessLifecycleInitializer;->dependencies()Ljava/util/List;
+HSPLandroidx/lifecycle/ProcessLifecycleOwner$1;-><init>(Landroidx/lifecycle/ProcessLifecycleOwner;)V
+HSPLandroidx/lifecycle/ProcessLifecycleOwner$2;-><init>(Landroidx/lifecycle/ProcessLifecycleOwner;)V
+HSPLandroidx/lifecycle/ProcessLifecycleOwner$3$1;-><init>(Landroidx/lifecycle/ProcessLifecycleOwner$3;)V
+HSPLandroidx/lifecycle/ProcessLifecycleOwner$3$1;->onActivityPostResumed(Landroid/app/Activity;)V
+HSPLandroidx/lifecycle/ProcessLifecycleOwner$3$1;->onActivityPostStarted(Landroid/app/Activity;)V
+HSPLandroidx/lifecycle/ProcessLifecycleOwner$3;-><init>(Landroidx/lifecycle/ProcessLifecycleOwner;)V
+HSPLandroidx/lifecycle/ProcessLifecycleOwner$3;->onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
+HSPLandroidx/lifecycle/ProcessLifecycleOwner$3;->onActivityPreCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
+HSPLandroidx/lifecycle/ProcessLifecycleOwner;-><clinit>()V
+HSPLandroidx/lifecycle/ProcessLifecycleOwner;-><init>()V
+HSPLandroidx/lifecycle/ProcessLifecycleOwner;->activityResumed()V
+HSPLandroidx/lifecycle/ProcessLifecycleOwner;->activityStarted()V
+HSPLandroidx/lifecycle/ProcessLifecycleOwner;->attach(Landroid/content/Context;)V
+HSPLandroidx/lifecycle/ProcessLifecycleOwner;->get()Landroidx/lifecycle/LifecycleOwner;
+HSPLandroidx/lifecycle/ProcessLifecycleOwner;->getLifecycle()Landroidx/lifecycle/Lifecycle;
+HSPLandroidx/lifecycle/ProcessLifecycleOwner;->init(Landroid/content/Context;)V
+PLandroidx/lifecycle/EmptyActivityLifecycleCallbacks;->onActivityDestroyed(Landroid/app/Activity;)V
+PLandroidx/lifecycle/EmptyActivityLifecycleCallbacks;->onActivityPaused(Landroid/app/Activity;)V
+PLandroidx/lifecycle/EmptyActivityLifecycleCallbacks;->onActivityStopped(Landroid/app/Activity;)V
+PLandroidx/lifecycle/LifecycleDispatcher$DispatcherActivityCallback;->onActivityStopped(Landroid/app/Activity;)V
+PLandroidx/lifecycle/ProcessLifecycleOwner$1;->run()V
+PLandroidx/lifecycle/ProcessLifecycleOwner$3;->onActivityPaused(Landroid/app/Activity;)V
+PLandroidx/lifecycle/ProcessLifecycleOwner$3;->onActivityStopped(Landroid/app/Activity;)V
+PLandroidx/lifecycle/ProcessLifecycleOwner;->activityPaused()V
+PLandroidx/lifecycle/ProcessLifecycleOwner;->activityStopped()V
+PLandroidx/lifecycle/ProcessLifecycleOwner;->dispatchPauseIfNeeded()V
+PLandroidx/lifecycle/ProcessLifecycleOwner;->dispatchStopIfNeeded()V
diff --git a/lifecycle/lifecycle-reactivestreams-ktx/lint-baseline.xml b/lifecycle/lifecycle-reactivestreams-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/lifecycle/lifecycle-reactivestreams-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/lifecycle/lifecycle-reactivestreams/lint-baseline.xml b/lifecycle/lifecycle-reactivestreams/lint-baseline.xml
index 4cd059f..81a68c2 100644
--- a/lifecycle/lifecycle-reactivestreams/lint-baseline.xml
+++ b/lifecycle/lifecycle-reactivestreams/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="LambdaLast"
diff --git a/lifecycle/lifecycle-runtime-ktx-lint/lint-baseline.xml b/lifecycle/lifecycle-runtime-ktx-lint/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/lifecycle/lifecycle-runtime-ktx-lint/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/lifecycle/lifecycle-runtime-ktx/lint-baseline.xml b/lifecycle/lifecycle-runtime-ktx/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/lifecycle/lifecycle-runtime-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/lifecycle/lifecycle-runtime-testing/lint-baseline.xml b/lifecycle/lifecycle-runtime-testing/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/lifecycle/lifecycle-runtime-testing/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/lifecycle/lifecycle-runtime/lint-baseline.xml b/lifecycle/lifecycle-runtime/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/lifecycle/lifecycle-runtime/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/lifecycle/lifecycle-runtime/src/main/baseline-prof.txt b/lifecycle/lifecycle-runtime/src/main/baseline-prof.txt
new file mode 100644
index 0000000..47d4f10
--- /dev/null
+++ b/lifecycle/lifecycle-runtime/src/main/baseline-prof.txt
@@ -0,0 +1,50 @@
+# Baseline Profile rules for lifecycle-runtime
+
+HPLandroidx/lifecycle/LifecycleRegistry;->backwardPass(Landroidx/lifecycle/LifecycleOwner;)V
+HSPLandroidx/lifecycle/LifecycleRegistry$ObserverWithState;-><init>(Landroidx/lifecycle/LifecycleObserver;Landroidx/lifecycle/Lifecycle$State;)V
+HSPLandroidx/lifecycle/LifecycleRegistry$ObserverWithState;->dispatchEvent(Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)V
+HSPLandroidx/lifecycle/LifecycleRegistry;-><init>(Landroidx/lifecycle/LifecycleOwner;)V
+HSPLandroidx/lifecycle/LifecycleRegistry;-><init>(Landroidx/lifecycle/LifecycleOwner;Z)V
+HSPLandroidx/lifecycle/LifecycleRegistry;->addObserver(Landroidx/lifecycle/LifecycleObserver;)V
+HSPLandroidx/lifecycle/LifecycleRegistry;->calculateTargetState(Landroidx/lifecycle/LifecycleObserver;)Landroidx/lifecycle/Lifecycle$State;
+HSPLandroidx/lifecycle/LifecycleRegistry;->enforceMainThreadIfNeeded(Ljava/lang/String;)V
+HSPLandroidx/lifecycle/LifecycleRegistry;->forwardPass(Landroidx/lifecycle/LifecycleOwner;)V
+HSPLandroidx/lifecycle/LifecycleRegistry;->getCurrentState()Landroidx/lifecycle/Lifecycle$State;
+HSPLandroidx/lifecycle/LifecycleRegistry;->handleLifecycleEvent(Landroidx/lifecycle/Lifecycle$Event;)V
+HSPLandroidx/lifecycle/LifecycleRegistry;->isSynced()Z
+HSPLandroidx/lifecycle/LifecycleRegistry;->min(Landroidx/lifecycle/Lifecycle$State;Landroidx/lifecycle/Lifecycle$State;)Landroidx/lifecycle/Lifecycle$State;
+HSPLandroidx/lifecycle/LifecycleRegistry;->moveToState(Landroidx/lifecycle/Lifecycle$State;)V
+HSPLandroidx/lifecycle/LifecycleRegistry;->popParentState()V
+HSPLandroidx/lifecycle/LifecycleRegistry;->pushParentState(Landroidx/lifecycle/Lifecycle$State;)V
+HSPLandroidx/lifecycle/LifecycleRegistry;->removeObserver(Landroidx/lifecycle/LifecycleObserver;)V
+HSPLandroidx/lifecycle/LifecycleRegistry;->setCurrentState(Landroidx/lifecycle/Lifecycle$State;)V
+HSPLandroidx/lifecycle/LifecycleRegistry;->sync()V
+HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;-><init>()V
+HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
+HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityPostCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
+HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityPostResumed(Landroid/app/Activity;)V
+HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityPostStarted(Landroid/app/Activity;)V
+HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityResumed(Landroid/app/Activity;)V
+HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityStarted(Landroid/app/Activity;)V
+HSPLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->registerIn(Landroid/app/Activity;)V
+HSPLandroidx/lifecycle/ReportFragment;-><init>()V
+HSPLandroidx/lifecycle/ReportFragment;->dispatch(Landroid/app/Activity;Landroidx/lifecycle/Lifecycle$Event;)V
+HSPLandroidx/lifecycle/ReportFragment;->dispatch(Landroidx/lifecycle/Lifecycle$Event;)V
+HSPLandroidx/lifecycle/ReportFragment;->dispatchCreate(Landroidx/lifecycle/ReportFragment$ActivityInitializationListener;)V
+HSPLandroidx/lifecycle/ReportFragment;->dispatchResume(Landroidx/lifecycle/ReportFragment$ActivityInitializationListener;)V
+HSPLandroidx/lifecycle/ReportFragment;->dispatchStart(Landroidx/lifecycle/ReportFragment$ActivityInitializationListener;)V
+HSPLandroidx/lifecycle/ReportFragment;->injectIfNeededIn(Landroid/app/Activity;)V
+HSPLandroidx/lifecycle/ReportFragment;->onActivityCreated(Landroid/os/Bundle;)V
+HSPLandroidx/lifecycle/ReportFragment;->onResume()V
+HSPLandroidx/lifecycle/ReportFragment;->onStart()V
+HSPLandroidx/lifecycle/ViewTreeLifecycleOwner;->set(Landroid/view/View;Landroidx/lifecycle/LifecycleOwner;)V
+HSPLandroidx/lifecycle/ViewTreeViewModelStoreOwner;->set(Landroid/view/View;Landroidx/lifecycle/ViewModelStoreOwner;)V
+PLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityDestroyed(Landroid/app/Activity;)V
+PLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityPaused(Landroid/app/Activity;)V
+PLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityPreDestroyed(Landroid/app/Activity;)V
+PLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityPrePaused(Landroid/app/Activity;)V
+PLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityPreStopped(Landroid/app/Activity;)V
+PLandroidx/lifecycle/ReportFragment$LifecycleCallbacks;->onActivityStopped(Landroid/app/Activity;)V
+PLandroidx/lifecycle/ReportFragment;->onDestroy()V
+PLandroidx/lifecycle/ReportFragment;->onPause()V
+PLandroidx/lifecycle/ReportFragment;->onStop()V
diff --git a/lifecycle/lifecycle-service/lint-baseline.xml b/lifecycle/lifecycle-service/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/lifecycle/lifecycle-service/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/lifecycle/lifecycle-viewmodel-compose/integration-tests/lifecycle-viewmodel-demos/lint-baseline.xml b/lifecycle/lifecycle-viewmodel-compose/integration-tests/lifecycle-viewmodel-demos/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/lifecycle/lifecycle-viewmodel-compose/integration-tests/lifecycle-viewmodel-demos/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/lifecycle/lifecycle-viewmodel-compose/lint-baseline.xml b/lifecycle/lifecycle-viewmodel-compose/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/lifecycle/lifecycle-viewmodel-compose/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/lifecycle/lifecycle-viewmodel-compose/samples/lint-baseline.xml b/lifecycle/lifecycle-viewmodel-compose/samples/lint-baseline.xml
new file mode 100644
index 0000000..26f66b1
--- /dev/null
+++ b/lifecycle/lifecycle-viewmodel-compose/samples/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/lifecycle/lifecycle-viewmodel-ktx/lint-baseline.xml b/lifecycle/lifecycle-viewmodel-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/lifecycle/lifecycle-viewmodel-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/lifecycle/lifecycle-viewmodel-savedstate/lint-baseline.xml b/lifecycle/lifecycle-viewmodel-savedstate/lint-baseline.xml
index d2c3608..f0f17d8 100644
--- a/lifecycle/lifecycle-viewmodel-savedstate/lint-baseline.xml
+++ b/lifecycle/lifecycle-viewmodel-savedstate/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="LambdaLast"
@@ -8,7 +8,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/lifecycle/AbstractSavedStateViewModelFactory.java"
-            line="53"
+            line="56"
             column="13"/>
     </issue>
 
diff --git a/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/AbstractSavedStateViewModelFactory.java b/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/AbstractSavedStateViewModelFactory.java
index 13bceef..9ef64fe 100644
--- a/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/AbstractSavedStateViewModelFactory.java
+++ b/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/AbstractSavedStateViewModelFactory.java
@@ -62,8 +62,8 @@
     @NonNull
     @Override
     public final <T extends ViewModel> T create(@NonNull Class<T> modelClass,
-            @NonNull CreationExtras creationExtras) {
-        String key = creationExtras.get(VIEW_MODEL_KEY);
+            @NonNull CreationExtras extras) {
+        String key = extras.get(VIEW_MODEL_KEY);
         if (key == null) {
             throw new IllegalStateException(
                     "VIEW_MODEL_KEY must always be provided by ViewModelProvider");
diff --git a/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/SavedStateViewModelFactory.java b/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/SavedStateViewModelFactory.java
index 53fab8a..6a79f98 100644
--- a/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/SavedStateViewModelFactory.java
+++ b/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/SavedStateViewModelFactory.java
@@ -103,8 +103,8 @@
     @NonNull
     @Override
     public <T extends ViewModel> T create(@NonNull Class<T> modelClass,
-            @NonNull CreationExtras creationExtras) {
-        String key = creationExtras.get(VIEW_MODEL_KEY);
+            @NonNull CreationExtras extras) {
+        String key = extras.get(VIEW_MODEL_KEY);
         if (key == null) {
             throw new IllegalStateException(
                     "VIEW_MODEL_KEY must always be provided by ViewModelProvider");
diff --git a/lifecycle/lifecycle-viewmodel/lint-baseline.xml b/lifecycle/lifecycle-viewmodel/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/lifecycle/lifecycle-viewmodel/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/lifecycle/lifecycle-viewmodel/src/main/baseline-prof.txt b/lifecycle/lifecycle-viewmodel/src/main/baseline-prof.txt
new file mode 100644
index 0000000..3475936
--- /dev/null
+++ b/lifecycle/lifecycle-viewmodel/src/main/baseline-prof.txt
@@ -0,0 +1,15 @@
+# Baseline profiles for Lifecycle ViewModel
+
+HSPLandroidx/lifecycle/ViewModel;-><init>()V
+HSPLandroidx/lifecycle/ViewModelLazy;-><init>(Lkotlin/reflect/KClass;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;)V
+HSPLandroidx/lifecycle/ViewModelLazy;->getValue()Landroidx/lifecycle/ViewModel;
+HSPLandroidx/lifecycle/ViewModelLazy;->getValue()Ljava/lang/Object;
+HSPLandroidx/lifecycle/ViewModelProvider;-><init>(Landroidx/lifecycle/ViewModelStore;Landroidx/lifecycle/ViewModelProvider$Factory;)V
+HSPLandroidx/lifecycle/ViewModelProvider;->get(Ljava/lang/Class;)Landroidx/lifecycle/ViewModel;
+HSPLandroidx/lifecycle/ViewModelProvider;->get(Ljava/lang/String;Ljava/lang/Class;)Landroidx/lifecycle/ViewModel;
+HSPLandroidx/lifecycle/ViewModelStore;-><init>()V
+HSPLandroidx/lifecycle/ViewModelStore;->get(Ljava/lang/String;)Landroidx/lifecycle/ViewModel;
+HSPLandroidx/lifecycle/ViewModelStore;->put(Ljava/lang/String;Landroidx/lifecycle/ViewModel;)V
+PLandroidx/lifecycle/ViewModel;->clear()V
+PLandroidx/lifecycle/ViewModel;->onCleared()V
+PLandroidx/lifecycle/ViewModelStore;->clear()V
diff --git a/lint-checks/lint-baseline.xml b/lint-checks/lint-baseline.xml
index 011e028..213bab3 100644
--- a/lint-checks/lint-baseline.xml
+++ b/lint-checks/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="BanConcurrentHashMap"
@@ -15,8 +15,8 @@
     <issue
         id="BanConcurrentHashMap"
         message="Detected ConcurrentHashMap usage."
-        errorLine1="import java.util.concurrent.ConcurrentHashMap;"
-        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        errorLine1="import java.util.concurrent.ConcurrentHashMap"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="integration-tests/src/main/java/androidx/ConcurrentHashMapUsageKotlin.kt"
             line="19"
@@ -74,7 +74,7 @@
         errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="integration-tests/src/main/java/androidx/IdeaSuppressionKotlin.kt"
-            line="25"
+            line="27"
             column="9"/>
     </issue>
 
diff --git a/lint-checks/src/main/java/androidx/build/lint/ClassVerificationFailureDetector.kt b/lint-checks/src/main/java/androidx/build/lint/ClassVerificationFailureDetector.kt
index 0e348a5..c728b3f 100644
--- a/lint-checks/src/main/java/androidx/build/lint/ClassVerificationFailureDetector.kt
+++ b/lint-checks/src/main/java/androidx/build/lint/ClassVerificationFailureDetector.kt
@@ -54,6 +54,7 @@
 import org.jetbrains.uast.UElement
 import org.jetbrains.uast.UExpression
 import org.jetbrains.uast.UInstanceExpression
+import org.jetbrains.uast.UParenthesizedExpression
 import org.jetbrains.uast.USuperExpression
 import org.jetbrains.uast.UThisExpression
 import org.jetbrains.uast.getContainingUClass
@@ -645,15 +646,20 @@
             wrapperClassName: String,
             wrapperMethodName: String,
         ): String? {
+            var unwrappedCallReceiver = callReceiver
+            while (unwrappedCallReceiver is UParenthesizedExpression) {
+                unwrappedCallReceiver = unwrappedCallReceiver.expression
+            }
+
             val isStatic = context.evaluator.isStatic(method)
             val isConstructor = method.isConstructor
-            val isSimpleReference = callReceiver is JavaUSimpleNameReferenceExpression
+            val isSimpleReference = unwrappedCallReceiver is JavaUSimpleNameReferenceExpression
 
             val callReceiverStr = when {
                 isStatic -> null
                 isConstructor -> null
                 isSimpleReference ->
-                    (callReceiver as JavaUSimpleNameReferenceExpression).identifier
+                    (unwrappedCallReceiver as JavaUSimpleNameReferenceExpression).identifier
                 else -> {
                     // We don't know how to handle this type of receiver. This should never happen.
                     return null
diff --git a/lint-demos/lint-demo-appcompat/lint-baseline.xml b/lint-demos/lint-demo-appcompat/lint-baseline.xml
index bdc3acc..930892a 100644
--- a/lint-demos/lint-demo-appcompat/lint-baseline.xml
+++ b/lint-demos/lint-demo-appcompat/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ClassVerificationFailure"
diff --git a/loader/loader-ktx/lint-baseline.xml b/loader/loader-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/loader/loader-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/loader/loader/lint-baseline.xml b/loader/loader/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/loader/loader/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/localbroadcastmanager/localbroadcastmanager/lint-baseline.xml b/localbroadcastmanager/localbroadcastmanager/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/localbroadcastmanager/localbroadcastmanager/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/media/media/lint-baseline.xml b/media/media/lint-baseline.xml
index c38d6d6..c8ca7a4 100644
--- a/media/media/lint-baseline.xml
+++ b/media/media/lint-baseline.xml
@@ -1,5 +1,49 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="    @RequiresApi(21)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/media/AudioAttributesImplApi21.java"
+            line="128"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/media/AudioAttributesImplApi26.java"
+            line="53"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 here from outer annotations"
+        errorLine1="        @RequiresApi(21)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/media/MediaBrowserServiceCompat.java"
+            line="497"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 28 here from outer annotations"
+        errorLine1="    @RequiresApi(28)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/media/MediaSessionManagerImplApi28.java"
+            line="63"
+            column="5"/>
+    </issue>
 
     <issue
         id="LambdaLast"
@@ -96,7 +140,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media/AudioAttributesImplApi21.java"
-            line="41"
+            line="42"
             column="12"/>
     </issue>
 
@@ -118,7 +162,7 @@
         errorLine2="                              ~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="192"
+            line="203"
             column="31"/>
     </issue>
 
@@ -129,7 +173,7 @@
         errorLine2="                                               ~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="192"
+            line="203"
             column="48"/>
     </issue>
 
@@ -140,7 +184,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="193"
+            line="204"
             column="13"/>
     </issue>
 
@@ -151,7 +195,7 @@
         errorLine2="                                         ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="193"
+            line="204"
             column="42"/>
     </issue>
 
@@ -162,7 +206,7 @@
         errorLine2="                                                          ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="412"
+            line="423"
             column="59"/>
     </issue>
 
@@ -173,7 +217,7 @@
         errorLine2="                                                         ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="434"
+            line="445"
             column="58"/>
     </issue>
 
@@ -184,7 +228,7 @@
         errorLine2="                      ~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="496"
+            line="507"
             column="23"/>
     </issue>
 
@@ -195,7 +239,7 @@
         errorLine2="                                              ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="496"
+            line="507"
             column="47"/>
     </issue>
 
@@ -206,7 +250,7 @@
         errorLine2="                      ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="517"
+            line="528"
             column="23"/>
     </issue>
 
@@ -217,7 +261,7 @@
         errorLine2="                                                        ~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="517"
+            line="528"
             column="57"/>
     </issue>
 
@@ -228,7 +272,7 @@
         errorLine2="                                  ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="559"
+            line="570"
             column="35"/>
     </issue>
 
@@ -239,7 +283,7 @@
         errorLine2="                                 ~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="885"
+            line="896"
             column="34"/>
     </issue>
 
@@ -250,7 +294,7 @@
         errorLine2="                                                          ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="924"
+            line="935"
             column="59"/>
     </issue>
 
@@ -261,7 +305,7 @@
         errorLine2="                                                   ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="935"
+            line="946"
             column="52"/>
     </issue>
 
@@ -272,7 +316,7 @@
         errorLine2="                                     ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="951"
+            line="962"
             column="38"/>
     </issue>
 
@@ -283,7 +327,7 @@
         errorLine2="                                                    ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="951"
+            line="962"
             column="53"/>
     </issue>
 
@@ -294,7 +338,7 @@
         errorLine2="                                                                   ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="951"
+            line="962"
             column="68"/>
     </issue>
 
@@ -305,7 +349,7 @@
         errorLine2="                             ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="961"
+            line="972"
             column="30"/>
     </issue>
 
@@ -316,7 +360,7 @@
         errorLine2="                                            ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="961"
+            line="972"
             column="45"/>
     </issue>
 
@@ -327,7 +371,7 @@
         errorLine2="                                                           ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="961"
+            line="972"
             column="60"/>
     </issue>
 
@@ -338,7 +382,7 @@
         errorLine2="                            ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="972"
+            line="983"
             column="29"/>
     </issue>
 
@@ -349,7 +393,7 @@
         errorLine2="                                           ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="972"
+            line="983"
             column="44"/>
     </issue>
 
@@ -360,7 +404,7 @@
         errorLine2="                                                          ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaBrowserCompat.java"
-            line="972"
+            line="983"
             column="59"/>
     </issue>
 
@@ -591,7 +635,7 @@
         errorLine2="                          ~~~~~~~">
         <location
             file="src/main/java/androidx/media/session/MediaButtonReceiver.java"
-            line="107"
+            line="105"
             column="27"/>
     </issue>
 
@@ -602,7 +646,7 @@
         errorLine2="                                           ~~~~~~">
         <location
             file="src/main/java/androidx/media/session/MediaButtonReceiver.java"
-            line="107"
+            line="105"
             column="44"/>
     </issue>
 
@@ -613,7 +657,7 @@
         errorLine2="                  ~~~~~~~~">
         <location
             file="src/main/java/androidx/media/session/MediaButtonReceiver.java"
-            line="192"
+            line="190"
             column="19"/>
     </issue>
 
@@ -624,7 +668,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media/session/MediaButtonReceiver.java"
-            line="192"
+            line="190"
             column="41"/>
     </issue>
 
@@ -635,7 +679,7 @@
         errorLine2="                                                                               ~~~~~~">
         <location
             file="src/main/java/androidx/media/session/MediaButtonReceiver.java"
-            line="192"
+            line="190"
             column="80"/>
     </issue>
 
@@ -646,7 +690,7 @@
         errorLine2="                  ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media/session/MediaButtonReceiver.java"
-            line="225"
+            line="223"
             column="19"/>
     </issue>
 
@@ -657,7 +701,7 @@
         errorLine2="                                                              ~~~~~~~">
         <location
             file="src/main/java/androidx/media/session/MediaButtonReceiver.java"
-            line="225"
+            line="223"
             column="63"/>
     </issue>
 
@@ -668,7 +712,7 @@
         errorLine2="                  ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media/session/MediaButtonReceiver.java"
-            line="259"
+            line="256"
             column="19"/>
     </issue>
 
@@ -679,7 +723,7 @@
         errorLine2="                                                              ~~~~~~~">
         <location
             file="src/main/java/androidx/media/session/MediaButtonReceiver.java"
-            line="259"
+            line="256"
             column="63"/>
     </issue>
 
@@ -690,7 +734,7 @@
         errorLine2="            ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media/session/MediaButtonReceiver.java"
-            line="260"
+            line="257"
             column="13"/>
     </issue>
 
@@ -701,7 +745,7 @@
         errorLine2="                  ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media/session/MediaButtonReceiver.java"
-            line="284"
+            line="282"
             column="19"/>
     </issue>
 
@@ -712,7 +756,7 @@
         errorLine2="                                                                ~~~~~~~">
         <location
             file="src/main/java/androidx/media/session/MediaButtonReceiver.java"
-            line="284"
+            line="282"
             column="65"/>
     </issue>
 
@@ -1273,7 +1317,7 @@
         errorLine2="                  ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaDescriptionCompat.java"
-            line="381"
+            line="385"
             column="19"/>
     </issue>
 
@@ -1284,7 +1328,7 @@
         errorLine2="                                                              ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaDescriptionCompat.java"
-            line="381"
+            line="385"
             column="63"/>
     </issue>
 
@@ -1295,7 +1339,7 @@
         errorLine2="               ~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaDescriptionCompat.java"
-            line="470"
+            line="474"
             column="16"/>
     </issue>
 
@@ -1306,7 +1350,7 @@
         errorLine2="               ~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaDescriptionCompat.java"
-            line="481"
+            line="485"
             column="16"/>
     </issue>
 
@@ -1317,7 +1361,7 @@
         errorLine2="               ~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaDescriptionCompat.java"
-            line="492"
+            line="496"
             column="16"/>
     </issue>
 
@@ -1328,7 +1372,7 @@
         errorLine2="               ~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaDescriptionCompat.java"
-            line="504"
+            line="508"
             column="16"/>
     </issue>
 
@@ -1339,7 +1383,7 @@
         errorLine2="               ~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaDescriptionCompat.java"
-            line="516"
+            line="520"
             column="16"/>
     </issue>
 
@@ -1350,7 +1394,7 @@
         errorLine2="               ~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaDescriptionCompat.java"
-            line="528"
+            line="532"
             column="16"/>
     </issue>
 
@@ -1361,7 +1405,7 @@
         errorLine2="               ~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaDescriptionCompat.java"
-            line="539"
+            line="543"
             column="16"/>
     </issue>
 
@@ -1372,7 +1416,7 @@
         errorLine2="               ~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaDescriptionCompat.java"
-            line="550"
+            line="554"
             column="16"/>
     </issue>
 
@@ -1383,7 +1427,7 @@
         errorLine2="               ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/MediaDescriptionCompat.java"
-            line="561"
+            line="565"
             column="16"/>
     </issue>
 
@@ -1768,7 +1812,7 @@
         errorLine2="                            ~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="621"
+            line="613"
             column="29"/>
     </issue>
 
@@ -1779,7 +1823,7 @@
         errorLine2="                            ~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="637"
+            line="629"
             column="29"/>
     </issue>
 
@@ -1790,7 +1834,7 @@
         errorLine2="                                               ~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="637"
+            line="629"
             column="48"/>
     </issue>
 
@@ -1801,7 +1845,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="653"
+            line="658"
             column="36"/>
     </issue>
 
@@ -1812,7 +1856,7 @@
         errorLine2="                                       ~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="670"
+            line="675"
             column="40"/>
     </issue>
 
@@ -1823,7 +1867,7 @@
         errorLine2="                                    ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="712"
+            line="717"
             column="37"/>
     </issue>
 
@@ -1834,7 +1878,7 @@
         errorLine2="                                 ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="756"
+            line="761"
             column="34"/>
     </issue>
 
@@ -1845,7 +1889,7 @@
         errorLine2="                                               ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="756"
+            line="761"
             column="48"/>
     </issue>
 
@@ -1856,7 +1900,7 @@
         errorLine2="           ~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="786"
+            line="791"
             column="12"/>
     </issue>
 
@@ -1867,7 +1911,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="796"
+            line="801"
             column="12"/>
     </issue>
 
@@ -1878,7 +1922,7 @@
         errorLine2="                                 ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="805"
+            line="810"
             column="34"/>
     </issue>
 
@@ -1889,7 +1933,7 @@
         errorLine2="                            ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="817"
+            line="822"
             column="29"/>
     </issue>
 
@@ -1900,7 +1944,7 @@
         errorLine2="                         ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="833"
+            line="838"
             column="26"/>
     </issue>
 
@@ -1911,7 +1955,7 @@
         errorLine2="                              ~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="857"
+            line="862"
             column="31"/>
     </issue>
 
@@ -1922,7 +1966,7 @@
         errorLine2="                          ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="926"
+            line="931"
             column="27"/>
     </issue>
 
@@ -1933,7 +1977,7 @@
         errorLine2="           ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="940"
+            line="945"
             column="12"/>
     </issue>
 
@@ -1944,7 +1988,7 @@
         errorLine2="           ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="954"
+            line="959"
             column="12"/>
     </issue>
 
@@ -1955,7 +1999,7 @@
         errorLine2="           ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="990"
+            line="995"
             column="12"/>
     </issue>
 
@@ -1966,7 +2010,7 @@
         errorLine2="                                          ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1001"
+            line="1006"
             column="43"/>
     </issue>
 
@@ -1977,7 +2021,7 @@
         errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1014"
+            line="1019"
             column="46"/>
     </issue>
 
@@ -1988,7 +2032,7 @@
         errorLine2="                  ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1037"
+            line="1042"
             column="19"/>
     </issue>
 
@@ -1999,7 +2043,7 @@
         errorLine2="                                                      ~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1037"
+            line="1042"
             column="55"/>
     </issue>
 
@@ -2010,7 +2054,7 @@
         errorLine2="                                                                       ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1037"
+            line="1042"
             column="72"/>
     </issue>
 
@@ -2021,7 +2065,7 @@
         errorLine2="                              ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1170"
+            line="1175"
             column="31"/>
     </issue>
 
@@ -2032,7 +2076,7 @@
         errorLine2="                                              ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1170"
+            line="1175"
             column="47"/>
     </issue>
 
@@ -2043,7 +2087,7 @@
         errorLine2="                                                             ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1170"
+            line="1175"
             column="62"/>
     </issue>
 
@@ -2054,7 +2098,7 @@
         errorLine2="                                          ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1184"
+            line="1189"
             column="43"/>
     </issue>
 
@@ -2065,7 +2109,7 @@
         errorLine2="                                         ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1277"
+            line="1282"
             column="42"/>
     </issue>
 
@@ -2076,7 +2120,7 @@
         errorLine2="                                                         ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1277"
+            line="1282"
             column="58"/>
     </issue>
 
@@ -2087,7 +2131,7 @@
         errorLine2="                                        ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1287"
+            line="1292"
             column="41"/>
     </issue>
 
@@ -2098,7 +2142,7 @@
         errorLine2="                                                      ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1287"
+            line="1292"
             column="55"/>
     </issue>
 
@@ -2109,7 +2153,7 @@
         errorLine2="                                     ~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1295"
+            line="1300"
             column="38"/>
     </issue>
 
@@ -2120,7 +2164,7 @@
         errorLine2="                                              ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1295"
+            line="1300"
             column="47"/>
     </issue>
 
@@ -2131,7 +2175,7 @@
         errorLine2="                                      ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1308"
+            line="1313"
             column="39"/>
     </issue>
 
@@ -2142,7 +2186,7 @@
         errorLine2="                                                      ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1308"
+            line="1313"
             column="55"/>
     </issue>
 
@@ -2153,7 +2197,7 @@
         errorLine2="                                     ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1317"
+            line="1322"
             column="38"/>
     </issue>
 
@@ -2164,7 +2208,7 @@
         errorLine2="                                                   ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1317"
+            line="1322"
             column="52"/>
     </issue>
 
@@ -2175,7 +2219,7 @@
         errorLine2="                                  ~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1323"
+            line="1328"
             column="35"/>
     </issue>
 
@@ -2186,7 +2230,7 @@
         errorLine2="                                           ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1323"
+            line="1328"
             column="44"/>
     </issue>
 
@@ -2197,7 +2241,7 @@
         errorLine2="                                ~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1382"
+            line="1387"
             column="33"/>
     </issue>
 
@@ -2208,7 +2252,7 @@
         errorLine2="                                ~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1391"
+            line="1396"
             column="33"/>
     </issue>
 
@@ -2219,7 +2263,7 @@
         errorLine2="                                                     ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1391"
+            line="1396"
             column="54"/>
     </issue>
 
@@ -2230,7 +2274,7 @@
         errorLine2="                                   ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1462"
+            line="1467"
             column="36"/>
     </issue>
 
@@ -2241,7 +2285,7 @@
         errorLine2="                                                  ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1462"
+            line="1467"
             column="51"/>
     </issue>
 
@@ -2252,7 +2296,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1472"
+            line="1477"
             column="36"/>
     </issue>
 
@@ -2263,7 +2307,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1484"
+            line="1489"
             column="36"/>
     </issue>
 
@@ -2274,7 +2318,7 @@
         errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1495"
+            line="1500"
             column="39"/>
     </issue>
 
@@ -2285,7 +2329,7 @@
         errorLine2="                      ~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1956"
+            line="1984"
             column="23"/>
     </issue>
 
@@ -2296,7 +2340,7 @@
         errorLine2="                                      ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1956"
+            line="1984"
             column="39"/>
     </issue>
 
@@ -2307,7 +2351,7 @@
         errorLine2="                      ~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1974"
+            line="2002"
             column="23"/>
     </issue>
 
@@ -2318,7 +2362,7 @@
         errorLine2="                                      ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1974"
+            line="2002"
             column="39"/>
     </issue>
 
@@ -2329,7 +2373,7 @@
         errorLine2="                                                    ~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1974"
+            line="2002"
             column="53"/>
     </issue>
 
@@ -2340,7 +2384,7 @@
         errorLine2="                                  ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="1991"
+            line="2019"
             column="35"/>
     </issue>
 
@@ -2351,7 +2395,7 @@
         errorLine2="               ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2035"
+            line="2063"
             column="16"/>
     </issue>
 
@@ -2362,7 +2406,7 @@
         errorLine2="               ~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2043"
+            line="2071"
             column="16"/>
     </issue>
 
@@ -2373,7 +2417,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2053"
+            line="2081"
             column="36"/>
     </issue>
 
@@ -2384,7 +2428,7 @@
         errorLine2="               ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2063"
+            line="2091"
             column="16"/>
     </issue>
 
@@ -2395,7 +2439,7 @@
         errorLine2="                                     ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2073"
+            line="2101"
             column="38"/>
     </issue>
 
@@ -2406,7 +2450,7 @@
         errorLine2="               ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2083"
+            line="2111"
             column="16"/>
     </issue>
 
@@ -2417,7 +2461,7 @@
         errorLine2="                      ~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2105"
+            line="2133"
             column="23"/>
     </issue>
 
@@ -2428,7 +2472,7 @@
         errorLine2="                                       ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2105"
+            line="2133"
             column="40"/>
     </issue>
 
@@ -2439,7 +2483,7 @@
         errorLine2="                         ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2160"
+            line="2189"
             column="26"/>
     </issue>
 
@@ -2450,7 +2494,7 @@
         errorLine2="               ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2187"
+            line="2216"
             column="16"/>
     </issue>
 
@@ -2461,7 +2505,7 @@
         errorLine2="                                  ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2199"
+            line="2228"
             column="35"/>
     </issue>
 
@@ -2472,7 +2516,7 @@
         errorLine2="               ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2219"
+            line="2248"
             column="16"/>
     </issue>
 
@@ -2483,7 +2527,7 @@
         errorLine2="                      ~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2239"
+            line="2268"
             column="23"/>
     </issue>
 
@@ -2494,7 +2538,7 @@
         errorLine2="                                              ~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2239"
+            line="2268"
             column="47"/>
     </issue>
 
@@ -2505,7 +2549,7 @@
         errorLine2="                      ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2261"
+            line="2290"
             column="23"/>
     </issue>
 
@@ -2516,7 +2560,7 @@
         errorLine2="                                                        ~~~~~~~">
         <location
             file="src/main/java/android/support/v4/media/session/MediaSessionCompat.java"
-            line="2261"
+            line="2290"
             column="57"/>
     </issue>
 
@@ -2659,7 +2703,7 @@
         errorLine2="               ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media/app/NotificationCompat.java"
-            line="235"
+            line="225"
             column="16"/>
     </issue>
 
@@ -2670,7 +2714,7 @@
         errorLine2="                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media/app/NotificationCompat.java"
-            line="235"
+            line="225"
             column="44"/>
     </issue>
 
@@ -2681,7 +2725,7 @@
         errorLine2="               ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media/app/NotificationCompat.java"
-            line="303"
+            line="293"
             column="16"/>
     </issue>
 
@@ -2692,7 +2736,7 @@
         errorLine2="                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media/app/NotificationCompat.java"
-            line="303"
+            line="293"
             column="47"/>
     </issue>
 
@@ -2703,7 +2747,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media/app/NotificationCompat.java"
-            line="388"
+            line="378"
             column="27"/>
     </issue>
 
@@ -2714,7 +2758,7 @@
         errorLine2="               ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media/app/NotificationCompat.java"
-            line="402"
+            line="393"
             column="16"/>
     </issue>
 
@@ -2725,7 +2769,7 @@
         errorLine2="                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media/app/NotificationCompat.java"
-            line="402"
+            line="393"
             column="44"/>
     </issue>
 
@@ -2736,7 +2780,7 @@
         errorLine2="               ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media/app/NotificationCompat.java"
-            line="444"
+            line="435"
             column="16"/>
     </issue>
 
@@ -2747,7 +2791,7 @@
         errorLine2="                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media/app/NotificationCompat.java"
-            line="444"
+            line="435"
             column="47"/>
     </issue>
 
@@ -2758,7 +2802,7 @@
         errorLine2="               ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media/app/NotificationCompat.java"
-            line="476"
+            line="467"
             column="16"/>
     </issue>
 
@@ -2769,7 +2813,7 @@
         errorLine2="                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/media/app/NotificationCompat.java"
-            line="476"
+            line="467"
             column="51"/>
     </issue>
 
diff --git a/media/version-compat-tests/current/client/lint-baseline.xml b/media/version-compat-tests/current/client/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/media/version-compat-tests/current/client/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/media/version-compat-tests/current/service/lint-baseline.xml b/media/version-compat-tests/current/service/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/media/version-compat-tests/current/service/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/media/version-compat-tests/lib/lint-baseline.xml b/media/version-compat-tests/lib/lint-baseline.xml
index 8c8180a..6c4a7f9 100644
--- a/media/version-compat-tests/lib/lint-baseline.xml
+++ b/media/version-compat-tests/lib/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="UnknownNullness"
diff --git a/media/version-compat-tests/previous/client/lint-baseline.xml b/media/version-compat-tests/previous/client/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/media/version-compat-tests/previous/client/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/media/version-compat-tests/previous/service/lint-baseline.xml b/media/version-compat-tests/previous/service/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/media/version-compat-tests/previous/service/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/media2/integration-tests/testapp/lint-baseline.xml b/media2/integration-tests/testapp/lint-baseline.xml
index 30c28ce..a4f707d 100644
--- a/media2/integration-tests/testapp/lint-baseline.xml
+++ b/media2/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ClassVerificationFailure"
diff --git a/media2/media2-common/lint-baseline.xml b/media2/media2-common/lint-baseline.xml
index 43ff652..fdf37fa 100644
--- a/media2/media2-common/lint-baseline.xml
+++ b/media2/media2-common/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha03" type="baseline" client="gradle" name="AGP (7.1.0-alpha03)" variant="all" version="7.1.0-alpha03">
+<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">
 
     <issue
         id="KotlinPropertyAccess"
diff --git a/media2/media2-exoplayer/lint-baseline.xml b/media2/media2-exoplayer/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/media2/media2-exoplayer/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/media2/media2-player/lint-baseline.xml b/media2/media2-player/lint-baseline.xml
index cdb0255..46afd70 100644
--- a/media2/media2-player/lint-baseline.xml
+++ b/media2/media2-player/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha03" type="baseline" client="gradle" name="AGP (7.1.0-alpha03)" variant="all" version="7.1.0-alpha03">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="NewApi"
diff --git a/media2/media2-session/lint-baseline.xml b/media2/media2-session/lint-baseline.xml
index af17e24..55154a5 100644
--- a/media2/media2-session/lint-baseline.xml
+++ b/media2/media2-session/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
         id="WrongConstant"
@@ -30,7 +30,7 @@
         errorLine2="                            ~~~~">
         <location
             file="src/main/java/androidx/media2/session/MediaController.java"
-            line="1377"
+            line="1399"
             column="29"/>
     </issue>
 
diff --git a/media2/media2-session/version-compat-tests/common/lint-baseline.xml b/media2/media2-session/version-compat-tests/common/lint-baseline.xml
index c001098..97d58a7 100644
--- a/media2/media2-session/version-compat-tests/common/lint-baseline.xml
+++ b/media2/media2-session/version-compat-tests/common/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ClassVerificationFailure"
diff --git a/media2/media2-session/version-compat-tests/current/client/lint-baseline.xml b/media2/media2-session/version-compat-tests/current/client/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/media2/media2-session/version-compat-tests/current/client/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/media2/media2-session/version-compat-tests/current/service/lint-baseline.xml b/media2/media2-session/version-compat-tests/current/service/lint-baseline.xml
index ef32285..23d1c2e 100644
--- a/media2/media2-session/version-compat-tests/current/service/lint-baseline.xml
+++ b/media2/media2-session/version-compat-tests/current/service/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
diff --git a/media2/media2-session/version-compat-tests/previous/client/lint-baseline.xml b/media2/media2-session/version-compat-tests/previous/client/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/media2/media2-session/version-compat-tests/previous/client/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/media2/media2-session/version-compat-tests/previous/service/lint-baseline.xml b/media2/media2-session/version-compat-tests/previous/service/lint-baseline.xml
index ef32285..23d1c2e 100644
--- a/media2/media2-session/version-compat-tests/previous/service/lint-baseline.xml
+++ b/media2/media2-session/version-compat-tests/previous/service/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
diff --git a/media2/media2-widget/lint-baseline.xml b/media2/media2-widget/lint-baseline.xml
index ec327e8..8e14df3 100644
--- a/media2/media2-widget/lint-baseline.xml
+++ b/media2/media2-widget/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha03" type="baseline" client="gradle" name="AGP (7.1.0-alpha03)" variant="all" version="7.1.0-alpha03">
+<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">
 
     <issue
         id="NewApi"
diff --git a/mediarouter/mediarouter-testing/lint-baseline.xml b/mediarouter/mediarouter-testing/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/mediarouter/mediarouter-testing/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/mediarouter/mediarouter/lint-baseline.xml b/mediarouter/mediarouter/lint-baseline.xml
index faf3ef7b..7d96cb7 100644
--- a/mediarouter/mediarouter/lint-baseline.xml
+++ b/mediarouter/mediarouter/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha06" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-alpha06)" variant="all" version="7.1.0-alpha06">
+<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">
 
     <issue
         id="NewApi"
@@ -716,4 +716,15 @@
             column="65"/>
     </issue>
 
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 30 here from outer annotations"
+        errorLine1="    @RequiresApi(api = Build.VERSION_CODES.R)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/mediarouter/media/MediaRoute2ProviderServiceAdapter.java"
+            line="624"
+            column="5"/>
+    </issue>
+
 </issues>
diff --git a/metrics/integration-tests/janktest/lint-baseline.xml b/metrics/integration-tests/janktest/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/metrics/integration-tests/janktest/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/metrics/metrics-performance/lint-baseline.xml b/metrics/metrics-performance/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/metrics/metrics-performance/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/navigation/integration-tests/testapp/lint-baseline.xml b/navigation/integration-tests/testapp/lint-baseline.xml
index 5142aa3..71a7a84 100644
--- a/navigation/integration-tests/testapp/lint-baseline.xml
+++ b/navigation/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ClassVerificationFailure"
diff --git a/navigation/navigation-benchmark/lint-baseline.xml b/navigation/navigation-benchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/navigation/navigation-benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/navigation/navigation-common-ktx/lint-baseline.xml b/navigation/navigation-common-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/navigation/navigation-common-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/navigation/navigation-common/lint-baseline.xml b/navigation/navigation-common/lint-baseline.xml
index 6fc0c3a..0867719 100644
--- a/navigation/navigation-common/lint-baseline.xml
+++ b/navigation/navigation-common/lint-baseline.xml
@@ -1,213 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="                assertThat(bundle!![key])"
-        errorLine2="                           ~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/navigation/AddInDefaultArgsTest.kt"
-            line="99"
-            column="28"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="                    .isEqualTo(args[key])"
-        errorLine2="                               ~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/navigation/AddInDefaultArgsTest.kt"
-            line="100"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="                    assertThat(bundle!![entry.key])"
-        errorLine2="                               ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/navigation/AddInDefaultArgsTest.kt"
-            line="108"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        if (!isNullable &amp;&amp; bundle.containsKey(name) &amp;&amp; bundle[name] == null) {"
-        errorLine2="                                                       ~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/NavArgument.kt"
-            line="71"
-            column="56"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="                return bundle[key] as Int"
-        errorLine2="                       ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/NavType.kt"
-            line="264"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="                return bundle[key] as Int"
-        errorLine2="                       ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/NavType.kt"
-            line="293"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="                return bundle[key] as IntArray?"
-        errorLine2="                       ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/NavType.kt"
-            line="322"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="                return bundle[key] as Long"
-        errorLine2="                       ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/NavType.kt"
-            line="348"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="                return bundle[key] as LongArray?"
-        errorLine2="                       ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/NavType.kt"
-            line="384"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="                return bundle[key] as Float"
-        errorLine2="                       ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/NavType.kt"
-            line="408"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="                return bundle[key] as FloatArray?"
-        errorLine2="                       ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/NavType.kt"
-            line="433"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="                return bundle[key] as Boolean?"
-        errorLine2="                       ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/NavType.kt"
-            line="457"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="                return bundle[key] as BooleanArray?"
-        errorLine2="                       ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/NavType.kt"
-            line="490"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="                return bundle[key] as String?"
-        errorLine2="                       ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/NavType.kt"
-            line="514"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="                return bundle[key] as Array&lt;String>?"
-        errorLine2="                       ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/NavType.kt"
-            line="542"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="            return bundle[key] as D?"
-        errorLine2="                   ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/NavType.kt"
-            line="576"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="            return bundle[key] as Array&lt;D>?"
-        errorLine2="                   ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/NavType.kt"
-            line="630"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="            return bundle[key] as D?"
-        errorLine2="                   ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/NavType.kt"
-            line="710"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="            return bundle[key] as Array&lt;D>?"
-        errorLine2="                   ~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/NavType.kt"
-            line="796"
-            column="20"/>
-    </issue>
+<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>
diff --git a/navigation/navigation-compose-lint/lint-baseline.xml b/navigation/navigation-compose-lint/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/navigation/navigation-compose-lint/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/navigation/navigation-compose/integration-tests/navigation-demos/lint-baseline.xml b/navigation/navigation-compose/integration-tests/navigation-demos/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/navigation/navigation-compose/integration-tests/navigation-demos/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/navigation/navigation-compose/lint-baseline.xml b/navigation/navigation-compose/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/navigation/navigation-compose/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/navigation/navigation-compose/samples/lint-baseline.xml b/navigation/navigation-compose/samples/lint-baseline.xml
new file mode 100644
index 0000000..26f66b1
--- /dev/null
+++ b/navigation/navigation-compose/samples/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/navigation/navigation-dynamic-features-fragment/lint-baseline.xml b/navigation/navigation-dynamic-features-fragment/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/navigation/navigation-dynamic-features-fragment/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/navigation/navigation-dynamic-features-runtime/lint-baseline.xml b/navigation/navigation-dynamic-features-runtime/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/navigation/navigation-dynamic-features-runtime/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/navigation/navigation-fragment-ktx/lint-baseline.xml b/navigation/navigation-fragment-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/navigation/navigation-fragment-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/navigation/navigation-fragment/lint-baseline.xml b/navigation/navigation-fragment/lint-baseline.xml
index 6b8c00d..0867719 100644
--- a/navigation/navigation-fragment/lint-baseline.xml
+++ b/navigation/navigation-fragment/lint-baseline.xml
@@ -1,15 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertThat(testFragment.args.bundle[&quot;test&quot;])"
-        errorLine2="                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/navigation/fragment/FragmentTest.kt"
-            line="81"
-            column="20"/>
-    </issue>
+<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>
diff --git a/navigation/navigation-runtime-ktx/lint-baseline.xml b/navigation/navigation-runtime-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/navigation/navigation-runtime-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/navigation/navigation-runtime-truth/lint-baseline.xml b/navigation/navigation-runtime-truth/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/navigation/navigation-runtime-truth/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/navigation/navigation-runtime/lint-baseline.xml b/navigation/navigation-runtime/lint-baseline.xml
index b95ec86..0867719 100644
--- a/navigation/navigation-runtime/lint-baseline.xml
+++ b/navigation/navigation-runtime/lint-baseline.xml
@@ -1,92 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="                        data.append(Uri.encode(args[argName].toString()))"
-        errorLine2="                                               ~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/ActivityNavigator.kt"
-            line="103"
-            column="48"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertThat(activityRule.activity.args.bundle[&quot;test&quot;])"
-        errorLine2="                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/navigation/ActivityTest.kt"
-            line="81"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertThat(returnedArgs!![&quot;test_start_default&quot;])"
-        errorLine2="                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/navigation/NavControllerRouteTest.kt"
-            line="814"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="            assertThat(arguments!![&quot;test_start_default&quot;])"
-        errorLine2="                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/navigation/NavControllerRouteTest.kt"
-            line="819"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="        assertThat(returnedArgs!![&quot;test_start_default&quot;])"
-        errorLine2="                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/navigation/NavControllerTest.kt"
-            line="1470"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="            assertThat(arguments!![&quot;test_start_default&quot;])"
-        errorLine2="                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/navigation/NavControllerTest.kt"
-            line="1475"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="                val value = globalArgs[key]"
-        errorLine2="                            ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/NavDeepLinkBuilder.kt"
-            line="341"
-            column="29"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="                    val value = arguments[key]"
-        errorLine2="                                ~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/NavDeepLinkBuilder.kt"
-            line="351"
-            column="33"/>
-    </issue>
+<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>
diff --git a/navigation/navigation-safe-args-generator/lint-baseline.xml b/navigation/navigation-safe-args-generator/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/navigation/navigation-safe-args-generator/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/navigation/navigation-safe-args-gradle-plugin/lint-baseline.xml b/navigation/navigation-safe-args-gradle-plugin/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/navigation/navigation-safe-args-gradle-plugin/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/navigation/navigation-testing/lint-baseline.xml b/navigation/navigation-testing/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/navigation/navigation-testing/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/navigation/navigation-ui-ktx/lint-baseline.xml b/navigation/navigation-ui-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/navigation/navigation-ui-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/navigation/navigation-ui/lint-baseline.xml b/navigation/navigation-ui/lint-baseline.xml
index e3dd358..0867719 100644
--- a/navigation/navigation-ui/lint-baseline.xml
+++ b/navigation/navigation-ui/lint-baseline.xml
@@ -1,15 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
-        errorLine1="                    title.append(arguments[argName].toString())"
-        errorLine2="                                 ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/navigation/ui/AbstractAppBarOnDestinationChangedListener.kt"
-            line="79"
-            column="34"/>
-    </issue>
+<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>
diff --git a/paging/integration-tests/testapp/lint-baseline.xml b/paging/integration-tests/testapp/lint-baseline.xml
index 3fc83c7..8730a40 100644
--- a/paging/integration-tests/testapp/lint-baseline.xml
+++ b/paging/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="SyntheticAccessor"
diff --git a/paging/paging-common-ktx/lint-baseline.xml b/paging/paging-common-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/paging/paging-common-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/paging/paging-common/lint-baseline.xml b/paging/paging-common/lint-baseline.xml
index 271727a..bd2cc8d 100644
--- a/paging/paging-common/lint-baseline.xml
+++ b/paging/paging-common/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
         id="SupportAnnotationUsage"
@@ -8,7 +8,7 @@
         errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/kotlin/androidx/paging/PageFetcher.kt"
-            line="212"
+            line="210"
             column="9"/>
     </issue>
 
diff --git a/paging/paging-compose/integration-tests/paging-demos/lint-baseline.xml b/paging/paging-compose/integration-tests/paging-demos/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/paging/paging-compose/integration-tests/paging-demos/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/paging/paging-compose/lint-baseline.xml b/paging/paging-compose/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/paging/paging-compose/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/paging/paging-compose/samples/lint-baseline.xml b/paging/paging-compose/samples/lint-baseline.xml
new file mode 100644
index 0000000..215867d
--- /dev/null
+++ b/paging/paging-compose/samples/lint-baseline.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="Did you mean `@get:VisibleForTesting` ? Without `get:` this annotates the constructor parameter itself instead of the associated getter."
+        errorLine1="        @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/kotlin/androidx/paging/PageFetcher.kt"
+            line="210"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="Did you mean `@get:RestrictTo` ? Without `get:` this annotates the constructor parameter itself instead of the associated getter."
+        errorLine1="    @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/kotlin/androidx/paging/PagedList.kt"
+            line="125"
+            column="5"/>
+    </issue>
+
+</issues>
diff --git a/paging/paging-guava/lint-baseline.xml b/paging/paging-guava/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/paging/paging-guava/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/paging/paging-runtime-ktx/lint-baseline.xml b/paging/paging-runtime-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/paging/paging-runtime-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/paging/paging-runtime/lint-baseline.xml b/paging/paging-runtime/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/paging/paging-runtime/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/paging/paging-rxjava2-ktx/lint-baseline.xml b/paging/paging-rxjava2-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/paging/paging-rxjava2-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/paging/paging-rxjava2/lint-baseline.xml b/paging/paging-rxjava2/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/paging/paging-rxjava2/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/paging/paging-rxjava3/lint-baseline.xml b/paging/paging-rxjava3/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/paging/paging-rxjava3/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/paging/samples/lint-baseline.xml b/paging/samples/lint-baseline.xml
new file mode 100644
index 0000000..215867d
--- /dev/null
+++ b/paging/samples/lint-baseline.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="Did you mean `@get:VisibleForTesting` ? Without `get:` this annotates the constructor parameter itself instead of the associated getter."
+        errorLine1="        @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/kotlin/androidx/paging/PageFetcher.kt"
+            line="210"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="Did you mean `@get:RestrictTo` ? Without `get:` this annotates the constructor parameter itself instead of the associated getter."
+        errorLine1="    @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/kotlin/androidx/paging/PagedList.kt"
+            line="125"
+            column="5"/>
+    </issue>
+
+</issues>
diff --git a/palette/palette-ktx/lint-baseline.xml b/palette/palette-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/palette/palette-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/palette/palette/lint-baseline.xml b/palette/palette/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/palette/palette/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/percentlayout/percentlayout/lint-baseline.xml b/percentlayout/percentlayout/lint-baseline.xml
index b80b520..92e1083 100644
--- a/percentlayout/percentlayout/lint-baseline.xml
+++ b/percentlayout/percentlayout/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="UnknownNullness"
diff --git a/placeholder-tests/lint-baseline.xml b/placeholder-tests/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/placeholder-tests/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/preference/preference-ktx/lint-baseline.xml b/preference/preference-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/preference/preference-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/preference/preference/lint-baseline.xml b/preference/preference/lint-baseline.xml
index d324f8d..0b708f6 100644
--- a/preference/preference/lint-baseline.xml
+++ b/preference/preference/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ClassVerificationFailure"
@@ -433,7 +433,7 @@
     <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 onBindViewHolder(PreferenceViewHolder view) {"
+        errorLine1="    public void onBindViewHolder(PreferenceViewHolder holder) {"
         errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/DropDownPreference.java"
@@ -2450,7 +2450,7 @@
         errorLine2="                         ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="146"
+            line="148"
             column="26"/>
     </issue>
 
@@ -2461,7 +2461,7 @@
         errorLine2="                                             ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="182"
+            line="184"
             column="46"/>
     </issue>
 
@@ -2472,7 +2472,7 @@
         errorLine2="                                                                        ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="182"
+            line="184"
             column="73"/>
     </issue>
 
@@ -2483,7 +2483,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="185"
+            line="187"
             column="12"/>
     </issue>
 
@@ -2494,7 +2494,7 @@
         errorLine2="                             ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="185"
+            line="187"
             column="30"/>
     </issue>
 
@@ -2505,7 +2505,7 @@
         errorLine2="                                                      ~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="185"
+            line="187"
             column="55"/>
     </issue>
 
@@ -2516,7 +2516,7 @@
         errorLine2="            ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="186"
+            line="188"
             column="13"/>
     </issue>
 
@@ -2527,7 +2527,7 @@
         errorLine2="                           ~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="251"
+            line="253"
             column="28"/>
     </issue>
 
@@ -2538,7 +2538,7 @@
         errorLine2="                              ~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="270"
+            line="272"
             column="31"/>
     </issue>
 
@@ -2549,7 +2549,7 @@
         errorLine2="                                         ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="270"
+            line="272"
             column="42"/>
     </issue>
 
@@ -2560,7 +2560,7 @@
         errorLine2="                                    ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="320"
+            line="322"
             column="37"/>
     </issue>
 
@@ -2571,7 +2571,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="339"
+            line="341"
             column="12"/>
     </issue>
 
@@ -2582,7 +2582,7 @@
         errorLine2="                                    ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="351"
+            line="353"
             column="37"/>
     </issue>
 
@@ -2593,7 +2593,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="369"
+            line="371"
             column="12"/>
     </issue>
 
@@ -2604,7 +2604,7 @@
         errorLine2="                                         ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="427"
+            line="429"
             column="42"/>
     </issue>
 
@@ -2615,7 +2615,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="456"
+            line="458"
             column="36"/>
     </issue>
 
@@ -2626,7 +2626,7 @@
         errorLine2="                                                   ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="480"
+            line="482"
             column="52"/>
     </issue>
 
@@ -2637,7 +2637,7 @@
         errorLine2="                 ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="527"
+            line="529"
             column="18"/>
     </issue>
 
@@ -2648,7 +2648,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="547"
+            line="549"
             column="12"/>
     </issue>
 
@@ -2659,7 +2659,7 @@
         errorLine2="                                             ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="547"
+            line="549"
             column="46"/>
     </issue>
 
@@ -2670,7 +2670,7 @@
         errorLine2="                                                                      ~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="547"
+            line="549"
             column="71"/>
     </issue>
 
@@ -2681,7 +2681,7 @@
         errorLine2="            ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="548"
+            line="550"
             column="13"/>
     </issue>
 
@@ -2692,7 +2692,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="577"
+            line="579"
             column="12"/>
     </issue>
 
@@ -2703,7 +2703,7 @@
         errorLine2="              ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="590"
+            line="592"
             column="15"/>
     </issue>
 
@@ -2714,7 +2714,7 @@
         errorLine2="                                                   ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="590"
+            line="592"
             column="52"/>
     </issue>
 
@@ -2725,7 +2725,7 @@
         errorLine2="                                          ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="605"
+            line="607"
             column="43"/>
     </issue>
 
@@ -2736,7 +2736,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="648"
+            line="650"
             column="12"/>
     </issue>
 
@@ -2747,7 +2747,7 @@
         errorLine2="                                         ~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="656"
+            line="658"
             column="42"/>
     </issue>
 
@@ -2758,7 +2758,7 @@
         errorLine2="                                         ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="664"
+            line="666"
             column="42"/>
     </issue>
 
@@ -2769,7 +2769,7 @@
         errorLine2="                                          ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="720"
+            line="722"
             column="43"/>
     </issue>
 
@@ -2780,7 +2780,7 @@
         errorLine2="                                                                     ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="720"
+            line="722"
             column="70"/>
     </issue>
 
@@ -2791,7 +2791,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="736"
+            line="738"
             column="41"/>
     </issue>
 
@@ -2802,7 +2802,7 @@
         errorLine2="                                                                   ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="736"
+            line="738"
             column="68"/>
     </issue>
 
@@ -2813,7 +2813,7 @@
         errorLine2="                                                                              ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/PreferenceFragment.java"
-            line="749"
+            line="751"
             column="79"/>
     </issue>
 
@@ -3975,7 +3975,7 @@
     <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 onBindViewHolder(PreferenceViewHolder view) {"
+        errorLine1="    public void onBindViewHolder(PreferenceViewHolder holder) {"
         errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/preference/SeekBarPreference.java"
diff --git a/print/print/lint-baseline.xml b/print/print/lint-baseline.xml
index f71eab4..da968ea 100644
--- a/print/print/lint-baseline.xml
+++ b/print/print/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ClassVerificationFailure"
diff --git a/profileinstaller/integration-tests/init-macrobenchmark-target/lint-baseline.xml b/profileinstaller/integration-tests/init-macrobenchmark-target/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/profileinstaller/integration-tests/init-macrobenchmark-target/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/profileinstaller/integration-tests/init-macrobenchmark/lint-baseline.xml b/profileinstaller/integration-tests/init-macrobenchmark/lint-baseline.xml
index ac749c4..dcf4cf3 100644
--- a/profileinstaller/integration-tests/init-macrobenchmark/lint-baseline.xml
+++ b/profileinstaller/integration-tests/init-macrobenchmark/lint-baseline.xml
@@ -1,16 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 28): `MacrobenchmarkRule`"
-        errorLine1="    val benchmarkRule = MacrobenchmarkRule()"
-        errorLine2="                        ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/androidTest/java/androidx/profileinstaller/integration/macrobenchmark/ProfileinstallerStartupBenchmark.kt"
-            line="37"
-            column="25"/>
-    </issue>
+<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">
 
     <issue
         id="NewApi"
diff --git a/profileinstaller/profileinstaller-benchmark/lint-baseline.xml b/profileinstaller/profileinstaller-benchmark/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/profileinstaller/profileinstaller-benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/profileinstaller/profileinstaller/lint-baseline.xml b/profileinstaller/profileinstaller/lint-baseline.xml
index 01be5fb..0867719 100644
--- a/profileinstaller/profileinstaller/lint-baseline.xml
+++ b/profileinstaller/profileinstaller/lint-baseline.xml
@@ -1,114 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 19 (current min is 14): `MAGIC`"
-        errorLine1="            expectBytes(is, MAGIC);"
-        errorLine2="                            ~~~~~">
-        <location
-            file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
-            line="46"
-            column="29"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 19 (current min is 14): `readProfile`"
-        errorLine1="            Map&lt;String, DexProfileData> data = ProfileTranscoder.readProfile(is, version);"
-        errorLine2="                                                                 ~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
-            line="48"
-            column="66"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 19 (current min is 14): `readHeader`"
-        errorLine1="            byte[] version = ProfileTranscoder.readHeader(is);"
-        errorLine2="                                               ~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
-            line="97"
-            column="48"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 19 (current min is 14): `writeHeader`"
-        errorLine1="            ProfileTranscoder.writeHeader(os, desiredVersion);"
-        errorLine2="                              ~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
-            line="98"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 19 (current min is 14): `readProfile`"
-        errorLine1="                Map&lt;String, DexProfileData> data = ProfileTranscoder.readProfile("
-        errorLine2="                                                                     ~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
-            line="100"
-            column="70"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 19 (current min is 14): `transcodeAndWriteBody`"
-        errorLine1="                ProfileTranscoder.transcodeAndWriteBody(os, desiredVersion, data);"
-        errorLine2="                                  ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
-            line="104"
-            column="35"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 19 (current min is 14): `writeAll`"
-        errorLine1="                Encoding.writeAll(is, os);"
-        errorLine2="                         ~~~~~~~~">
-        <location
-            file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
-            line="106"
-            column="26"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 26 (current min is 14): `java.io.File#toPath`"
-        errorLine1="            byte[] goldenBytes = Files.readAllBytes(golden.toPath());"
-        errorLine2="                                                           ~~~~~~">
-        <location
-            file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
-            line="108"
-            column="60"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 26 (current min is 14): `java.nio.file.Files#readAllBytes`"
-        errorLine1="            byte[] goldenBytes = Files.readAllBytes(golden.toPath());"
-        errorLine2="                                       ~~~~~~~~~~~~">
-        <location
-            file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
-            line="108"
-            column="40"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 19 (current min is 14): `read`"
-        errorLine1="        byte[] actual = Encoding.read(is, bytes.length);"
-        errorLine2="                                 ~~~~">
-        <location
-            file="src/test/java/androidx/profileinstaller/ProfileTranscoderTests.java"
-            line="116"
-            column="34"/>
-    </issue>
+<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>
diff --git a/recommendation/recommendation/lint-baseline.xml b/recommendation/recommendation/lint-baseline.xml
index 0cb64d6..ac1891f 100644
--- a/recommendation/recommendation/lint-baseline.xml
+++ b/recommendation/recommendation/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="UnknownNullness"
diff --git a/recyclerview/recyclerview-benchmark/lint-baseline.xml b/recyclerview/recyclerview-benchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/recyclerview/recyclerview-benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/recyclerview/recyclerview-lint/lint-baseline.xml b/recyclerview/recyclerview-lint/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/recyclerview/recyclerview-lint/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/recyclerview/recyclerview-selection/lint-baseline.xml b/recyclerview/recyclerview-selection/lint-baseline.xml
index 17a04c0..ee8ea75 100644
--- a/recyclerview/recyclerview-selection/lint-baseline.xml
+++ b/recyclerview/recyclerview-selection/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="BanSynchronizedMethods"
diff --git a/recyclerview/recyclerview/lint-baseline.xml b/recyclerview/recyclerview/lint-baseline.xml
index 2499392..7f77a71 100644
--- a/recyclerview/recyclerview/lint-baseline.xml
+++ b/recyclerview/recyclerview/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
@@ -162,7 +162,7 @@
         errorLine2="                   ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="1102"
+            line="1106"
             column="20"/>
     </issue>
 
@@ -173,7 +173,7 @@
         errorLine2="                             ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="7406"
+            line="7555"
             column="30"/>
     </issue>
 
@@ -184,7 +184,7 @@
         errorLine2="                          ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="11773"
+            line="11922"
             column="27"/>
     </issue>
 
@@ -774,7 +774,7 @@
     <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 View onFocusSearchFailed(View focused, int focusDirection,"
+        errorLine1="    public View onFocusSearchFailed(View focused, int direction,"
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/GridLayoutManager.java"
@@ -785,7 +785,7 @@
     <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 View onFocusSearchFailed(View focused, int focusDirection,"
+        errorLine1="    public View onFocusSearchFailed(View focused, int direction,"
         errorLine2="                                    ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/GridLayoutManager.java"
@@ -1489,7 +1489,7 @@
     <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 View onFocusSearchFailed(View focused, int focusDirection,"
+        errorLine1="    public View onFocusSearchFailed(View focused, int direction,"
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/LinearLayoutManager.java"
@@ -1500,7 +1500,7 @@
     <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 View onFocusSearchFailed(View focused, int focusDirection,"
+        errorLine1="    public View onFocusSearchFailed(View focused, int direction,"
         errorLine2="                                    ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/LinearLayoutManager.java"
@@ -1900,7 +1900,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="806"
+            line="810"
             column="12"/>
     </issue>
 
@@ -1911,7 +1911,7 @@
         errorLine2="              ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="1441"
+            line="1445"
             column="15"/>
     </issue>
 
@@ -1922,7 +1922,7 @@
         errorLine2="                                          ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="1455"
+            line="1459"
             column="43"/>
     </issue>
 
@@ -1933,7 +1933,7 @@
         errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="1477"
+            line="1481"
             column="46"/>
     </issue>
 
@@ -1944,7 +1944,7 @@
         errorLine2="                                                ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="1485"
+            line="1489"
             column="49"/>
     </issue>
 
@@ -1955,7 +1955,7 @@
         errorLine2="                                    ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="2418"
+            line="2495"
             column="37"/>
     </issue>
 
@@ -1966,7 +1966,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="2880"
+            line="2983"
             column="12"/>
     </issue>
 
@@ -1977,7 +1977,7 @@
         errorLine2="                            ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="2880"
+            line="2983"
             column="29"/>
     </issue>
 
@@ -1988,7 +1988,7 @@
         errorLine2="                                  ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="3025"
+            line="3128"
             column="35"/>
     </issue>
 
@@ -1999,7 +1999,7 @@
         errorLine2="                                              ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="3025"
+            line="3128"
             column="47"/>
     </issue>
 
@@ -2010,7 +2010,7 @@
         errorLine2="                                                 ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="3071"
+            line="3174"
             column="50"/>
     </issue>
 
@@ -2021,7 +2021,7 @@
         errorLine2="                                                             ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="3071"
+            line="3174"
             column="62"/>
     </issue>
 
@@ -2032,7 +2032,7 @@
         errorLine2="                              ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="3076"
+            line="3179"
             column="31"/>
     </issue>
 
@@ -2043,7 +2043,7 @@
         errorLine2="                                                                 ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="3083"
+            line="3186"
             column="66"/>
     </issue>
 
@@ -2054,7 +2054,7 @@
         errorLine2="                                         ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="3295"
+            line="3398"
             column="42"/>
     </issue>
 
@@ -2065,7 +2065,7 @@
         errorLine2="                                ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="3417"
+            line="3552"
             column="33"/>
     </issue>
 
@@ -2076,7 +2076,7 @@
         errorLine2="                                        ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="3603"
+            line="3741"
             column="41"/>
     </issue>
 
@@ -2087,7 +2087,7 @@
         errorLine2="                                                ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="3881"
+            line="4019"
             column="49"/>
     </issue>
 
@@ -2098,7 +2098,7 @@
         errorLine2="                                                      ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="3889"
+            line="4027"
             column="55"/>
     </issue>
 
@@ -2109,7 +2109,7 @@
         errorLine2="                                      ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="4507"
+            line="4645"
             column="39"/>
     </issue>
 
@@ -2120,7 +2120,7 @@
         errorLine2="                     ~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="4602"
+            line="4740"
             column="22"/>
     </issue>
 
@@ -2131,7 +2131,7 @@
         errorLine2="                       ~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="4663"
+            line="4801"
             column="24"/>
     </issue>
 
@@ -2142,7 +2142,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="4673"
+            line="4811"
             column="41"/>
     </issue>
 
@@ -2153,7 +2153,7 @@
         errorLine2="              ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="4678"
+            line="4816"
             column="15"/>
     </issue>
 
@@ -2164,7 +2164,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="4686"
+            line="4824"
             column="12"/>
     </issue>
 
@@ -2175,7 +2175,7 @@
         errorLine2="                                                       ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="4686"
+            line="4824"
             column="56"/>
     </issue>
 
@@ -2186,7 +2186,7 @@
         errorLine2="              ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="4694"
+            line="4832"
             column="15"/>
     </issue>
 
@@ -2197,7 +2197,7 @@
         errorLine2="                                                          ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="4694"
+            line="4832"
             column="59"/>
     </issue>
 
@@ -2208,7 +2208,7 @@
         errorLine2="           ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="4941"
+            line="5079"
             column="12"/>
     </issue>
 
@@ -2219,7 +2219,7 @@
         errorLine2="           ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="5159"
+            line="5297"
             column="12"/>
     </issue>
 
@@ -2230,7 +2230,7 @@
         errorLine2="                             ~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="5203"
+            line="5341"
             column="30"/>
     </issue>
 
@@ -2241,7 +2241,7 @@
         errorLine2="                                            ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="5203"
+            line="5341"
             column="45"/>
     </issue>
 
@@ -2252,7 +2252,7 @@
         errorLine2="                                    ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="5921"
+            line="6070"
             column="37"/>
     </issue>
 
@@ -2263,7 +2263,7 @@
         errorLine2="                                         ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8145"
+            line="8294"
             column="42"/>
     </issue>
 
@@ -2274,7 +2274,7 @@
         errorLine2="                                           ~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8169"
+            line="8318"
             column="44"/>
     </issue>
 
@@ -2285,7 +2285,7 @@
         errorLine2="                                              ~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8205"
+            line="8354"
             column="47"/>
     </issue>
 
@@ -2296,7 +2296,7 @@
         errorLine2="                                                                     ~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8384"
+            line="8533"
             column="70"/>
     </issue>
 
@@ -2307,7 +2307,7 @@
         errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8385"
+            line="8534"
             column="17"/>
     </issue>
 
@@ -2318,7 +2318,7 @@
         errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8413"
+            line="8562"
             column="17"/>
     </issue>
 
@@ -2329,7 +2329,7 @@
         errorLine2="                                    ~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8446"
+            line="8595"
             column="37"/>
     </issue>
 
@@ -2340,7 +2340,7 @@
         errorLine2="                                       ~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8464"
+            line="8613"
             column="40"/>
     </issue>
 
@@ -2351,7 +2351,7 @@
         errorLine2="                                       ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8485"
+            line="8634"
             column="40"/>
     </issue>
 
@@ -2362,7 +2362,7 @@
         errorLine2="                                         ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8492"
+            line="8641"
             column="42"/>
     </issue>
 
@@ -2373,7 +2373,7 @@
         errorLine2="                                         ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8519"
+            line="8668"
             column="42"/>
     </issue>
 
@@ -2384,7 +2384,7 @@
         errorLine2="                                                            ~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8519"
+            line="8668"
             column="61"/>
     </issue>
 
@@ -2395,7 +2395,7 @@
         errorLine2="                                     ~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8583"
+            line="8732"
             column="38"/>
     </issue>
 
@@ -2406,7 +2406,7 @@
         errorLine2="                                                        ~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8583"
+            line="8732"
             column="57"/>
     </issue>
 
@@ -2417,7 +2417,7 @@
         errorLine2="                                      ~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8598"
+            line="8747"
             column="39"/>
     </issue>
 
@@ -2428,7 +2428,7 @@
         errorLine2="                        ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8616"
+            line="8765"
             column="25"/>
     </issue>
 
@@ -2439,7 +2439,7 @@
         errorLine2="                                         ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8628"
+            line="8777"
             column="42"/>
     </issue>
 
@@ -2450,7 +2450,7 @@
         errorLine2="               ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8645"
+            line="8794"
             column="16"/>
     </issue>
 
@@ -2461,7 +2461,7 @@
         errorLine2="                                                 ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8645"
+            line="8794"
             column="50"/>
     </issue>
 
@@ -2472,7 +2472,7 @@
         errorLine2="               ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8669"
+            line="8818"
             column="16"/>
     </issue>
 
@@ -2483,7 +2483,7 @@
         errorLine2="                                                 ~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8669"
+            line="8818"
             column="50"/>
     </issue>
 
@@ -2494,7 +2494,7 @@
         errorLine2="                                                            ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8669"
+            line="8818"
             column="61"/>
     </issue>
 
@@ -2505,7 +2505,7 @@
         errorLine2="                                                ~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8686"
+            line="8835"
             column="49"/>
     </issue>
 
@@ -2516,7 +2516,7 @@
         errorLine2="                                                                   ~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8686"
+            line="8835"
             column="68"/>
     </issue>
 
@@ -2527,7 +2527,7 @@
         errorLine2="                                              ~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8703"
+            line="8852"
             column="47"/>
     </issue>
 
@@ -2538,7 +2538,7 @@
         errorLine2="                                                                 ~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8703"
+            line="8852"
             column="66"/>
     </issue>
 
@@ -2549,7 +2549,7 @@
         errorLine2="                                           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8750"
+            line="8899"
             column="44"/>
     </issue>
 
@@ -2560,7 +2560,7 @@
         errorLine2="                                                                      ~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8750"
+            line="8899"
             column="71"/>
     </issue>
 
@@ -2571,7 +2571,7 @@
         errorLine2="                                      ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8765"
+            line="8914"
             column="39"/>
     </issue>
 
@@ -2582,7 +2582,7 @@
         errorLine2="                                 ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8799"
+            line="8948"
             column="34"/>
     </issue>
 
@@ -2593,7 +2593,7 @@
         errorLine2="                                        ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8818"
+            line="8967"
             column="41"/>
     </issue>
 
@@ -2604,7 +2604,7 @@
         errorLine2="                                        ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8836"
+            line="8985"
             column="41"/>
     </issue>
 
@@ -2615,7 +2615,7 @@
         errorLine2="                            ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8847"
+            line="8996"
             column="29"/>
     </issue>
 
@@ -2626,7 +2626,7 @@
         errorLine2="                            ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8859"
+            line="9008"
             column="29"/>
     </issue>
 
@@ -2637,7 +2637,7 @@
         errorLine2="                               ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="8925"
+            line="9074"
             column="32"/>
     </issue>
 
@@ -2648,7 +2648,7 @@
         errorLine2="                                                               ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="9102"
+            line="9251"
             column="64"/>
     </issue>
 
@@ -2659,7 +2659,7 @@
         errorLine2="                                           ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="10584"
+            line="10733"
             column="44"/>
     </issue>
 
@@ -2670,7 +2670,7 @@
         errorLine2="                      ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="10902"
+            line="11051"
             column="23"/>
     </issue>
 
@@ -2681,7 +2681,7 @@
         errorLine2="                              ~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="11927"
+            line="12076"
             column="31"/>
     </issue>
 
@@ -2692,7 +2692,7 @@
         errorLine2="                              ~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="11934"
+            line="12083"
             column="31"/>
     </issue>
 
@@ -2703,7 +2703,7 @@
         errorLine2="                              ~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="11941"
+            line="12090"
             column="31"/>
     </issue>
 
@@ -2714,7 +2714,7 @@
         errorLine2="                                                           ~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="11947"
+            line="12096"
             column="60"/>
     </issue>
 
@@ -2725,7 +2725,7 @@
         errorLine2="                                                                           ~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="11947"
+            line="12096"
             column="76"/>
     </issue>
 
@@ -2736,7 +2736,7 @@
         errorLine2="                                                           ~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="11952"
+            line="12101"
             column="60"/>
     </issue>
 
@@ -2747,7 +2747,7 @@
         errorLine2="                                                                           ~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="11952"
+            line="12101"
             column="76"/>
     </issue>
 
@@ -2758,7 +2758,7 @@
         errorLine2="                            ~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="11983"
+            line="12132"
             column="29"/>
     </issue>
 
@@ -2769,7 +2769,7 @@
         errorLine2="                                       ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="11983"
+            line="12132"
             column="40"/>
     </issue>
 
@@ -2780,7 +2780,7 @@
         errorLine2="                            ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="11991"
+            line="12140"
             column="29"/>
     </issue>
 
@@ -2791,7 +2791,7 @@
         errorLine2="                            ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="11995"
+            line="12144"
             column="29"/>
     </issue>
 
@@ -2802,7 +2802,7 @@
         errorLine2="                            ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="11999"
+            line="12148"
             column="29"/>
     </issue>
 
@@ -2813,7 +2813,7 @@
         errorLine2="                                    ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="12353"
+            line="12502"
             column="37"/>
     </issue>
 
@@ -2824,7 +2824,7 @@
         errorLine2="               ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="12367"
+            line="12516"
             column="16"/>
     </issue>
 
@@ -2835,7 +2835,7 @@
         errorLine2="                                               ~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="12380"
+            line="12529"
             column="48"/>
     </issue>
 
@@ -2846,7 +2846,7 @@
         errorLine2="                                  ~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="12732"
+            line="12881"
             column="35"/>
     </issue>
 
@@ -2857,7 +2857,7 @@
         errorLine2="                                        ~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/RecyclerView.java"
-            line="12960"
+            line="13109"
             column="41"/>
     </issue>
 
@@ -2978,7 +2978,7 @@
         errorLine2="                                          ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="187"
+            line="188"
             column="43"/>
     </issue>
 
@@ -2989,7 +2989,7 @@
         errorLine2="                                       ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="212"
+            line="213"
             column="40"/>
     </issue>
 
@@ -3000,7 +3000,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="232"
+            line="233"
             column="41"/>
     </issue>
 
@@ -3011,7 +3011,7 @@
         errorLine2="                                          ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="265"
+            line="266"
             column="43"/>
     </issue>
 
@@ -3022,7 +3022,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="266"
+            line="267"
             column="13"/>
     </issue>
 
@@ -3033,7 +3033,7 @@
         errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="275"
+            line="276"
             column="46"/>
     </issue>
 
@@ -3044,7 +3044,7 @@
         errorLine2="                                           ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="290"
+            line="291"
             column="44"/>
     </issue>
 
@@ -3055,7 +3055,7 @@
         errorLine2="                                          ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="300"
+            line="301"
             column="43"/>
     </issue>
 
@@ -3066,7 +3066,7 @@
         errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="315"
+            line="316"
             column="46"/>
     </issue>
 
@@ -3077,7 +3077,7 @@
         errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="325"
+            line="326"
             column="46"/>
     </issue>
 
@@ -3088,7 +3088,7 @@
         errorLine2="                                           ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="334"
+            line="335"
             column="44"/>
     </issue>
 
@@ -3099,7 +3099,7 @@
         errorLine2="                                          ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="343"
+            line="344"
             column="43"/>
     </issue>
 
@@ -3110,7 +3110,7 @@
         errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="356"
+            line="357"
             column="46"/>
     </issue>
 
@@ -3121,7 +3121,7 @@
         errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="369"
+            line="370"
             column="34"/>
     </issue>
 
@@ -3132,7 +3132,7 @@
         errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="380"
+            line="381"
             column="34"/>
     </issue>
 
@@ -3143,7 +3143,7 @@
         errorLine2="                              ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="392"
+            line="393"
             column="31"/>
     </issue>
 
@@ -3154,7 +3154,7 @@
         errorLine2="                              ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="403"
+            line="404"
             column="31"/>
     </issue>
 
@@ -3165,7 +3165,7 @@
         errorLine2="                               ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="415"
+            line="416"
             column="32"/>
     </issue>
 
@@ -3176,7 +3176,7 @@
         errorLine2="                               ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="426"
+            line="427"
             column="32"/>
     </issue>
 
@@ -3187,7 +3187,7 @@
         errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="440"
+            line="441"
             column="34"/>
     </issue>
 
@@ -3198,7 +3198,7 @@
         errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/recyclerview/widget/SimpleItemAnimator.java"
-            line="453"
+            line="454"
             column="34"/>
     </issue>
 
diff --git a/recyclerview/recyclerview/src/main/baseline-prof.txt b/recyclerview/recyclerview/src/main/baseline-prof.txt
new file mode 100644
index 0000000..b28edbe
--- /dev/null
+++ b/recyclerview/recyclerview/src/main/baseline-prof.txt
@@ -0,0 +1,548 @@
+HSPLandroidx/recyclerview/R$styleable;-><clinit>()V
+HSPLandroidx/recyclerview/widget/AdapterHelper$UpdateOp;-><init>(IIILjava/lang/Object;)V
+HSPLandroidx/recyclerview/widget/AdapterHelper;-><init>(Landroidx/recyclerview/widget/AdapterHelper$Callback;)V
+HSPLandroidx/recyclerview/widget/AdapterHelper;-><init>(Landroidx/recyclerview/widget/AdapterHelper$Callback;Z)V
+HSPLandroidx/recyclerview/widget/AdapterHelper;->applyAdd(Landroidx/recyclerview/widget/AdapterHelper$UpdateOp;)V
+HSPLandroidx/recyclerview/widget/AdapterHelper;->consumePostponedUpdates()V
+HSPLandroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V
+HSPLandroidx/recyclerview/widget/AdapterHelper;->findPositionOffset(I)I
+HSPLandroidx/recyclerview/widget/AdapterHelper;->findPositionOffset(II)I
+HSPLandroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z
+HSPLandroidx/recyclerview/widget/AdapterHelper;->obtainUpdateOp(IIILjava/lang/Object;)Landroidx/recyclerview/widget/AdapterHelper$UpdateOp;
+HSPLandroidx/recyclerview/widget/AdapterHelper;->onItemRangeInserted(II)Z
+HSPLandroidx/recyclerview/widget/AdapterHelper;->postponeAndUpdateViewHolders(Landroidx/recyclerview/widget/AdapterHelper$UpdateOp;)V
+HSPLandroidx/recyclerview/widget/AdapterHelper;->preProcess()V
+HSPLandroidx/recyclerview/widget/AdapterHelper;->recycleUpdateOp(Landroidx/recyclerview/widget/AdapterHelper$UpdateOp;)V
+HSPLandroidx/recyclerview/widget/AdapterHelper;->recycleUpdateOpsAndClearList(Ljava/util/List;)V
+HSPLandroidx/recyclerview/widget/AdapterHelper;->reset()V
+HSPLandroidx/recyclerview/widget/AdapterListUpdateCallback;-><init>(Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
+HSPLandroidx/recyclerview/widget/AdapterListUpdateCallback;->onInserted(II)V
+HSPLandroidx/recyclerview/widget/AsyncDifferConfig$Builder;-><clinit>()V
+HSPLandroidx/recyclerview/widget/AsyncDifferConfig$Builder;-><init>(Landroidx/recyclerview/widget/DiffUtil$ItemCallback;)V
+HSPLandroidx/recyclerview/widget/AsyncDifferConfig$Builder;->build()Landroidx/recyclerview/widget/AsyncDifferConfig;
+HSPLandroidx/recyclerview/widget/AsyncDifferConfig$Builder;->setBackgroundThreadExecutor(Ljava/util/concurrent/Executor;)Landroidx/recyclerview/widget/AsyncDifferConfig$Builder;
+HSPLandroidx/recyclerview/widget/AsyncDifferConfig;-><init>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;Landroidx/recyclerview/widget/DiffUtil$ItemCallback;)V
+HSPLandroidx/recyclerview/widget/AsyncDifferConfig;->getMainThreadExecutor()Ljava/util/concurrent/Executor;
+HSPLandroidx/recyclerview/widget/AsyncListDiffer$MainThreadExecutor;-><init>()V
+HSPLandroidx/recyclerview/widget/AsyncListDiffer;-><clinit>()V
+HSPLandroidx/recyclerview/widget/AsyncListDiffer;-><init>(Landroidx/recyclerview/widget/ListUpdateCallback;Landroidx/recyclerview/widget/AsyncDifferConfig;)V
+HSPLandroidx/recyclerview/widget/AsyncListDiffer;->addListListener(Landroidx/recyclerview/widget/AsyncListDiffer$ListListener;)V
+HSPLandroidx/recyclerview/widget/AsyncListDiffer;->getCurrentList()Ljava/util/List;
+HSPLandroidx/recyclerview/widget/AsyncListDiffer;->onCurrentListChanged(Ljava/util/List;Ljava/lang/Runnable;)V
+HSPLandroidx/recyclerview/widget/AsyncListDiffer;->submitList(Ljava/util/List;)V
+HSPLandroidx/recyclerview/widget/AsyncListDiffer;->submitList(Ljava/util/List;Ljava/lang/Runnable;)V
+HSPLandroidx/recyclerview/widget/ChildHelper$Bucket;-><init>()V
+HSPLandroidx/recyclerview/widget/ChildHelper$Bucket;->clear(I)V
+HSPLandroidx/recyclerview/widget/ChildHelper$Bucket;->countOnesBefore(I)I
+HSPLandroidx/recyclerview/widget/ChildHelper$Bucket;->get(I)Z
+HSPLandroidx/recyclerview/widget/ChildHelper$Bucket;->insert(IZ)V
+HSPLandroidx/recyclerview/widget/ChildHelper$Bucket;->remove(I)Z
+HSPLandroidx/recyclerview/widget/ChildHelper$Bucket;->reset()V
+HSPLandroidx/recyclerview/widget/ChildHelper;-><init>(Landroidx/recyclerview/widget/ChildHelper$Callback;)V
+HSPLandroidx/recyclerview/widget/ChildHelper;->addView(Landroid/view/View;IZ)V
+HSPLandroidx/recyclerview/widget/ChildHelper;->findHiddenNonRemovedView(I)Landroid/view/View;
+HSPLandroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
+HSPLandroidx/recyclerview/widget/ChildHelper;->getChildCount()I
+HSPLandroidx/recyclerview/widget/ChildHelper;->getOffset(I)I
+HSPLandroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
+HSPLandroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
+HSPLandroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z
+HSPLandroidx/recyclerview/widget/ChildHelper;->removeAllViewsUnfiltered()V
+HSPLandroidx/recyclerview/widget/ChildHelper;->removeViewAt(I)V
+HSPLandroidx/recyclerview/widget/ChildHelper;->removeViewIfHidden(Landroid/view/View;)Z
+HSPLandroidx/recyclerview/widget/DefaultItemAnimator$3;-><init>(Landroidx/recyclerview/widget/DefaultItemAnimator;Ljava/util/ArrayList;)V
+HSPLandroidx/recyclerview/widget/DefaultItemAnimator$3;->run()V
+HSPLandroidx/recyclerview/widget/DefaultItemAnimator$5;-><init>(Landroidx/recyclerview/widget/DefaultItemAnimator;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroid/view/View;Landroid/view/ViewPropertyAnimator;)V
+HSPLandroidx/recyclerview/widget/DefaultItemAnimator$5;->onAnimationEnd(Landroid/animation/Animator;)V
+HSPLandroidx/recyclerview/widget/DefaultItemAnimator$5;->onAnimationStart(Landroid/animation/Animator;)V
+HSPLandroidx/recyclerview/widget/DefaultItemAnimator;-><init>()V
+HSPLandroidx/recyclerview/widget/DefaultItemAnimator;->animateAdd(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
+HSPLandroidx/recyclerview/widget/DefaultItemAnimator;->animateAddImpl(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/DefaultItemAnimator;->dispatchFinishedWhenDone()V
+HSPLandroidx/recyclerview/widget/DefaultItemAnimator;->endAnimation(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/DefaultItemAnimator;->endAnimations()V
+HSPLandroidx/recyclerview/widget/DefaultItemAnimator;->endChangeAnimation(Ljava/util/List;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/DefaultItemAnimator;->isRunning()Z
+HSPLandroidx/recyclerview/widget/DefaultItemAnimator;->resetAnimation(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/DefaultItemAnimator;->runPendingAnimations()V
+HSPLandroidx/recyclerview/widget/DiffUtil$ItemCallback;-><init>()V
+HSPLandroidx/recyclerview/widget/GapWorker$1;-><init>()V
+HSPLandroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;-><init>()V
+HSPLandroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;->addPosition(II)V
+HSPLandroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;->clearPrefetchPositions()V
+HSPLandroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;->collectPrefetchPositionsFromView(Landroidx/recyclerview/widget/RecyclerView;Z)V
+HSPLandroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;->lastPrefetchIncludedPosition(I)Z
+HSPLandroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;->setPrefetchVector(II)V
+HSPLandroidx/recyclerview/widget/GapWorker$Task;-><init>()V
+HSPLandroidx/recyclerview/widget/GapWorker$Task;->clear()V
+HSPLandroidx/recyclerview/widget/GapWorker;-><clinit>()V
+HSPLandroidx/recyclerview/widget/GapWorker;-><init>()V
+HSPLandroidx/recyclerview/widget/GapWorker;->add(Landroidx/recyclerview/widget/RecyclerView;)V
+HSPLandroidx/recyclerview/widget/GapWorker;->buildTaskList()V
+HSPLandroidx/recyclerview/widget/GapWorker;->flushTaskWithDeadline(Landroidx/recyclerview/widget/GapWorker$Task;J)V
+HSPLandroidx/recyclerview/widget/GapWorker;->flushTasksWithDeadline(J)V
+HSPLandroidx/recyclerview/widget/GapWorker;->isPrefetchPositionAttached(Landroidx/recyclerview/widget/RecyclerView;I)Z
+HSPLandroidx/recyclerview/widget/GapWorker;->postFromTraversal(Landroidx/recyclerview/widget/RecyclerView;II)V
+HSPLandroidx/recyclerview/widget/GapWorker;->prefetch(J)V
+HSPLandroidx/recyclerview/widget/GapWorker;->prefetchPositionWithDeadline(Landroidx/recyclerview/widget/RecyclerView;IJ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
+HSPLandroidx/recyclerview/widget/GapWorker;->run()V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;-><init>()V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->assignCoordinateFromPadding()V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->reset()V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;-><init>()V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->resetInternal()V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager$LayoutState;-><init>()V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->hasMore(Landroidx/recyclerview/widget/RecyclerView$State;)Z
+HSPLandroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->next(Landroidx/recyclerview/widget/RecyclerView$Recycler;)Landroid/view/View;
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->calculateExtraLayoutSpace(Landroidx/recyclerview/widget/RecyclerView$State;[I)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->canScrollHorizontally()Z
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->canScrollVertically()Z
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->collectAdjacentPrefetchPositions(IILandroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/RecyclerView$LayoutManager$LayoutPrefetchRegistry;)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->collectPrefetchPositionsForLayoutState(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;Landroidx/recyclerview/widget/RecyclerView$LayoutManager$LayoutPrefetchRegistry;)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->computeScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;)I
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->computeScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;)I
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->computeScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;)I
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->computeVerticalScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;)I
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->computeVerticalScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;)I
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->computeVerticalScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;)I
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->createLayoutState()Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->ensureLayoutState()V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->fill(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->findFirstVisibleChildClosestToEnd(ZZ)Landroid/view/View;
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->findFirstVisibleChildClosestToStart(ZZ)Landroid/view/View;
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->findFirstVisibleItemPosition()I
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->findLastVisibleItemPosition()I
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->findOneVisibleChild(IIZZ)Landroid/view/View;
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->fixLayoutEndGap(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->fixLayoutStartGap(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->getChildClosestToEnd()Landroid/view/View;
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->getExtraLayoutSpace(Landroidx/recyclerview/widget/RecyclerView$State;)I
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->isAutoMeasureEnabled()Z
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->isLayoutRTL()Z
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->layoutChunk(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->layoutForPredictiveAnimations(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->onAnchorReady(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;I)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->onInitializeAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->onLayoutCompleted(Landroidx/recyclerview/widget/RecyclerView$State;)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->recycleByLayoutState(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->recycleChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;II)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->recycleViewsFromStart(Landroidx/recyclerview/widget/RecyclerView$Recycler;II)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->resolveIsInfinite()Z
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->resolveShouldLayoutReverse()V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->scrollBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->scrollVerticallyBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->setOrientation(I)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->setReverseLayout(Z)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->setStackFromEnd(Z)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->supportsPredictiveItemAnimations()Z
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->updateAnchorFromChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;)Z
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->updateAnchorFromPendingData(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;)Z
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->updateAnchorInfoForLayout(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->updateLayoutState(IIZLandroidx/recyclerview/widget/RecyclerView$State;)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->updateLayoutStateToFillEnd(II)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->updateLayoutStateToFillEnd(Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->updateLayoutStateToFillStart(II)V
+HSPLandroidx/recyclerview/widget/LinearLayoutManager;->updateLayoutStateToFillStart(Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;)V
+HSPLandroidx/recyclerview/widget/ListAdapter$1;-><init>(Landroidx/recyclerview/widget/ListAdapter;)V
+HSPLandroidx/recyclerview/widget/ListAdapter$1;->onCurrentListChanged(Ljava/util/List;Ljava/util/List;)V
+HSPLandroidx/recyclerview/widget/ListAdapter;-><init>(Landroidx/recyclerview/widget/AsyncDifferConfig;)V
+HSPLandroidx/recyclerview/widget/ListAdapter;->getItem(I)Ljava/lang/Object;
+HSPLandroidx/recyclerview/widget/ListAdapter;->getItemCount()I
+HSPLandroidx/recyclerview/widget/ListAdapter;->onCurrentListChanged(Ljava/util/List;Ljava/util/List;)V
+HSPLandroidx/recyclerview/widget/ListAdapter;->submitList(Ljava/util/List;)V
+HSPLandroidx/recyclerview/widget/OpReorderer;-><init>(Landroidx/recyclerview/widget/OpReorderer$Callback;)V
+HSPLandroidx/recyclerview/widget/OpReorderer;->getLastMoveOutOfOrder(Ljava/util/List;)I
+HSPLandroidx/recyclerview/widget/OpReorderer;->reorderOps(Ljava/util/List;)V
+HSPLandroidx/recyclerview/widget/OrientationHelper$2;-><init>(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V
+HSPLandroidx/recyclerview/widget/OrientationHelper$2;->getDecoratedEnd(Landroid/view/View;)I
+HSPLandroidx/recyclerview/widget/OrientationHelper$2;->getDecoratedMeasurement(Landroid/view/View;)I
+HSPLandroidx/recyclerview/widget/OrientationHelper$2;->getDecoratedMeasurementInOther(Landroid/view/View;)I
+HSPLandroidx/recyclerview/widget/OrientationHelper$2;->getDecoratedStart(Landroid/view/View;)I
+HSPLandroidx/recyclerview/widget/OrientationHelper$2;->getEndAfterPadding()I
+HSPLandroidx/recyclerview/widget/OrientationHelper$2;->getEndPadding()I
+HSPLandroidx/recyclerview/widget/OrientationHelper$2;->getMode()I
+HSPLandroidx/recyclerview/widget/OrientationHelper$2;->getStartAfterPadding()I
+HSPLandroidx/recyclerview/widget/OrientationHelper$2;->getTotalSpace()I
+HSPLandroidx/recyclerview/widget/OrientationHelper$2;->getTransformedEndWithDecoration(Landroid/view/View;)I
+HSPLandroidx/recyclerview/widget/OrientationHelper$2;->offsetChildren(I)V
+HSPLandroidx/recyclerview/widget/OrientationHelper;-><init>(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V
+HSPLandroidx/recyclerview/widget/OrientationHelper;-><init>(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;Landroidx/recyclerview/widget/OrientationHelper$1;)V
+HSPLandroidx/recyclerview/widget/OrientationHelper;->createOrientationHelper(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;I)Landroidx/recyclerview/widget/OrientationHelper;
+HSPLandroidx/recyclerview/widget/OrientationHelper;->createVerticalHelper(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)Landroidx/recyclerview/widget/OrientationHelper;
+HSPLandroidx/recyclerview/widget/OrientationHelper;->onLayoutComplete()V
+HSPLandroidx/recyclerview/widget/RecyclerView$1;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$2;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$2;->run()V
+HSPLandroidx/recyclerview/widget/RecyclerView$3;-><init>()V
+HSPLandroidx/recyclerview/widget/RecyclerView$4;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$4;->processAppeared(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$5;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$5;->addView(Landroid/view/View;I)V
+HSPLandroidx/recyclerview/widget/RecyclerView$5;->getChildAt(I)Landroid/view/View;
+HSPLandroidx/recyclerview/widget/RecyclerView$5;->getChildCount()I
+HSPLandroidx/recyclerview/widget/RecyclerView$5;->indexOfChild(Landroid/view/View;)I
+HSPLandroidx/recyclerview/widget/RecyclerView$5;->removeAllViews()V
+HSPLandroidx/recyclerview/widget/RecyclerView$5;->removeViewAt(I)V
+HSPLandroidx/recyclerview/widget/RecyclerView$6;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$6;->dispatchUpdate(Landroidx/recyclerview/widget/AdapterHelper$UpdateOp;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$6;->offsetPositionsForAdd(II)V
+HSPLandroidx/recyclerview/widget/RecyclerView$6;->onDispatchSecondPass(Landroidx/recyclerview/widget/AdapterHelper$UpdateOp;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$Adapter$StateRestorationPolicy;-><clinit>()V
+HSPLandroidx/recyclerview/widget/RecyclerView$Adapter$StateRestorationPolicy;-><init>(Ljava/lang/String;I)V
+HSPLandroidx/recyclerview/widget/RecyclerView$Adapter;-><init>()V
+HSPLandroidx/recyclerview/widget/RecyclerView$Adapter;->bindViewHolder(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)V
+HSPLandroidx/recyclerview/widget/RecyclerView$Adapter;->createViewHolder(Landroid/view/ViewGroup;I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
+HSPLandroidx/recyclerview/widget/RecyclerView$Adapter;->getItemViewType(I)I
+HSPLandroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
+HSPLandroidx/recyclerview/widget/RecyclerView$Adapter;->notifyItemRangeInserted(II)V
+HSPLandroidx/recyclerview/widget/RecyclerView$Adapter;->onAttachedToRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$Adapter;->onBindViewHolder(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;ILjava/util/List;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$Adapter;->onViewAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$Adapter;->onViewDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$Adapter;->onViewRecycled(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$Adapter;->registerAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$AdapterDataObservable;-><init>()V
+HSPLandroidx/recyclerview/widget/RecyclerView$AdapterDataObservable;->notifyItemRangeInserted(II)V
+HSPLandroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;-><init>()V
+HSPLandroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;-><init>()V
+HSPLandroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;-><init>()V
+HSPLandroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;->setFrom(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
+HSPLandroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;->setFrom(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
+HSPLandroidx/recyclerview/widget/RecyclerView$ItemAnimator;-><init>()V
+HSPLandroidx/recyclerview/widget/RecyclerView$ItemAnimator;->dispatchAnimationFinished(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$ItemAnimator;->dispatchAnimationsFinished()V
+HSPLandroidx/recyclerview/widget/RecyclerView$ItemAnimator;->getAddDuration()J
+HSPLandroidx/recyclerview/widget/RecyclerView$ItemAnimator;->obtainHolderInfo()Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
+HSPLandroidx/recyclerview/widget/RecyclerView$ItemAnimator;->onAnimationFinished(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$ItemAnimator;->recordPostLayoutInformation(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
+HSPLandroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener;->onAnimationFinished(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager$1;-><init>(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager$2;-><init>(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager$2;->getChildAt(I)Landroid/view/View;
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager$2;->getChildEnd(Landroid/view/View;)I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager$2;->getChildStart(Landroid/view/View;)I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager$2;->getParentEnd()I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager$2;->getParentStart()I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager$Properties;-><init>()V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;-><init>()V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->addView(Landroid/view/View;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->addView(Landroid/view/View;I)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->addViewInt(Landroid/view/View;IZ)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->checkLayoutParams(Landroidx/recyclerview/widget/RecyclerView$LayoutParams;)Z
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->chooseSize(III)I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->detachAndScrapAttachedViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateLayoutParams(Landroid/content/Context;Landroid/util/AttributeSet;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getBottomDecorationHeight(Landroid/view/View;)I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getChildCount()I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getChildMeasureSpec(IIIIZ)I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getColumnCountForAccessibility(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getDecoratedBottom(Landroid/view/View;)I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getDecoratedMeasuredHeight(Landroid/view/View;)I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getDecoratedMeasuredWidth(Landroid/view/View;)I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getDecoratedTop(Landroid/view/View;)I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getFocusedChild()Landroid/view/View;
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getHeight()I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getHeightMode()I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getLayoutDirection()I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getPaddingBottom()I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getPaddingLeft()I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getPaddingRight()I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getPaddingTop()I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getProperties(Landroid/content/Context;Landroid/util/AttributeSet;II)Landroidx/recyclerview/widget/RecyclerView$LayoutManager$Properties;
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getRowCountForAccessibility(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getSelectionModeForAccessibility(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getTopDecorationHeight(Landroid/view/View;)I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getTransformedBoundingBox(Landroid/view/View;ZLandroid/graphics/Rect;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getWidth()I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->getWidthMode()I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->isItemPrefetchEnabled()Z
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->isLayoutHierarchical(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Z
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->layoutDecoratedWithMargins(Landroid/view/View;IIII)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->measureChildWithMargins(Landroid/view/View;II)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->offsetChildrenVertical(I)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->onAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->onInitializeAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->onInitializeAccessibilityEvent(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Landroid/view/accessibility/AccessibilityEvent;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->onInitializeAccessibilityNodeInfo(Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->onInitializeAccessibilityNodeInfo(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->onInitializeAccessibilityNodeInfoForItem(Landroid/view/View;Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->onInitializeAccessibilityNodeInfoForItem(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Landroid/view/View;Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->onItemsAdded(Landroidx/recyclerview/widget/RecyclerView;II)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutCompleted(Landroidx/recyclerview/widget/RecyclerView$State;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->onScrollStateChanged(I)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleViewAt(ILandroidx/recyclerview/widget/RecyclerView$Recycler;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeViewAt(I)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->requestLayout()V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasureSpecs(II)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->shouldMeasureChild(Landroid/view/View;IILandroidx/recyclerview/widget/RecyclerView$LayoutParams;)Z
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->stopSmoothScroller()V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutParams;->getViewLayoutPosition()I
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutParams;->isItemChanged()Z
+HSPLandroidx/recyclerview/widget/RecyclerView$LayoutParams;->isItemRemoved()Z
+HSPLandroidx/recyclerview/widget/RecyclerView$OnScrollListener;-><init>()V
+HSPLandroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrollStateChanged(Landroidx/recyclerview/widget/RecyclerView;I)V
+HSPLandroidx/recyclerview/widget/RecyclerView$RecycledViewPool$ScrapData;-><init>()V
+HSPLandroidx/recyclerview/widget/RecyclerView$RecycledViewPool;-><init>()V
+HSPLandroidx/recyclerview/widget/RecyclerView$RecycledViewPool;->attach()V
+HSPLandroidx/recyclerview/widget/RecyclerView$RecycledViewPool;->clear()V
+HSPLandroidx/recyclerview/widget/RecyclerView$RecycledViewPool;->factorInBindTime(IJ)V
+HSPLandroidx/recyclerview/widget/RecyclerView$RecycledViewPool;->factorInCreateTime(IJ)V
+HSPLandroidx/recyclerview/widget/RecyclerView$RecycledViewPool;->getRecycledView(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
+HSPLandroidx/recyclerview/widget/RecyclerView$RecycledViewPool;->getScrapDataForType(I)Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool$ScrapData;
+HSPLandroidx/recyclerview/widget/RecyclerView$RecycledViewPool;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;Z)V
+HSPLandroidx/recyclerview/widget/RecyclerView$RecycledViewPool;->putRecycledView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$RecycledViewPool;->runningAverage(JJ)J
+HSPLandroidx/recyclerview/widget/RecyclerView$RecycledViewPool;->willBindInTime(IJJ)Z
+HSPLandroidx/recyclerview/widget/RecyclerView$RecycledViewPool;->willCreateInTime(IJJ)Z
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->addViewHolderToRecycledViewPool(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Z)V
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->attachAccessibilityDelegateOnBind(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->clearOldPositions()V
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->clearScrap()V
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->dispatchViewRecycled(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->getRecycledViewPool()Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->getScrapCount()I
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->getScrapList()Ljava/util/List;
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->getScrapOrHiddenOrCachedHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->getViewForPosition(I)Landroid/view/View;
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->getViewForPosition(IZ)Landroid/view/View;
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->markItemDecorInsetsDirty()V
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->markKnownViewsInvalid()V
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForInsert(II)V
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;Z)V
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->recycleAndClearCachedViews()V
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->recycleCachedViewAt(I)V
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->recycleView(Landroid/view/View;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->recycleViewHolderInternal(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->tryBindViewHolderByDeadline(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;IIJ)Z
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->tryGetViewHolderForPositionByDeadline(IZJ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->updateViewCacheSize()V
+HSPLandroidx/recyclerview/widget/RecyclerView$Recycler;->validateViewHolderForOffsetPosition(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
+HSPLandroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;->onItemRangeInserted(II)V
+HSPLandroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;->triggerUpdateProcessor()V
+HSPLandroidx/recyclerview/widget/RecyclerView$State;-><init>()V
+HSPLandroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V
+HSPLandroidx/recyclerview/widget/RecyclerView$State;->getItemCount()I
+HSPLandroidx/recyclerview/widget/RecyclerView$State;->hasTargetScrollPosition()Z
+HSPLandroidx/recyclerview/widget/RecyclerView$State;->isPreLayout()Z
+HSPLandroidx/recyclerview/widget/RecyclerView$State;->willRunPredictiveAnimations()Z
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewFlinger;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewFlinger;->fling(II)V
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewFlinger;->internalPostOnAnimation()V
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewFlinger;->postOnAnimation()V
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewFlinger;->run()V
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewFlinger;->stop()V
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;-><clinit>()V
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;-><init>(Landroid/view/View;)V
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->clearPayload()V
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->doesTransientStatePreventRecycling()Z
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemViewType()I
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List;
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->hasAnyOfTheFlags(I)Z
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->isAttachedToTransitionOverlay()Z
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->isBound()Z
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->isInvalid()Z
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRecyclable()Z
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->isScrap()Z
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->isTmpDetached()Z
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->needsUpdate()Z
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->resetInternal()V
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->setFlags(II)V
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldBeKeptAsChild()Z
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
+HSPLandroidx/recyclerview/widget/RecyclerView$ViewHolder;->wasReturnedFromScrap()Z
+HSPLandroidx/recyclerview/widget/RecyclerView;-><clinit>()V
+HSPLandroidx/recyclerview/widget/RecyclerView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroidx/recyclerview/widget/RecyclerView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->absorbGlows(II)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->access$200(Landroidx/recyclerview/widget/RecyclerView;)Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->addOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->animateAppearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->clearNestedRecyclerViewIfNotNested(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->computeHorizontalScrollExtent()I
+HSPLandroidx/recyclerview/widget/RecyclerView;->computeHorizontalScrollOffset()I
+HSPLandroidx/recyclerview/widget/RecyclerView;->computeHorizontalScrollRange()I
+HSPLandroidx/recyclerview/widget/RecyclerView;->computeVerticalScrollExtent()I
+HSPLandroidx/recyclerview/widget/RecyclerView;->computeVerticalScrollOffset()I
+HSPLandroidx/recyclerview/widget/RecyclerView;->computeVerticalScrollRange()I
+HSPLandroidx/recyclerview/widget/RecyclerView;->considerReleasingGlowsOnScroll(II)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->createLayoutManager(Landroid/content/Context;Ljava/lang/String;Landroid/util/AttributeSet;II)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->defaultOnMeasure(II)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->didChildRangeChange(II)Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->dispatchChildAttached(Landroid/view/View;)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->dispatchChildDetached(Landroid/view/View;)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->dispatchContentChangedIfNecessary()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep3()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->dispatchNestedFling(FFZ)Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreFling(FF)Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreScroll(II[I[II)Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->dispatchNestedScroll(IIII[II[I)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->dispatchOnScrollStateChanged(I)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->dispatchPendingImportantForAccessibilityChanges()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->dispatchToOnItemTouchListeners(Landroid/view/MotionEvent;)Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->draw(Landroid/graphics/Canvas;)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->findNestedRecyclerView(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView;
+HSPLandroidx/recyclerview/widget/RecyclerView;->fling(II)Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
+HSPLandroidx/recyclerview/widget/RecyclerView;->getAccessibilityClassName()Ljava/lang/CharSequence;
+HSPLandroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
+HSPLandroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
+HSPLandroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
+HSPLandroidx/recyclerview/widget/RecyclerView;->getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroidx/recyclerview/widget/RecyclerView;->getItemDecorInsetsForChild(Landroid/view/View;)Landroid/graphics/Rect;
+HSPLandroidx/recyclerview/widget/RecyclerView;->getLayoutManager()Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
+HSPLandroidx/recyclerview/widget/RecyclerView;->getNanoTime()J
+HSPLandroidx/recyclerview/widget/RecyclerView;->getScrollState()I
+HSPLandroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
+HSPLandroidx/recyclerview/widget/RecyclerView;->hasPendingAdapterUpdates()Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->initAdapterManager()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->initAutofill()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->initChildrenHelper()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->isAccessibilityEnabled()Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->isAttachedToWindow()Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->markKnownViewsInvalid()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->offsetChildrenVertical(I)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->offsetPositionRecordsForInsert(II)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->onAttachedToWindow()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->onChildAttachedToWindow(Landroid/view/View;)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->onChildDetachedFromWindow(Landroid/view/View;)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->onDraw(Landroid/graphics/Canvas;)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll(Z)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->onLayout(ZIIII)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->onMeasure(II)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->onScrollStateChanged(I)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->onScrolled(II)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->onSizeChanged(IIII)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->onTouchEvent(Landroid/view/MotionEvent;)Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->pullGlows(FFFF)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->recoverFocusFromState()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->releaseGlows()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->removeAndRecycleViews()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->removeAnimatingView(Landroid/view/View;)Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->repositionShadowingViews()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->requestLayout()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->resetScroll()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->saveFocusInfo()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->saveOldPositions()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;I)Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->scrollStep(II[I)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->setAccessibilityDelegateCompat(Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->setAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->setNestedScrollingEnabled(Z)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->shouldDeferAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
+HSPLandroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->stopNestedScroll()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
+HSPLandroidx/recyclerview/widget/RecyclerView;->stopScroll()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V
+HSPLandroidx/recyclerview/widget/RecyclerView;->suppressLayout(Z)V
+HSPLandroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate$ItemDelegate;-><init>(Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;)V
+HSPLandroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate$ItemDelegate;->getAccessibilityNodeProvider(Landroid/view/View;)Landroidx/core/view/accessibility/AccessibilityNodeProviderCompat;
+HSPLandroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate$ItemDelegate;->getAndRemoveOriginalDelegateForItem(Landroid/view/View;)Landroidx/core/view/AccessibilityDelegateCompat;
+HSPLandroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate$ItemDelegate;->onInitializeAccessibilityNodeInfo(Landroid/view/View;Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;)V
+HSPLandroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate$ItemDelegate;->saveOriginalDelegate(Landroid/view/View;)V
+HSPLandroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
+HSPLandroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;->getItemDelegate()Landroidx/core/view/AccessibilityDelegateCompat;
+HSPLandroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;->onInitializeAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V
+HSPLandroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;->onInitializeAccessibilityNodeInfo(Landroid/view/View;Landroidx/core/view/accessibility/AccessibilityNodeInfoCompat;)V
+HSPLandroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;->shouldIgnore()Z
+HSPLandroidx/recyclerview/widget/ScrollbarHelper;->computeScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/OrientationHelper;Landroid/view/View;Landroid/view/View;Landroidx/recyclerview/widget/RecyclerView$LayoutManager;Z)I
+HSPLandroidx/recyclerview/widget/ScrollbarHelper;->computeScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/OrientationHelper;Landroid/view/View;Landroid/view/View;Landroidx/recyclerview/widget/RecyclerView$LayoutManager;ZZ)I
+HSPLandroidx/recyclerview/widget/ScrollbarHelper;->computeScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/OrientationHelper;Landroid/view/View;Landroid/view/View;Landroidx/recyclerview/widget/RecyclerView$LayoutManager;Z)I
+HSPLandroidx/recyclerview/widget/SimpleItemAnimator;-><init>()V
+HSPLandroidx/recyclerview/widget/SimpleItemAnimator;->animateAppearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)Z
+HSPLandroidx/recyclerview/widget/SimpleItemAnimator;->dispatchAddFinished(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/SimpleItemAnimator;->dispatchAddStarting(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/SimpleItemAnimator;->onAddFinished(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/SimpleItemAnimator;->onAddStarting(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/ViewBoundsCheck$BoundFlags;-><init>()V
+HSPLandroidx/recyclerview/widget/ViewBoundsCheck$BoundFlags;->addFlags(I)V
+HSPLandroidx/recyclerview/widget/ViewBoundsCheck$BoundFlags;->boundsMatch()Z
+HSPLandroidx/recyclerview/widget/ViewBoundsCheck$BoundFlags;->compare(II)I
+HSPLandroidx/recyclerview/widget/ViewBoundsCheck$BoundFlags;->resetFlags()V
+HSPLandroidx/recyclerview/widget/ViewBoundsCheck$BoundFlags;->setBounds(IIII)V
+HSPLandroidx/recyclerview/widget/ViewBoundsCheck;-><init>(Landroidx/recyclerview/widget/ViewBoundsCheck$Callback;)V
+HSPLandroidx/recyclerview/widget/ViewBoundsCheck;->findOneViewWithinBoundFlags(IIII)Landroid/view/View;
+HSPLandroidx/recyclerview/widget/ViewInfoStore$InfoRecord;-><clinit>()V
+HSPLandroidx/recyclerview/widget/ViewInfoStore$InfoRecord;-><init>()V
+HSPLandroidx/recyclerview/widget/ViewInfoStore$InfoRecord;->obtain()Landroidx/recyclerview/widget/ViewInfoStore$InfoRecord;
+HSPLandroidx/recyclerview/widget/ViewInfoStore$InfoRecord;->recycle(Landroidx/recyclerview/widget/ViewInfoStore$InfoRecord;)V
+HSPLandroidx/recyclerview/widget/ViewInfoStore;-><init>()V
+HSPLandroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
+HSPLandroidx/recyclerview/widget/ViewInfoStore;->clear()V
+HSPLandroidx/recyclerview/widget/ViewInfoStore;->getFromOldChangeHolders(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
+HSPLandroidx/recyclerview/widget/ViewInfoStore;->process(Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;)V
+HSPLandroidx/recyclerview/widget/ViewInfoStore;->removeFromDisappearedInLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+HSPLandroidx/recyclerview/widget/ViewInfoStore;->removeViewHolder(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
+PLandroidx/recyclerview/widget/GapWorker;->remove(Landroidx/recyclerview/widget/RecyclerView;)V
+PLandroidx/recyclerview/widget/LinearLayoutManager$SavedState$1;-><init>()V
+PLandroidx/recyclerview/widget/LinearLayoutManager$SavedState;-><clinit>()V
+PLandroidx/recyclerview/widget/LinearLayoutManager$SavedState;-><init>()V
+PLandroidx/recyclerview/widget/LinearLayoutManager;->getChildClosestToStart()Landroid/view/View;
+PLandroidx/recyclerview/widget/LinearLayoutManager;->onDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
+PLandroidx/recyclerview/widget/LinearLayoutManager;->onSaveInstanceState()Landroid/os/Parcelable;
+PLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
+PLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->onDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;)V
+PLandroidx/recyclerview/widget/RecyclerView$LayoutManager;->onDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
+PLandroidx/recyclerview/widget/RecyclerView$SavedState$1;-><init>()V
+PLandroidx/recyclerview/widget/RecyclerView$SavedState;-><clinit>()V
+PLandroidx/recyclerview/widget/RecyclerView$SavedState;-><init>(Landroid/os/Parcelable;)V
+PLandroidx/recyclerview/widget/RecyclerView;->dispatchSaveInstanceState(Landroid/util/SparseArray;)V
+PLandroidx/recyclerview/widget/RecyclerView;->onDetachedFromWindow()V
+PLandroidx/recyclerview/widget/RecyclerView;->onSaveInstanceState()Landroid/os/Parcelable;
+PLandroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate$ItemDelegate;->onInitializeAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V
+PLandroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate$ItemDelegate;->sendAccessibilityEventUnchecked(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V
+PLandroidx/recyclerview/widget/ViewInfoStore$InfoRecord;->drainCache()V
+PLandroidx/recyclerview/widget/ViewInfoStore;->onDetach()V
diff --git a/remotecallback/processor/lint-baseline.xml b/remotecallback/processor/lint-baseline.xml
index c191b4f..dcf7dac 100644
--- a/remotecallback/processor/lint-baseline.xml
+++ b/remotecallback/processor/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="BanSynchronizedMethods"
diff --git a/remotecallback/remotecallback/lint-baseline.xml b/remotecallback/remotecallback/lint-baseline.xml
index 7e104d2..dc69a07 100644
--- a/remotecallback/remotecallback/lint-baseline.xml
+++ b/remotecallback/remotecallback/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
         id="WrongConstant"
diff --git a/resourceinspection/resourceinspection-annotation/lint-baseline.xml b/resourceinspection/resourceinspection-annotation/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/resourceinspection/resourceinspection-annotation/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/resourceinspection/resourceinspection-processor/lint-baseline.xml b/resourceinspection/resourceinspection-processor/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/resourceinspection/resourceinspection-processor/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/room/benchmark/lint-baseline.xml b/room/benchmark/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/room/benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/room/integration-tests/autovaluetestapp/lint-baseline.xml b/room/integration-tests/autovaluetestapp/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/room/integration-tests/autovaluetestapp/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/room/integration-tests/incremental-annotation-processing/lint-baseline.xml b/room/integration-tests/incremental-annotation-processing/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/room/integration-tests/incremental-annotation-processing/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/room/integration-tests/kotlintestapp/lint-baseline.xml b/room/integration-tests/kotlintestapp/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/room/integration-tests/kotlintestapp/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/room/integration-tests/noappcompattestapp/lint-baseline.xml b/room/integration-tests/noappcompattestapp/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/room/integration-tests/noappcompattestapp/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/test/CustomFTSTokenizerTest.java b/room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/test/CustomFTSTokenizerTest.java
index 5b6a1cf..cd614ed 100644
--- a/room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/test/CustomFTSTokenizerTest.java
+++ b/room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/test/CustomFTSTokenizerTest.java
@@ -20,6 +20,7 @@
 import androidx.room.Database;
 import androidx.room.Entity;
 import androidx.room.Fts4;
+import androidx.room.FtsOptions;
 import androidx.room.Query;
 import androidx.room.RoomDatabase;
 
@@ -29,7 +30,11 @@
  */
 public class CustomFTSTokenizerTest {
 
-    @Database(entities = TheEntity.class, version = 1, exportSchema = false)
+    @Database(
+            entities = {TheEntity.class, TheEntityWithICU.class},
+            version = 1,
+            exportSchema = false
+    )
     abstract static class CustomTokDatabase extends RoomDatabase  {
         public abstract TheDao getDao();
     }
@@ -40,6 +45,13 @@
         public String data;
     }
 
+    // For b/201753224
+    @Entity
+    @Fts4(tokenizer = FtsOptions.TOKENIZER_ICU)
+    static class TheEntityWithICU {
+        public String data;
+    }
+
     @Dao
     interface TheDao {
         @Query("SELECT * FROM TheEntity WHERE data MATCH :term")
diff --git a/room/room-common/lint-baseline.xml b/room/room-common/lint-baseline.xml
index 0a8c684..c4d1128 100644
--- a/room/room-common/lint-baseline.xml
+++ b/room/room-common/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="UnknownNullness"
diff --git a/room/room-compiler-processing-testing/lint-baseline.xml b/room/room-compiler-processing-testing/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/room/room-compiler-processing-testing/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/room/room-compiler-processing/lint-baseline.xml b/room/room-compiler-processing/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/room/room-compiler-processing/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableElementTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableElementTest.kt
index 0985b25..667b630 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableElementTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableElementTest.kt
@@ -37,7 +37,6 @@
 import org.junit.runners.JUnit4
 import java.io.File
 import java.io.IOException
-import java.lang.IllegalStateException
 
 @RunWith(JUnit4::class)
 class XExecutableElementTest {
@@ -913,30 +912,31 @@
                     }
                 }
             }
-            // TODO
-            // add lib here once https://github.com/google/ksp/issues/507 is fixed
-            // also need https://github.com/google/ksp/issues/505 to be fixed for accessors.
-            listOf("app").forEach { pkg ->
+            listOf("app", "lib").forEach { pkg ->
+                val expectedConstructor =
+                    "<init>" to setOf(ClassName.get(IllegalArgumentException::class.java))
+                val expectedMethod = "multipleThrows" to setOf(
+                    ClassName.get(IOException::class.java),
+                    ClassName.get(IllegalStateException::class.java)
+                )
                 invocation.processingEnv.requireTypeElement("$pkg.KotlinSubject").let { subject ->
                     assertWithMessage(subject.qualifiedName).that(
                         collectExceptions(subject)
                     ).containsExactly(
-                        "<init>" to setOf(ClassName.get(IllegalArgumentException::class.java)),
-                        "multipleThrows" to setOf(
-                            ClassName.get(IOException::class.java),
-                            ClassName.get(IllegalStateException::class.java)
-                        )
+                        expectedConstructor, expectedMethod
                     )
                 }
                 invocation.processingEnv.requireTypeElement("$pkg.JavaSubject").let { subject ->
                     assertWithMessage(subject.qualifiedName).that(
                         collectExceptions(subject)
-                    ).containsExactly(
-                        "<init>" to setOf(ClassName.get(IllegalArgumentException::class.java)),
-                        "multipleThrows" to setOf(
-                            ClassName.get(IOException::class.java),
-                            ClassName.get(IllegalStateException::class.java)
-                        )
+                    ).containsExactlyElementsIn(
+                        listOfNotNull(
+                            expectedConstructor.takeIf {
+                                // TODO https://github.com/google/ksp/issues/507
+                                !invocation.isKsp || pkg != "lib"
+                            },
+                            expectedMethod
+                        ),
                     )
                 }
                 invocation.processingEnv.requireTypeElement("$pkg.KotlinAccessors").let { subject ->
diff --git a/room/room-compiler/lint-baseline.xml b/room/room-compiler/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/room/room-compiler/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/FtsOptions.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/FtsOptions.kt
index 1116845..5f9f48f 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/FtsOptions.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/FtsOptions.kt
@@ -98,7 +98,10 @@
         val defaultTokenizers = listOf(
             androidx.room.FtsOptions.TOKENIZER_SIMPLE,
             androidx.room.FtsOptions.TOKENIZER_PORTER,
-            androidx.room.FtsOptions.TOKENIZER_ICU,
+            // Even though ICU is one of the default tokenizer in Room's API and in Android, the
+            // SQLite JDBC library is not compiled with ICU turned ON and Room will fail to create
+            // the table, therefore treat it as a custom tokenizer. b/201753224
+            // androidx.room.FtsOptions.TOKENIZER_ICU,
             androidx.room.FtsOptions.TOKENIZER_UNICODE61
         )
     }
diff --git a/room/room-guava/lint-baseline.xml b/room/room-guava/lint-baseline.xml
index c15105a..0e4b9ae 100644
--- a/room/room-guava/lint-baseline.xml
+++ b/room/room-guava/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="LambdaLast"
diff --git a/room/room-ktx/lint-baseline.xml b/room/room-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/room/room-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/room/room-migration/lint-baseline.xml b/room/room-migration/lint-baseline.xml
index 14aff98..9b4872f 100644
--- a/room/room-migration/lint-baseline.xml
+++ b/room/room-migration/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha06" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-alpha06)" variant="all" version="7.1.0-alpha06">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="UnknownNullness"
diff --git a/room/room-paging/lint-baseline.xml b/room/room-paging/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/room/room-paging/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/room/room-runtime/lint-baseline.xml b/room/room-runtime/lint-baseline.xml
index ba13df3..4ee7e4b 100644
--- a/room/room-runtime/lint-baseline.xml
+++ b/room/room-runtime/lint-baseline.xml
@@ -1761,4 +1761,26 @@
             column="65"/>
     </issue>
 
+    <issue
+        id="UnsafeOptInUsageError"
+        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.room.ExperimentalRoomApi&apos; or &apos;@OptIn(markerClass = androidx.room.ExperimentalRoomApi.class)&apos;"
+        errorLine1="                MultiInstanceInvalidationService.class) : null,"
+        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/room/DatabaseConfiguration.java"
+            line="513"
+            column="17"/>
+    </issue>
+
+    <issue
+        id="UnsafeOptInUsageError"
+        message="This declaration is opt-in and its usage should be marked with&#xA;&apos;@androidx.room.ExperimentalRoomApi&apos; or &apos;@OptIn(markerClass = androidx.room.ExperimentalRoomApi.class)&apos;"
+        errorLine1="                    MultiInstanceInvalidationService.class) : null;"
+        errorLine2="                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/room/RoomDatabase.java"
+            line="1172"
+            column="21"/>
+    </issue>
+
 </issues>
diff --git a/room/room-rxjava2/lint-baseline.xml b/room/room-rxjava2/lint-baseline.xml
index 4f6c3a1..f3c7d016d 100644
--- a/room/room-rxjava2/lint-baseline.xml
+++ b/room/room-rxjava2/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="PrivateConstructorForUtilityClass"
diff --git a/room/room-rxjava3/lint-baseline.xml b/room/room-rxjava3/lint-baseline.xml
index b4eb77e..bf4b6c3 100644
--- a/room/room-rxjava3/lint-baseline.xml
+++ b/room/room-rxjava3/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="NewApi"
diff --git a/room/room-testing/lint-baseline.xml b/room/room-testing/lint-baseline.xml
index 4884c7f..47cc951 100644
--- a/room/room-testing/lint-baseline.xml
+++ b/room/room-testing/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="UnknownNullness"
diff --git a/samples/Support4Demos/lint-baseline.xml b/samples/Support4Demos/lint-baseline.xml
index 4c42104..da3b370 100644
--- a/samples/Support4Demos/lint-baseline.xml
+++ b/samples/Support4Demos/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="WifiManagerLeak"
@@ -136,22 +136,22 @@
     <issue
         id="MetadataTagInsideApplicationTag"
         message="Detected &lt;application>-level meta-data tag."
-        errorLine1="        &lt;meta-data android:name=&quot;com.google.android.gms.car.notification.SmallIcon&quot;"
+        errorLine1="        &lt;meta-data"
         errorLine2="        ^">
         <location
             file="src/main/AndroidManifest.xml"
-            line="454"
+            line="495"
             column="9"/>
     </issue>
 
     <issue
         id="MetadataTagInsideApplicationTag"
         message="Detected &lt;application>-level meta-data tag."
-        errorLine1="        &lt;meta-data android:name=&quot;com.google.android.gms.car.application.theme&quot;"
+        errorLine1="        &lt;meta-data"
         errorLine2="        ^">
         <location
             file="src/main/AndroidManifest.xml"
-            line="462"
+            line="499"
             column="9"/>
     </issue>
 
@@ -4708,7 +4708,7 @@
     <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="        @Override public void deliverResult(List&lt;AppEntry> apps) {"
+        errorLine1="        @Override public void deliverResult(List&lt;AppEntry> data) {"
         errorLine2="                                            ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/com/example/android/supportv4/app/LoaderCustomSupport.java"
@@ -4719,7 +4719,7 @@
     <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="        @Override public void onCanceled(List&lt;AppEntry> apps) {"
+        errorLine1="        @Override public void onCanceled(List&lt;AppEntry> data) {"
         errorLine2="                                         ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/com/example/android/supportv4/app/LoaderCustomSupport.java"
@@ -6402,50 +6402,6 @@
     <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 onCreate(Bundle savedInstanceState) {"
-        errorLine2="                         ~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv4/content/SimpleWakefulController.java"
-            line="36"
-            column="26"/>
-    </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 onReceive(Context context, Intent intent) {"
-        errorLine2="                          ~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv4/content/SimpleWakefulReceiver.java"
-            line="30"
-            column="27"/>
-    </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 onReceive(Context context, Intent intent) {"
-        errorLine2="                                           ~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv4/content/SimpleWakefulReceiver.java"
-            line="30"
-            column="44"/>
-    </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 onHandleIntent(Intent intent) {"
-        errorLine2="                                  ~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv4/content/SimpleWakefulService.java"
-            line="31"
-            column="35"/>
-    </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 onCreate(Bundle savedInstanceState) {"
         errorLine2="                         ~~~~~~">
         <location
diff --git a/samples/Support7Demos/lint-baseline.xml b/samples/Support7Demos/lint-baseline.xml
index c175f48..7c7da20 100644
--- a/samples/Support7Demos/lint-baseline.xml
+++ b/samples/Support7Demos/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="OnClick"
@@ -442,187 +442,11 @@
         errorLine2="                                                     ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/com/example/android/supportv7/media/SampleMediaRouteProvider.java"
-            line="251"
+            line="252"
             column="54"/>
     </issue>
 
     <issue
-        id="ClassVerificationFailure"
-        message="This call references a method added in API level 23; however, the containing class com.example.android.supportv7.media.SampleMediaRouterActivity is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="        if (Build.VERSION.SDK_INT >= 23 &amp;&amp; !Settings.canDrawOverlays(this)) {"
-        errorLine2="                                                     ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="214"
-            column="54"/>
-    </issue>
-
-    <issue
-        id="LongLogTag"
-        message="The logging tag can be at most 23 characters, was 25 (SampleMediaRouterActivity)"
-        errorLine1="            Log.d(TAG, &quot;onRouteAdded: route=&quot; + route);"
-        errorLine2="                  ~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="120"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="LongLogTag"
-        message="The logging tag can be at most 23 characters, was 25 (SampleMediaRouterActivity)"
-        errorLine1="            Log.d(TAG, &quot;onRouteChanged: route=&quot; + route);"
-        errorLine2="                  ~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="125"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="LongLogTag"
-        message="The logging tag can be at most 23 characters, was 25 (SampleMediaRouterActivity)"
-        errorLine1="            Log.d(TAG, &quot;onRouteRemoved: route=&quot; + route);"
-        errorLine2="                  ~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="130"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="LongLogTag"
-        message="The logging tag can be at most 23 characters, was 25 (SampleMediaRouterActivity)"
-        errorLine1="            Log.d(TAG, &quot;onRouteSelected: requestedRoute=&quot; + requestedRoute"
-        errorLine2="                  ~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="136"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="LongLogTag"
-        message="The logging tag can be at most 23 characters, was 25 (SampleMediaRouterActivity)"
-        errorLine1="            Log.d(TAG, &quot;onRouteUnselected: route=&quot; + route);"
-        errorLine2="                  ~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="155"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="LongLogTag"
-        message="The logging tag can be at most 23 characters, was 25 (SampleMediaRouterActivity)"
-        errorLine1="            Log.d(TAG, &quot;onRouteVolumeChanged: route=&quot; + route);"
-        errorLine2="                  ~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="172"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="LongLogTag"
-        message="The logging tag can be at most 23 characters, was 25 (SampleMediaRouterActivity)"
-        errorLine1="            Log.d(TAG, &quot;onRoutePresentationDisplayChanged: route=&quot; + route);"
-        errorLine2="                  ~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="178"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="LongLogTag"
-        message="The logging tag can be at most 23 characters, was 25 (SampleMediaRouterActivity)"
-        errorLine1="            Log.d(TAG, &quot;onRouteProviderAdded: provider=&quot; + provider);"
-        errorLine2="                  ~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="186"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="LongLogTag"
-        message="The logging tag can be at most 23 characters, was 25 (SampleMediaRouterActivity)"
-        errorLine1="            Log.d(TAG, &quot;onRouteProviderRemoved: provider=&quot; + provider);"
-        errorLine2="                  ~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="191"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="LongLogTag"
-        message="The logging tag can be at most 23 characters, was 25 (SampleMediaRouterActivity)"
-        errorLine1="            Log.d(TAG, &quot;onRouteProviderChanged: provider=&quot; + provider);"
-        errorLine2="                  ~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="196"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="LongLogTag"
-        message="The logging tag can be at most 23 characters, was 25 (SampleMediaRouterActivity)"
-        errorLine1="            Log.d(TAG, &quot;onPrepareTransfer: from=&quot; + fromRoute.getId()"
-        errorLine2="                  ~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="233"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="LongLogTag"
-        message="The logging tag can be at most 23 characters, was 25 (SampleMediaRouterActivity)"
-        errorLine1="                    Log.d(TAG, &quot;Received Play/Pause event from RemoteControlClient&quot;);"
-        errorLine2="                          ~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="450"
-            column="27"/>
-    </issue>
-
-    <issue
-        id="LongLogTag"
-        message="The logging tag can be at most 23 characters, was 25 (SampleMediaRouterActivity)"
-        errorLine1="                    Log.d(TAG, &quot;Received Play event from RemoteControlClient&quot;);"
-        errorLine2="                          ~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="460"
-            column="27"/>
-    </issue>
-
-    <issue
-        id="LongLogTag"
-        message="The logging tag can be at most 23 characters, was 25 (SampleMediaRouterActivity)"
-        errorLine1="                    Log.d(TAG, &quot;Received Pause event from RemoteControlClient&quot;);"
-        errorLine2="                          ~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="468"
-            column="27"/>
-    </issue>
-
-    <issue
-        id="LongLogTag"
-        message="The logging tag can be at most 23 characters, was 25 (SampleMediaRouterActivity)"
-        errorLine1="                    Log.d(TAG, &quot;Received Stop event from RemoteControlClient&quot;);"
-        errorLine2="                          ~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="476"
-            column="27"/>
-    </issue>
-
-    <issue
         id="ObsoleteSdkInt"
         message="This folder configuration (`v11`) is unnecessary; `minSdkVersion` is 14. Merge all the resources in this folder into `layout`.">
         <location
@@ -2572,7 +2396,7 @@
         errorLine2="                           ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/com/example/android/supportv7/media/SampleMediaRouteProvider.java"
-            line="336"
+            line="337"
             column="28"/>
     </issue>
 
@@ -2583,403 +2407,7 @@
         errorLine2="                    ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/com/example/android/supportv7/media/SampleMediaRouteProvider.java"
-            line="358"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` method `updateProgress` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="            updateProgress();"
-        errorLine2="            ~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="106"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mHandler` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="            mHandler.postDelayed(this, 1000);"
-        errorLine2="            ~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="108"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mMediaSession` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="            mPlayer = Player.create(SampleMediaRouterActivity.this, selectedRoute, mMediaSession);"
-        errorLine2="                                                                                   ~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="139"
-            column="84"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mPlayer` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="            mPlayer = Player.create(SampleMediaRouterActivity.this, selectedRoute, mMediaSession);"
-        errorLine2="            ~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="139"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mPlayer` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                mPlayer.updatePresentation();"
-        errorLine2="                ~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="141"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mPlayer` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="            mSessionManager.setPlayer(mPlayer);"
-        errorLine2="                                      ~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="143"
-            column="39"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mSessionManager` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="            mSessionManager.setPlayer(mPlayer);"
-        errorLine2="            ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="143"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mSessionManager` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                mSessionManager.stop();"
-        errorLine2="                ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="145"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mSessionManager` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                mSessionManager.unsuspend();"
-        errorLine2="                ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="147"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` method `updateUi` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="            updateUi();"
-        errorLine2="            ~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="150"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mMediaSession` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="            mMediaSession.setActive(false);"
-        errorLine2="            ~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="156"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` method `getCheckedPlaylistItem` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="            PlaylistItem item = getCheckedPlaylistItem();"
-        errorLine2="                                ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="158"
-            column="33"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mSessionManager` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                long pos = item.getPosition() + (mSessionManager.isPaused() ?"
-        errorLine2="                                                 ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="160"
-            column="50"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mSessionManager` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                mSessionManager.suspend(pos);"
-        errorLine2="                ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="162"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mPlayer` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                mPlayer.updatePresentation();"
-        errorLine2="                ~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="165"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mPlayer` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="            mPlayer.release();"
-        errorLine2="            ~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="167"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mPlayer` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                mPlayer.updatePresentation();"
-        errorLine2="                ~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="180"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` method `updateUi` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                updateUi();"
-        errorLine2="                ~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="309"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` method `updateButtons` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                updateButtons();"
-        errorLine2="                ~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="319"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` method `updateButtons` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                updateButtons();"
-        errorLine2="                ~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="329"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mSessionManager` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                if (mSessionManager.isPaused()) {"
-        errorLine2="                    ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="343"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mSessionManager` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                    mSessionManager.resume();"
-        errorLine2="                    ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="344"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mSessionManager` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                    mSessionManager.pause();"
-        errorLine2="                    ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="346"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mSessionManager` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                mSessionManager.stop();"
-        errorLine2="                ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="355"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` method `getCheckedPlaylistItem` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                PlaylistItem item = getCheckedPlaylistItem();"
-        errorLine2="                                    ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="363"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mSessionManager` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                    mSessionManager.seek(item.getItemId(), pos);"
-        errorLine2="                    ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="366"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mSeeking` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                mSeeking = true;"
-        errorLine2="                ~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="373"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mSeeking` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                mSeeking = false;"
-        errorLine2="                ~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="377"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` method `updateUi` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                updateUi();"
-        errorLine2="                ~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="378"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` method `updateUi` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                updateUi();"
-        errorLine2="                ~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="404"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mSessionManager` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                mSessionManager.resume();"
-        errorLine2="                ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="431"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mSessionManager` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                mSessionManager.pause();"
-        errorLine2="                ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="436"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mUseDefaultControlCheckBox` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                return new ControllerDialogFragment(mUseDefaultControlCheckBox);"
-        errorLine2="                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="527"
-            column="53"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mSessionManager` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                        mSessionManager.add(item.mName, item.mUri, item.mMime);"
-        errorLine2="                        ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="694"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mSessionManager` of class `SampleMediaRouterActivity` requires synthetic accessor"
-        errorLine1="                        mSessionManager.remove(item.getItemId());"
-        errorLine2="                        ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="729"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mControllerDialog` of class `ControllerDialogFragment` requires synthetic accessor"
-        errorLine1="                    mControllerDialog = null;"
-        errorLine2="                    ~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="797"
+            line="359"
             column="21"/>
     </issue>
 
@@ -6069,160 +5497,6 @@
         errorLine1="    protected void onCreate(Bundle savedInstanceState) {"
         errorLine2="                            ~~~~~~">
         <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="209"
-            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 boolean handleMediaKey(KeyEvent event) {"
-        errorLine2="                                  ~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="443"
-            column="35"/>
-    </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 onKeyDown(int keyCode, KeyEvent event) {"
-        errorLine2="                                          ~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="488"
-            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="    public boolean onKeyUp(int keyCode, KeyEvent event) {"
-        errorLine2="                                        ~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="493"
-            column="41"/>
-    </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 onCreateOptionsMenu(Menu menu) {"
-        errorLine2="                                       ~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="513"
-            column="40"/>
-    </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 MediaRouterParams getRouterParams() {"
-        errorLine2="           ~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="622"
-            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="        public void setCallback(MediaRouter.Callback cb) {"
-        errorLine2="                                ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="636"
-            column="33"/>
-    </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 MediaRouter.Callback onCreateCallback() {"
-        errorLine2="               ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="641"
-            column="16"/>
-    </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 MediaRouterParams getRouterParams() {"
-        errorLine2="               ~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="757"
-            column="16"/>
-    </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 MediaRouterParams getRouterParams() {"
-        errorLine2="               ~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="769"
-            column="16"/>
-    </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 ControllerDialogFragment(CheckBox customControlViewCheckBox) {"
-        errorLine2="                                        ~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="784"
-            column="41"/>
-    </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 MediaRouteControllerDialog onCreateControllerDialog("
-        errorLine2="               ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="789"
-            column="16"/>
-    </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="                Context context, Bundle savedInstanceState) {"
-        errorLine2="                ~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="790"
-            column="17"/>
-    </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="                Context context, Bundle savedInstanceState) {"
-        errorLine2="                                 ~~~~~~">
-        <location
-            file="src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java"
-            line="790"
-            column="34"/>
-    </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 onCreate(Bundle savedInstanceState) {"
-        errorLine2="                            ~~~~~~">
-        <location
             file="src/main/java/com/example/android/supportv7/app/SearchActivity.java"
             line="32"
             column="29"/>
diff --git a/samples/SupportAnimationDemos/lint-baseline.xml b/samples/SupportAnimationDemos/lint-baseline.xml
index 3038af7..0767cb4 100644
--- a/samples/SupportAnimationDemos/lint-baseline.xml
+++ b/samples/SupportAnimationDemos/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="SyntheticAccessor"
diff --git a/samples/SupportContentDemos/lint-baseline.xml b/samples/SupportContentDemos/lint-baseline.xml
index b0fbc1b..fc93b40 100644
--- a/samples/SupportContentDemos/lint-baseline.xml
+++ b/samples/SupportContentDemos/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="SyntheticAccessor"
diff --git a/samples/SupportEmojiDemos/lint-baseline.xml b/samples/SupportEmojiDemos/lint-baseline.xml
index 1790305..113c78e 100644
--- a/samples/SupportEmojiDemos/lint-baseline.xml
+++ b/samples/SupportEmojiDemos/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="BanSynchronizedMethods"
@@ -35,6 +35,17 @@
     </issue>
 
     <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 14 from the `minSdkVersion`"
+        errorLine1="    @RequiresApi(api = Build.VERSION_CODES.HONEYCOMB)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/com/example/android/support/text/emoji/ConfigLayout.java"
+            line="51"
+            column="5"/>
+    </issue>
+
+    <issue
         id="SyntheticAccessor"
         message="Access to `private` method `read` of class `EmojiRepo` requires synthetic accessor"
         errorLine1="                    read(context);"
@@ -63,22 +74,11 @@
         errorLine2="            ~~~~">
         <location
             file="src/main/java/com/example/android/support/text/emoji/MainFragment.java"
-            line="59"
+            line="75"
             column="13"/>
     </issue>
 
     <issue
-        id="SyntheticAccessor"
-        message="Access to `private` field `mRegularTextView` of class `MainFragment` requires synthetic accessor"
-        errorLine1="                    mRegularTextView.setText("
-        errorLine2="                    ~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/support/text/emoji/MainFragment.java"
-            line="140"
-            column="21"/>
-    </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 ConfigLayout(Context context) {"
@@ -261,7 +261,7 @@
         errorLine2="           ~~~~">
         <location
             file="src/main/java/com/example/android/support/text/emoji/MainFragment.java"
-            line="69"
+            line="85"
             column="12"/>
     </issue>
 
@@ -272,7 +272,7 @@
         errorLine2="                             ~~~~~~~~~~~~~~">
         <location
             file="src/main/java/com/example/android/support/text/emoji/MainFragment.java"
-            line="69"
+            line="85"
             column="30"/>
     </issue>
 
@@ -283,7 +283,7 @@
         errorLine2="                                                      ~~~~~~~~~">
         <location
             file="src/main/java/com/example/android/support/text/emoji/MainFragment.java"
-            line="69"
+            line="85"
             column="55"/>
     </issue>
 
@@ -294,7 +294,7 @@
         errorLine2="            ~~~~~~">
         <location
             file="src/main/java/com/example/android/support/text/emoji/MainFragment.java"
-            line="70"
+            line="86"
             column="13"/>
     </issue>
 
diff --git a/samples/SupportLeanbackDemos/lint-baseline.xml b/samples/SupportLeanbackDemos/lint-baseline.xml
index c80f814..99754c9 100644
--- a/samples/SupportLeanbackDemos/lint-baseline.xml
+++ b/samples/SupportLeanbackDemos/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="MissingSuperCall"
diff --git a/samples/SupportPreferenceDemos/lint-baseline.xml b/samples/SupportPreferenceDemos/lint-baseline.xml
index 03a3611..9ef578c 100644
--- a/samples/SupportPreferenceDemos/lint-baseline.xml
+++ b/samples/SupportPreferenceDemos/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="MissingTvBanner"
diff --git a/samples/SupportRemoteCallbackDemos/lint-baseline.xml b/samples/SupportRemoteCallbackDemos/lint-baseline.xml
index 5ff028e..92d94d92 100644
--- a/samples/SupportRemoteCallbackDemos/lint-baseline.xml
+++ b/samples/SupportRemoteCallbackDemos/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="UnknownNullness"
diff --git a/samples/SupportSliceDemos/lint-baseline.xml b/samples/SupportSliceDemos/lint-baseline.xml
index 9eafe6a..6d63e8d 100644
--- a/samples/SupportSliceDemos/lint-baseline.xml
+++ b/samples/SupportSliceDemos/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="SyntheticAccessor"
diff --git a/samples/SupportTransitionDemos/lint-baseline.xml b/samples/SupportTransitionDemos/lint-baseline.xml
index 9f60414..f0bcc63 100644
--- a/samples/SupportTransitionDemos/lint-baseline.xml
+++ b/samples/SupportTransitionDemos/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="SyntheticAccessor"
diff --git a/samples/SupportWearDemos/lint-baseline.xml b/samples/SupportWearDemos/lint-baseline.xml
index 177b48d..2ea3395 100644
--- a/samples/SupportWearDemos/lint-baseline.xml
+++ b/samples/SupportWearDemos/lint-baseline.xml
@@ -1,5 +1,27 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.LOLLIPOP)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/com/example/android/support/wear/app/CircularProgressLayoutDemo.java"
+            line="37"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.N)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/com/example/android/support/wear/app/RoundedDrawableDemo.java"
+            line="31"
+            column="1"/>
+    </issue>
 
     <issue
         id="SyntheticAccessor"
diff --git a/savedstate/savedstate-ktx/lint-baseline.xml b/savedstate/savedstate-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/savedstate/savedstate-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/savedstate/savedstate/lint-baseline.xml b/savedstate/savedstate/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/savedstate/savedstate/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/security/security-app-authenticator-testing/lint-baseline.xml b/security/security-app-authenticator-testing/lint-baseline.xml
index 4ec6f47..e242baf 100644
--- a/security/security-app-authenticator-testing/lint-baseline.xml
+++ b/security/security-app-authenticator-testing/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
diff --git a/security/security-app-authenticator/lint-baseline.xml b/security/security-app-authenticator/lint-baseline.xml
index 6a0c5d4..0a84107 100644
--- a/security/security-app-authenticator/lint-baseline.xml
+++ b/security/security-app-authenticator/lint-baseline.xml
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                .setPackageCertDigestsForPermission(Set.of(SIGNATURE1_DIGEST), TEST_PERMISSION_NAME)"
         errorLine2="                                                        ~~">
         <location
@@ -14,7 +14,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                .setAllPackagesCertDigestsForPermission(Set.of(SIGNATURE1_DIGEST),"
         errorLine2="                                                            ~~">
         <location
@@ -25,7 +25,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                .setPackageCertDigestsForPermission(Set.of(SIGNATURE2_DIGEST), TEST_PERMISSION_NAME)"
         errorLine2="                                                        ~~">
         <location
@@ -36,7 +36,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                .setAllPackagesCertDigestsForPermission(Set.of(SIGNATURE2_DIGEST),"
         errorLine2="                                                            ~~">
         <location
@@ -47,7 +47,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                .setPackageCertDigestsForPermission(Set.of(SIGNATURE2_DIGEST, SIGNATURE1_DIGEST),"
         errorLine2="                                                        ~~">
         <location
@@ -58,7 +58,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                        Set.of(SIGNATURE2_DIGEST, SIGNATURE1_DIGEST), TEST_PERMISSION_NAME)"
         errorLine2="                            ~~">
         <location
@@ -69,7 +69,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                .setPackageCertDigestsForPermission(Set.of(SIGNATURE1_DIGEST), TEST_PERMISSION_NAME)"
         errorLine2="                                                        ~~">
         <location
@@ -80,7 +80,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                        Set.of(SIGNATURE2_DIGEST), TEST_PERMISSION_NAME)"
         errorLine2="                            ~~">
         <location
@@ -91,7 +91,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                .setPackageCertDigestsForPermission(Set.of(SIGNATURE1_DIGEST), TEST_PERMISSION_NAME)"
         errorLine2="                                                        ~~">
         <location
@@ -102,7 +102,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                .setPackageCertDigestsForPermission(Set.of(SIGNATURE1_DIGEST), TEST_PERMISSION_NAME)"
         errorLine2="                                                        ~~">
         <location
@@ -113,7 +113,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                        Set.of(SIGNATURE1_DIGEST), TEST_PERMISSION_NAME)"
         errorLine2="                            ~~">
         <location
@@ -124,7 +124,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                .setPackageCertDigestsForPermission(Set.of(SIGNATURE2_DIGEST), TEST_PERMISSION_NAME)"
         errorLine2="                                                        ~~">
         <location
@@ -135,7 +135,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                        Set.of(SIGNATURE2_DIGEST), TEST_PERMISSION_NAME)"
         errorLine2="                            ~~">
         <location
@@ -146,7 +146,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 28): `java.util.Set#of`"
         errorLine1="                .setPackageCertDigestsForPermission(Set.of(SIGNATURE2_DIGEST), TEST_PERMISSION_NAME)"
         errorLine2="                                                        ~~">
         <location
@@ -157,7 +157,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 28): `java.util.Set#of`"
         errorLine1="                        Set.of(SIGNATURE2_DIGEST), TEST_PERMISSION_NAME)"
         errorLine2="                            ~~">
         <location
@@ -168,7 +168,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                .setExpectedIdentities(Set.of(SIGNATURE2_DIGEST, SIGNATURE1_DIGEST))"
         errorLine2="                                           ~~">
         <location
@@ -179,7 +179,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                .setExpectedIdentities(Set.of(SIGNATURE2_DIGEST))"
         errorLine2="                                           ~~">
         <location
@@ -190,7 +190,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                        Set.of(SIGNATURE1_DIGEST, SIGNATURE2_DIGEST, SIGNATURE3_DIGEST))"
         errorLine2="                            ~~">
         <location
@@ -201,7 +201,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                .setExpectedIdentities(Set.of(SIGNATURE1_DIGEST, SIGNATURE3_DIGEST))"
         errorLine2="                                           ~~">
         <location
@@ -212,7 +212,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                .setExpectedIdentities(Set.of(SIGNATURE1_DIGEST))"
         errorLine2="                                           ~~">
         <location
@@ -223,7 +223,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                .setExpectedIdentities(Set.of(SIGNATURE2_DIGEST))"
         errorLine2="                                           ~~">
         <location
@@ -234,7 +234,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 28): `java.util.Set#of`"
         errorLine1="                .setExpectedIdentities(Set.of(SIGNATURE2_DIGEST))"
         errorLine2="                                           ~~">
         <location
@@ -245,7 +245,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 28): `java.util.Set#of`"
         errorLine1="                .setExpectedIdentities(Set.of(SIGNATURE2_DIGEST))"
         errorLine2="                                           ~~">
         <location
@@ -256,7 +256,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                .setPackageCertDigestsForPermission(Set.of(SIGNATURE1_DIGEST), TEST_PERMISSION_NAME)"
         errorLine2="                                                        ~~">
         <location
@@ -267,7 +267,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                .setPackageCertDigestsForPermission(Set.of(SIGNATURE2_DIGEST), TEST_PERMISSION_NAME)"
         errorLine2="                                                        ~~">
         <location
@@ -278,7 +278,7 @@
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 14): `java.util.Set#of`"
+        message="Call requires API level 30 (current min is 27): `java.util.Set#of`"
         errorLine1="                .setPackageCertDigestsForPermission(Set.of(SIGNATURE2_DIGEST), TEST_PERMISSION_NAME)"
         errorLine2="                                                        ~~">
         <location
diff --git a/security/security-biometric/lint-baseline.xml b/security/security-biometric/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/security/security-biometric/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/security/security-crypto-ktx/lint-baseline.xml b/security/security-crypto-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/security/security-crypto-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/security/security-crypto/lint-baseline.xml b/security/security-crypto/lint-baseline.xml
index 04f6eb86..77d9246 100644
--- a/security/security-crypto/lint-baseline.xml
+++ b/security/security-crypto/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="BanSynchronizedMethods"
@@ -8,7 +8,7 @@
         errorLine2="        ^">
         <location
             file="src/main/java/androidx/security/crypto/EncryptedFile.java"
-            line="350"
+            line="352"
             column="9"/>
     </issue>
 
@@ -19,7 +19,7 @@
         errorLine2="        ^">
         <location
             file="src/main/java/androidx/security/crypto/EncryptedFile.java"
-            line="355"
+            line="357"
             column="9"/>
     </issue>
 
diff --git a/security/security-identity-credential/lint-baseline.xml b/security/security-identity-credential/lint-baseline.xml
index 04c0516..4ca4e42 100644
--- a/security/security-identity-credential/lint-baseline.xml
+++ b/security/security-identity-credential/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
         id="WrongConstant"
@@ -8,7 +8,7 @@
         errorLine2="                                                                     ~~~~~~">
         <location
             file="src/main/java/androidx/security/identity/HardwareIdentityCredential.java"
-            line="237"
+            line="240"
             column="70"/>
     </issue>
 
diff --git a/sharetarget/integration-tests/testapp/lint-baseline.xml b/sharetarget/integration-tests/testapp/lint-baseline.xml
index e8eb413..357a700 100644
--- a/sharetarget/integration-tests/testapp/lint-baseline.xml
+++ b/sharetarget/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="SyntheticAccessor"
diff --git a/sharetarget/sharetarget/lint-baseline.xml b/sharetarget/sharetarget/lint-baseline.xml
index d0df713..cfbe070 100644
--- a/sharetarget/sharetarget/lint-baseline.xml
+++ b/sharetarget/sharetarget/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?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.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="NewApi"
diff --git a/slice/slice-benchmark/lint-baseline.xml b/slice/slice-benchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/slice/slice-benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/slice/slice-builders-ktx/lint-baseline.xml b/slice/slice-builders-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/slice/slice-builders-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/slice/slice-builders/lint-baseline.xml b/slice/slice-builders/lint-baseline.xml
index bd05510..6ecf8a7 100644
--- a/slice/slice-builders/lint-baseline.xml
+++ b/slice/slice-builders/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
         id="WrongConstant"
diff --git a/slice/slice-core/lint-baseline.xml b/slice/slice-core/lint-baseline.xml
index 5e1dac1..dc1e1c5 100644
--- a/slice/slice-core/lint-baseline.xml
+++ b/slice/slice-core/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
         id="NewApi"
@@ -14,7 +14,7 @@
 
     <issue
         id="WrongConstant"
-        message="Must be one of: Slice.HINT_TITLE, Slice.HINT_LIST, Slice.HINT_LIST_ITEM, Slice.HINT_LARGE, Slice.HINT_ACTIONS, Slice.HINT_SELECTED, Slice.HINT_NO_TINT, Slice.HINT_SHORTCUT, Slice.HINT_HORIZONTAL, Slice.HINT_PARTIAL, Slice.HINT_SEE_MORE, Slice.HINT_KEYWORDS, Slice.HINT_ERROR, Slice.HINT_TTL, Slice.HINT_LAST_UPDATED, Slice.HINT_PERMISSION_REQUEST"
+        message="Must be one of: Slice.HINT_TITLE, Slice.HINT_LIST, Slice.HINT_LIST_ITEM, Slice.HINT_LARGE, Slice.HINT_ACTIONS, Slice.HINT_SELECTED, Slice.HINT_NO_TINT, Slice.HINT_SHORTCUT, Slice.HINT_HORIZONTAL, Slice.HINT_PARTIAL, Slice.HINT_SEE_MORE, Slice.HINT_KEYWORDS, Slice.HINT_ERROR, Slice.HINT_TTL, Slice.HINT_LAST_UPDATED, Slice.HINT_PERMISSION_REQUEST, but could be Slice.HINT_SUMMARY, SliceHints.HINT_ACTIVITY, SliceHints.HINT_CACHED, SliceHints.HINT_END_OF_SECTION, SliceHints.HINT_SELECTION_OPTION, SliceHints.HINT_RAW, SliceHints.HINT_OVERLAY, SliceHints.HINT_SHOW_LABEL"
         errorLine1="        builder.addHints(slice.getHints());"
         errorLine2="                         ~~~~~~~~~~~~~~~~">
         <location
@@ -36,7 +36,7 @@
 
     <issue
         id="WrongConstant"
-        message="Must be one of: Slice.HINT_TITLE, Slice.HINT_LIST, Slice.HINT_LIST_ITEM, Slice.HINT_LARGE, Slice.HINT_ACTIONS, Slice.HINT_SELECTED, Slice.HINT_NO_TINT, Slice.HINT_SHORTCUT, Slice.HINT_HORIZONTAL, Slice.HINT_PARTIAL, Slice.HINT_SEE_MORE, Slice.HINT_KEYWORDS, Slice.HINT_ERROR, Slice.HINT_TTL, Slice.HINT_LAST_UPDATED, Slice.HINT_PERMISSION_REQUEST"
+        message="Must be one of: Slice.HINT_TITLE, Slice.HINT_LIST, Slice.HINT_LIST_ITEM, Slice.HINT_LARGE, Slice.HINT_ACTIONS, Slice.HINT_SELECTED, Slice.HINT_NO_TINT, Slice.HINT_SHORTCUT, Slice.HINT_HORIZONTAL, Slice.HINT_PARTIAL, Slice.HINT_SEE_MORE, Slice.HINT_KEYWORDS, Slice.HINT_ERROR, Slice.HINT_TTL, Slice.HINT_LAST_UPDATED, Slice.HINT_PERMISSION_REQUEST, but could be Slice.HINT_SUMMARY, SliceHints.HINT_ACTIVITY, SliceHints.HINT_CACHED, SliceHints.HINT_END_OF_SECTION, SliceHints.HINT_SELECTION_OPTION, SliceHints.HINT_RAW, SliceHints.HINT_OVERLAY, SliceHints.HINT_SHOW_LABEL"
         errorLine1="                    builder.addIcon(item.getIcon().toIcon(), item.getSubType(), item.getHints());"
         errorLine2="                                                                                ~~~~~~~~~~~~~~~">
         <location
@@ -69,7 +69,7 @@
 
     <issue
         id="WrongConstant"
-        message="Must be one of: Slice.HINT_TITLE, Slice.HINT_LIST, Slice.HINT_LIST_ITEM, Slice.HINT_LARGE, Slice.HINT_ACTIONS, Slice.HINT_SELECTED, Slice.HINT_NO_TINT, Slice.HINT_SHORTCUT, Slice.HINT_HORIZONTAL, Slice.HINT_PARTIAL, Slice.HINT_SEE_MORE, Slice.HINT_KEYWORDS, Slice.HINT_ERROR, Slice.HINT_TTL, Slice.HINT_LAST_UPDATED, Slice.HINT_PERMISSION_REQUEST"
+        message="Must be one of: Slice.HINT_TITLE, Slice.HINT_LIST, Slice.HINT_LIST_ITEM, Slice.HINT_LARGE, Slice.HINT_ACTIONS, Slice.HINT_SELECTED, Slice.HINT_NO_TINT, Slice.HINT_SHORTCUT, Slice.HINT_HORIZONTAL, Slice.HINT_PARTIAL, Slice.HINT_SEE_MORE, Slice.HINT_KEYWORDS, Slice.HINT_ERROR, Slice.HINT_TTL, Slice.HINT_LAST_UPDATED, Slice.HINT_PERMISSION_REQUEST, but could be Slice.HINT_SUMMARY, SliceHints.HINT_ACTIVITY, SliceHints.HINT_CACHED, SliceHints.HINT_END_OF_SECTION, SliceHints.HINT_SELECTION_OPTION, SliceHints.HINT_RAW, SliceHints.HINT_OVERLAY, SliceHints.HINT_SHOW_LABEL"
         errorLine1="                            item.getHints());"
         errorLine2="                            ~~~~~~~~~~~~~~~">
         <location
@@ -91,7 +91,7 @@
 
     <issue
         id="WrongConstant"
-        message="Must be one of: Slice.HINT_TITLE, Slice.HINT_LIST, Slice.HINT_LIST_ITEM, Slice.HINT_LARGE, Slice.HINT_ACTIONS, Slice.HINT_SELECTED, Slice.HINT_NO_TINT, Slice.HINT_SHORTCUT, Slice.HINT_HORIZONTAL, Slice.HINT_PARTIAL, Slice.HINT_SEE_MORE, Slice.HINT_KEYWORDS, Slice.HINT_ERROR, Slice.HINT_TTL, Slice.HINT_LAST_UPDATED, Slice.HINT_PERMISSION_REQUEST"
+        message="Must be one of: Slice.HINT_TITLE, Slice.HINT_LIST, Slice.HINT_LIST_ITEM, Slice.HINT_LARGE, Slice.HINT_ACTIONS, Slice.HINT_SELECTED, Slice.HINT_NO_TINT, Slice.HINT_SHORTCUT, Slice.HINT_HORIZONTAL, Slice.HINT_PARTIAL, Slice.HINT_SEE_MORE, Slice.HINT_KEYWORDS, Slice.HINT_ERROR, Slice.HINT_TTL, Slice.HINT_LAST_UPDATED, Slice.HINT_PERMISSION_REQUEST, but could be Slice.HINT_SUMMARY, SliceHints.HINT_ACTIVITY, SliceHints.HINT_CACHED, SliceHints.HINT_END_OF_SECTION, SliceHints.HINT_SELECTION_OPTION, SliceHints.HINT_RAW, SliceHints.HINT_OVERLAY, SliceHints.HINT_SHOW_LABEL"
         errorLine1="                    builder.addText(item.getText(), item.getSubType(), item.getHints());"
         errorLine2="                                                                       ~~~~~~~~~~~~~~~">
         <location
@@ -113,7 +113,7 @@
 
     <issue
         id="WrongConstant"
-        message="Must be one of: Slice.HINT_TITLE, Slice.HINT_LIST, Slice.HINT_LIST_ITEM, Slice.HINT_LARGE, Slice.HINT_ACTIONS, Slice.HINT_SELECTED, Slice.HINT_NO_TINT, Slice.HINT_SHORTCUT, Slice.HINT_HORIZONTAL, Slice.HINT_PARTIAL, Slice.HINT_SEE_MORE, Slice.HINT_KEYWORDS, Slice.HINT_ERROR, Slice.HINT_TTL, Slice.HINT_LAST_UPDATED, Slice.HINT_PERMISSION_REQUEST"
+        message="Must be one of: Slice.HINT_TITLE, Slice.HINT_LIST, Slice.HINT_LIST_ITEM, Slice.HINT_LARGE, Slice.HINT_ACTIONS, Slice.HINT_SELECTED, Slice.HINT_NO_TINT, Slice.HINT_SHORTCUT, Slice.HINT_HORIZONTAL, Slice.HINT_PARTIAL, Slice.HINT_SEE_MORE, Slice.HINT_KEYWORDS, Slice.HINT_ERROR, Slice.HINT_TTL, Slice.HINT_LAST_UPDATED, Slice.HINT_PERMISSION_REQUEST, but could be Slice.HINT_SUMMARY, SliceHints.HINT_ACTIVITY, SliceHints.HINT_CACHED, SliceHints.HINT_END_OF_SECTION, SliceHints.HINT_SELECTION_OPTION, SliceHints.HINT_RAW, SliceHints.HINT_OVERLAY, SliceHints.HINT_SHOW_LABEL"
         errorLine1="                    builder.addInt(item.getInt(), item.getSubType(), item.getHints());"
         errorLine2="                                                                     ~~~~~~~~~~~~~~~">
         <location
@@ -135,7 +135,7 @@
 
     <issue
         id="WrongConstant"
-        message="Must be one of: Slice.HINT_TITLE, Slice.HINT_LIST, Slice.HINT_LIST_ITEM, Slice.HINT_LARGE, Slice.HINT_ACTIONS, Slice.HINT_SELECTED, Slice.HINT_NO_TINT, Slice.HINT_SHORTCUT, Slice.HINT_HORIZONTAL, Slice.HINT_PARTIAL, Slice.HINT_SEE_MORE, Slice.HINT_KEYWORDS, Slice.HINT_ERROR, Slice.HINT_TTL, Slice.HINT_LAST_UPDATED, Slice.HINT_PERMISSION_REQUEST"
+        message="Must be one of: Slice.HINT_TITLE, Slice.HINT_LIST, Slice.HINT_LIST_ITEM, Slice.HINT_LARGE, Slice.HINT_ACTIONS, Slice.HINT_SELECTED, Slice.HINT_NO_TINT, Slice.HINT_SHORTCUT, Slice.HINT_HORIZONTAL, Slice.HINT_PARTIAL, Slice.HINT_SEE_MORE, Slice.HINT_KEYWORDS, Slice.HINT_ERROR, Slice.HINT_TTL, Slice.HINT_LAST_UPDATED, Slice.HINT_PERMISSION_REQUEST, but could be Slice.HINT_SUMMARY, SliceHints.HINT_ACTIVITY, SliceHints.HINT_CACHED, SliceHints.HINT_END_OF_SECTION, SliceHints.HINT_SELECTION_OPTION, SliceHints.HINT_RAW, SliceHints.HINT_OVERLAY, SliceHints.HINT_SHOW_LABEL"
         errorLine1="                    builder.addLong(item.getLong(), item.getSubType(), item.getHints());"
         errorLine2="                                                                       ~~~~~~~~~~~~~~~">
         <location
@@ -157,7 +157,7 @@
 
     <issue
         id="WrongConstant"
-        message="Must be one of: Slice.HINT_TITLE, Slice.HINT_LIST, Slice.HINT_LIST_ITEM, Slice.HINT_LARGE, Slice.HINT_ACTIONS, Slice.HINT_SELECTED, Slice.HINT_NO_TINT, Slice.HINT_SHORTCUT, Slice.HINT_HORIZONTAL, Slice.HINT_PARTIAL, Slice.HINT_SEE_MORE, Slice.HINT_KEYWORDS, Slice.HINT_ERROR, Slice.HINT_TTL, Slice.HINT_LAST_UPDATED, Slice.HINT_PERMISSION_REQUEST"
+        message="Must be one of: Slice.HINT_TITLE, Slice.HINT_LIST, Slice.HINT_LIST_ITEM, Slice.HINT_LARGE, Slice.HINT_ACTIONS, Slice.HINT_SELECTED, Slice.HINT_NO_TINT, Slice.HINT_SHORTCUT, Slice.HINT_HORIZONTAL, Slice.HINT_PARTIAL, Slice.HINT_SEE_MORE, Slice.HINT_KEYWORDS, Slice.HINT_ERROR, Slice.HINT_TTL, Slice.HINT_LAST_UPDATED, Slice.HINT_PERMISSION_REQUEST, but could be Slice.HINT_SUMMARY, SliceHints.HINT_ACTIVITY, SliceHints.HINT_CACHED, SliceHints.HINT_END_OF_SECTION, SliceHints.HINT_SELECTION_OPTION, SliceHints.HINT_RAW, SliceHints.HINT_OVERLAY, SliceHints.HINT_SHOW_LABEL"
         errorLine1="                    builder.addBundle((Bundle) item.mObj, item.getSubType(), item.getHints());"
         errorLine2="                                                                             ~~~~~~~~~~~~~~~">
         <location
@@ -179,7 +179,7 @@
 
     <issue
         id="WrongConstant"
-        message="Must be one of: PermissionChecker.PERMISSION_GRANTED, PermissionChecker.PERMISSION_DENIED, PermissionChecker.PERMISSION_DENIED_APP_OP"
+        message="Must be one of: PermissionChecker.PERMISSION_GRANTED, PermissionChecker.PERMISSION_DENIED, PermissionChecker.PERMISSION_DENIED_APP_OP, but could be PackageManager.PERMISSION_GRANTED, PackageManager.PERMISSION_DENIED"
         errorLine1="        return mManager.checkSlicePermission(uri, pid, uid);"
         errorLine2="               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -305,7 +305,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="169"
+            line="171"
             column="13"/>
     </issue>
 
@@ -1328,7 +1328,7 @@
         errorLine2="                               ~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="113"
+            line="115"
             column="32"/>
     </issue>
 
@@ -1339,7 +1339,7 @@
         errorLine2="                     ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="130"
+            line="132"
             column="22"/>
     </issue>
 
@@ -1350,7 +1350,7 @@
         errorLine2="                                            ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="130"
+            line="132"
             column="45"/>
     </issue>
 
@@ -1361,7 +1361,7 @@
         errorLine2="                                                           ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="130"
+            line="132"
             column="60"/>
     </issue>
 
@@ -1372,7 +1372,7 @@
         errorLine2="                             ~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="131"
+            line="133"
             column="30"/>
     </issue>
 
@@ -1383,7 +1383,7 @@
         errorLine2="                     ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="142"
+            line="144"
             column="22"/>
     </issue>
 
@@ -1394,7 +1394,7 @@
         errorLine2="                                            ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="142"
+            line="144"
             column="45"/>
     </issue>
 
@@ -1405,7 +1405,7 @@
         errorLine2="                                                           ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="142"
+            line="144"
             column="60"/>
     </issue>
 
@@ -1416,7 +1416,7 @@
         errorLine2="                             ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="143"
+            line="145"
             column="30"/>
     </issue>
 
@@ -1427,7 +1427,7 @@
         errorLine2="                     ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="159"
+            line="161"
             column="22"/>
     </issue>
 
@@ -1438,7 +1438,7 @@
         errorLine2="                                           ~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="159"
+            line="161"
             column="44"/>
     </issue>
 
@@ -1449,7 +1449,7 @@
         errorLine2="                                                        ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="159"
+            line="161"
             column="57"/>
     </issue>
 
@@ -1460,7 +1460,7 @@
         errorLine2="                                                                       ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="159"
+            line="161"
             column="72"/>
     </issue>
 
@@ -1471,7 +1471,7 @@
         errorLine2="                             ~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="160"
+            line="162"
             column="30"/>
     </issue>
 
@@ -1482,7 +1482,7 @@
         errorLine2="                     ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="168"
+            line="170"
             column="22"/>
     </issue>
 
@@ -1493,7 +1493,7 @@
         errorLine2="                                           ~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="168"
+            line="170"
             column="44"/>
     </issue>
 
@@ -1504,7 +1504,7 @@
         errorLine2="                                                        ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="168"
+            line="170"
             column="57"/>
     </issue>
 
@@ -1515,7 +1515,7 @@
         errorLine2="                                                                       ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="168"
+            line="170"
             column="72"/>
     </issue>
 
@@ -1526,7 +1526,7 @@
         errorLine2="                             ~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="169"
+            line="171"
             column="30"/>
     </issue>
 
@@ -1537,7 +1537,7 @@
         errorLine2="                                         ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="194"
+            line="196"
             column="42"/>
     </issue>
 
@@ -1548,7 +1548,7 @@
         errorLine2="                      ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="211"
+            line="215"
             column="23"/>
     </issue>
 
@@ -1559,7 +1559,7 @@
         errorLine2="           ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="224"
+            line="228"
             column="12"/>
     </issue>
 
@@ -1570,7 +1570,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="231"
+            line="235"
             column="12"/>
     </issue>
 
@@ -1581,7 +1581,7 @@
         errorLine2="           ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="241"
+            line="245"
             column="12"/>
     </issue>
 
@@ -1592,7 +1592,7 @@
         errorLine2="           ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="260"
+            line="264"
             column="12"/>
     </issue>
 
@@ -1603,7 +1603,7 @@
         errorLine2="           ~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="269"
+            line="273"
             column="12"/>
     </issue>
 
@@ -1614,7 +1614,7 @@
         errorLine2="           ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="311"
+            line="315"
             column="12"/>
     </issue>
 
@@ -1625,7 +1625,7 @@
         errorLine2="           ~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="327"
+            line="331"
             column="12"/>
     </issue>
 
@@ -1636,7 +1636,7 @@
         errorLine2="                                            ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="346"
+            line="350"
             column="45"/>
     </issue>
 
@@ -1647,7 +1647,7 @@
         errorLine2="                     ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="354"
+            line="358"
             column="22"/>
     </issue>
 
@@ -1658,7 +1658,7 @@
         errorLine2="           ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="366"
+            line="370"
             column="12"/>
     </issue>
 
@@ -1669,7 +1669,7 @@
         errorLine2="                                             ~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="379"
+            line="383"
             column="46"/>
     </issue>
 
@@ -1680,7 +1680,7 @@
         errorLine2="                                                ~~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="393"
+            line="397"
             column="49"/>
     </issue>
 
@@ -1691,7 +1691,7 @@
         errorLine2="                  ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="461"
+            line="465"
             column="19"/>
     </issue>
 
@@ -1702,7 +1702,7 @@
         errorLine2="                                      ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="461"
+            line="465"
             column="39"/>
     </issue>
 
@@ -1713,7 +1713,7 @@
         errorLine2="           ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="495"
+            line="499"
             column="12"/>
     </issue>
 
@@ -1724,7 +1724,7 @@
         errorLine2="                           ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="495"
+            line="499"
             column="28"/>
     </issue>
 
@@ -1735,7 +1735,7 @@
         errorLine2="                      ~~~~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="710"
+            line="714"
             column="23"/>
     </issue>
 
@@ -1746,7 +1746,7 @@
         errorLine2="                                      ~~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="710"
+            line="714"
             column="39"/>
     </issue>
 
@@ -1757,7 +1757,7 @@
         errorLine2="                                                       ~~~~~~">
         <location
             file="src/main/java/androidx/slice/SliceItem.java"
-            line="710"
+            line="714"
             column="56"/>
     </issue>
 
diff --git a/slice/slice-remotecallback/lint-baseline.xml b/slice/slice-remotecallback/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/slice/slice-remotecallback/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/slice/slice-test/lint-baseline.xml b/slice/slice-test/lint-baseline.xml
index 11b0024..45f7149 100644
--- a/slice/slice-test/lint-baseline.xml
+++ b/slice/slice-test/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="UnknownNullness"
diff --git a/slidingpanelayout/slidingpanelayout/lint-baseline.xml b/slidingpanelayout/slidingpanelayout/lint-baseline.xml
index cd1e2f1..315cd2a 100644
--- a/slidingpanelayout/slidingpanelayout/lint-baseline.xml
+++ b/slidingpanelayout/slidingpanelayout/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="UnknownNullness"
@@ -8,7 +8,7 @@
         errorLine2="                                  ~~~~">
         <location
             file="src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java"
-            line="910"
+            line="911"
             column="35"/>
     </issue>
 
@@ -19,7 +19,7 @@
         errorLine2="                                              ~~~~">
         <location
             file="src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java"
-            line="910"
+            line="911"
             column="47"/>
     </issue>
 
@@ -30,7 +30,7 @@
         errorLine2="                                         ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java"
-            line="918"
+            line="919"
             column="42"/>
     </issue>
 
@@ -41,7 +41,7 @@
         errorLine2="                                ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java"
-            line="978"
+            line="979"
             column="33"/>
     </issue>
 
@@ -52,7 +52,7 @@
         errorLine2="                                ~~~~~~">
         <location
             file="src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java"
-            line="1149"
+            line="1153"
             column="33"/>
     </issue>
 
@@ -63,7 +63,7 @@
         errorLine2="                                               ~~~~">
         <location
             file="src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java"
-            line="1149"
+            line="1153"
             column="48"/>
     </issue>
 
@@ -74,7 +74,7 @@
         errorLine2="                                  ~~~~~~~~">
         <location
             file="src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java"
-            line="1307"
+            line="1311"
             column="35"/>
     </issue>
 
@@ -85,7 +85,7 @@
         errorLine2="                     ~~~~~~">
         <location
             file="src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java"
-            line="1366"
+            line="1370"
             column="22"/>
     </issue>
 
@@ -96,7 +96,7 @@
         errorLine2="                                ~~~~">
         <location
             file="src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java"
-            line="1427"
+            line="1431"
             column="33"/>
     </issue>
 
@@ -107,7 +107,7 @@
         errorLine2="              ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java"
-            line="1459"
+            line="1463"
             column="15"/>
     </issue>
 
@@ -118,7 +118,7 @@
         errorLine2="              ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java"
-            line="1464"
+            line="1468"
             column="15"/>
     </issue>
 
@@ -129,7 +129,7 @@
         errorLine2="                                                          ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java"
-            line="1464"
+            line="1468"
             column="59"/>
     </issue>
 
@@ -140,7 +140,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java"
-            line="1471"
+            line="1475"
             column="41"/>
     </issue>
 
@@ -151,7 +151,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java"
-            line="1476"
+            line="1480"
             column="12"/>
     </issue>
 
@@ -162,7 +162,7 @@
         errorLine2="                                                       ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java"
-            line="1476"
+            line="1480"
             column="56"/>
     </issue>
 
@@ -173,7 +173,7 @@
         errorLine2="              ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java"
-            line="1481"
+            line="1485"
             column="15"/>
     </issue>
 
@@ -184,7 +184,7 @@
         errorLine2="                                          ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java"
-            line="1492"
+            line="1496"
             column="43"/>
     </issue>
 
diff --git a/sqlite/integration-tests/inspection-room-testapp/lint-baseline.xml b/sqlite/integration-tests/inspection-room-testapp/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/sqlite/integration-tests/inspection-room-testapp/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/sqlite/integration-tests/inspection-sqldelight-testapp/lint-baseline.xml b/sqlite/integration-tests/inspection-sqldelight-testapp/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/sqlite/integration-tests/inspection-sqldelight-testapp/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/sqlite/sqlite-framework/lint-baseline.xml b/sqlite/sqlite-framework/lint-baseline.xml
index 6e6c458..d02119bd 100644
--- a/sqlite/sqlite-framework/lint-baseline.xml
+++ b/sqlite/sqlite-framework/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="BanSynchronizedMethods"
diff --git a/sqlite/sqlite-inspection/lint-baseline.xml b/sqlite/sqlite-inspection/lint-baseline.xml
index 3dabb13..a637c8c 100644
--- a/sqlite/sqlite-inspection/lint-baseline.xml
+++ b/sqlite/sqlite-inspection/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="BanUncheckedReflection"
diff --git a/sqlite/sqlite-ktx/lint-baseline.xml b/sqlite/sqlite-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/sqlite/sqlite-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/sqlite/sqlite/lint-baseline.xml b/sqlite/sqlite/lint-baseline.xml
index 3aab667..1336eae 100644
--- a/sqlite/sqlite/lint-baseline.xml
+++ b/sqlite/sqlite/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="UnknownNullness"
diff --git a/startup/integration-tests/first-library/lint-baseline.xml b/startup/integration-tests/first-library/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/startup/integration-tests/first-library/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/startup/integration-tests/second-library/lint-baseline.xml b/startup/integration-tests/second-library/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/startup/integration-tests/second-library/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/startup/integration-tests/test-app/lint-baseline.xml b/startup/integration-tests/test-app/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/startup/integration-tests/test-app/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/startup/startup-runtime-lint/lint-baseline.xml b/startup/startup-runtime-lint/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/startup/startup-runtime-lint/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/startup/startup-runtime/lint-baseline.xml b/startup/startup-runtime/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/startup/startup-runtime/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/swiperefreshlayout/swiperefreshlayout/lint-baseline.xml b/swiperefreshlayout/swiperefreshlayout/lint-baseline.xml
index 510e9e2c..75cc3d5 100644
--- a/swiperefreshlayout/swiperefreshlayout/lint-baseline.xml
+++ b/swiperefreshlayout/swiperefreshlayout/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="KotlinPropertyAccess"
@@ -277,7 +277,7 @@
         errorLine2="                                     ~~~~">
         <location
             file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
-            line="1016"
+            line="1019"
             column="38"/>
     </issue>
 
@@ -288,7 +288,7 @@
         errorLine2="                                    ~~~~">
         <location
             file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
-            line="1023"
+            line="1026"
             column="37"/>
     </issue>
 
@@ -299,7 +299,7 @@
         errorLine2="                                 ~~~~">
         <location
             file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
-            line="1029"
+            line="1032"
             column="34"/>
     </issue>
 
@@ -310,7 +310,7 @@
         errorLine2="                              ~~~~~">
         <location
             file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
-            line="1067"
+            line="1070"
             column="31"/>
     </issue>
 
@@ -321,7 +321,7 @@
         errorLine2="                                                           ~~~~~">
         <location
             file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
-            line="1073"
+            line="1076"
             column="60"/>
     </issue>
 
@@ -332,7 +332,7 @@
         errorLine2="                                                                           ~~~~~">
         <location
             file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
-            line="1073"
+            line="1076"
             column="76"/>
     </issue>
 
@@ -343,7 +343,7 @@
         errorLine2="                              ~~~~~">
         <location
             file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
-            line="1108"
+            line="1111"
             column="31"/>
     </issue>
 
@@ -354,7 +354,7 @@
         errorLine2="                                                           ~~~~~">
         <location
             file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
-            line="1114"
+            line="1117"
             column="60"/>
     </issue>
 
@@ -365,7 +365,7 @@
         errorLine2="                                                                           ~~~~~">
         <location
             file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
-            line="1114"
+            line="1117"
             column="76"/>
     </issue>
 
@@ -376,7 +376,7 @@
         errorLine2="                                ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java"
-            line="1219"
+            line="1222"
             column="33"/>
     </issue>
 
diff --git a/test/screenshot/screenshot/lint-baseline.xml b/test/screenshot/screenshot/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/test/screenshot/screenshot/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/testutils/testutils-appcompat/lint-baseline.xml b/testutils/testutils-appcompat/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/testutils/testutils-appcompat/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/testutils/testutils-common/lint-baseline.xml b/testutils/testutils-common/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/testutils/testutils-common/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/testutils/testutils-espresso/lint-baseline.xml b/testutils/testutils-espresso/lint-baseline.xml
index 6955bb6..7ef955d 100644
--- a/testutils/testutils-espresso/lint-baseline.xml
+++ b/testutils/testutils-espresso/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="UnknownNullness"
diff --git a/testutils/testutils-gradle-plugin/lint-baseline.xml b/testutils/testutils-gradle-plugin/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/testutils/testutils-gradle-plugin/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/testutils/testutils-ktx/lint-baseline.xml b/testutils/testutils-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/testutils/testutils-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/testutils/testutils-macrobenchmark/lint-baseline.xml b/testutils/testutils-macrobenchmark/lint-baseline.xml
new file mode 100644
index 0000000..10d1ea8
--- /dev/null
+++ b/testutils/testutils-macrobenchmark/lint-baseline.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(21)"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/testutils/MacrobenchUtils.kt"
+            line="48"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(21)"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/testutils/MacrobenchUtils.kt"
+            line="72"
+            column="1"/>
+    </issue>
+
+</issues>
diff --git a/testutils/testutils-mockito/lint-baseline.xml b/testutils/testutils-mockito/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/testutils/testutils-mockito/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/testutils/testutils-navigation/lint-baseline.xml b/testutils/testutils-navigation/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/testutils/testutils-navigation/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/testutils/testutils-paging/lint-baseline.xml b/testutils/testutils-paging/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/testutils/testutils-paging/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/testutils/testutils-runtime/lint-baseline.xml b/testutils/testutils-runtime/lint-baseline.xml
index 4144abb..09212cc 100644
--- a/testutils/testutils-runtime/lint-baseline.xml
+++ b/testutils/testutils-runtime/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="BanUncheckedReflection"
diff --git a/testutils/testutils-truth/lint-baseline.xml b/testutils/testutils-truth/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/testutils/testutils-truth/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/text/text/lint-baseline.xml b/text/text/lint-baseline.xml
new file mode 100644
index 0000000..ecfe309
--- /dev/null
+++ b/text/text/lint-baseline.xml
@@ -0,0 +1,15 @@
+<?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">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(api = 18)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/compose/ui/text/android/TextLayout.kt"
+            line="296"
+            column="1"/>
+    </issue>
+
+</issues>
diff --git a/textclassifier/textclassifier/lint-baseline.xml b/textclassifier/textclassifier/lint-baseline.xml
index c7c3eb1..28ece50 100644
--- a/textclassifier/textclassifier/lint-baseline.xml
+++ b/textclassifier/textclassifier/lint-baseline.xml
@@ -2609,6 +2609,17 @@
     </issue>
 
     <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 28 here from outer annotations"
+        errorLine1="    @RequiresApi(28)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/textclassifier/PlatformEntityConfigWrapper.java"
+            line="81"
+            column="5"/>
+    </issue>
+
+    <issue
         id="ClassVerificationFailure"
         message="This call references a method added in API level 23; however, the containing class androidx.textclassifier.widget.ToolbarController.OnToolbarDismissListener is reachable from earlier API levels and will fail run-time class verification."
         errorLine1="            mTextView.setCustomInsertionActionModeCallback(mInsertionCallback);"
diff --git a/textclassifier/textclassifier/src/androidTest/java/androidx/textclassifier/TextClassificationTest.java b/textclassifier/textclassifier/src/androidTest/java/androidx/textclassifier/TextClassificationTest.java
index c4f351e..ac757e7 100644
--- a/textclassifier/textclassifier/src/androidTest/java/androidx/textclassifier/TextClassificationTest.java
+++ b/textclassifier/textclassifier/src/androidTest/java/androidx/textclassifier/TextClassificationTest.java
@@ -308,7 +308,7 @@
     private RemoteActionCompat createRemoteActionCompat(
             Intent intent, IconCompat icon, String label, String contentDescription) {
         final PendingIntent primaryPendingIntent =
-                PendingIntent.getActivity(mContext, 0, intent, 0);
+                PendingIntent.getActivity(mContext, 0, intent, PendingIntent.FLAG_IMMUTABLE);
         return new RemoteActionCompat(icon, label, contentDescription, primaryPendingIntent);
     }
 
diff --git a/tracing/tracing-ktx/lint-baseline.xml b/tracing/tracing-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/tracing/tracing-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/tracing/tracing/lint-baseline.xml b/tracing/tracing/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/tracing/tracing/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/transition/transition-ktx/lint-baseline.xml b/transition/transition-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/transition/transition-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/transition/transition/lint-baseline.xml b/transition/transition/lint-baseline.xml
index a9da805..de18c64 100644
--- a/transition/transition/lint-baseline.xml
+++ b/transition/transition/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ResourceType"
@@ -145,28 +145,6 @@
     </issue>
 
     <issue
-        id="SoonBlockedPrivateApi"
-        message="Reflective access to mDrawMatrix will throw an exception when targeting API 30 and above"
-        errorLine1="                sDrawMatrixField = ImageView.class.getDeclaredField(&quot;mDrawMatrix&quot;);"
-        errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/transition/ImageViewUtils.java"
-            line="102"
-            column="36"/>
-    </issue>
-
-    <issue
-        id="SoonBlockedPrivateApi"
-        message="Reflective access to mViewFlags will throw an exception when targeting API 30 and above"
-        errorLine1="                sViewFlagsField = View.class.getDeclaredField(&quot;mViewFlags&quot;);"
-        errorLine2="                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/transition/ViewUtilsBase.java"
-            line="157"
-            column="35"/>
-    </issue>
-
-    <issue
         id="BanUncheckedReflection"
         message="Calling `Method.invoke` without an SDK check"
         errorLine1="                        (View) sAddGhostMethod.invoke(null, view, viewGroup, matrix));"
@@ -1632,7 +1610,7 @@
     <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 setPropagation(TransitionPropagation propagation) {"
+        errorLine1="    public void setPropagation(TransitionPropagation transitionPropagation) {"
         errorLine2="                               ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/transition/TransitionSet.java"
@@ -1841,7 +1819,7 @@
     <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 captureValues(TransitionValues values) {"
+        errorLine1="    public void captureValues(TransitionValues transitionValues) {"
         errorLine2="                              ~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/transition/VisibilityPropagation.java"
diff --git a/tvprovider/tvprovider/lint-baseline.xml b/tvprovider/tvprovider/lint-baseline.xml
index 0196d88..50415e1 100644
--- a/tvprovider/tvprovider/lint-baseline.xml
+++ b/tvprovider/tvprovider/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ClassVerificationFailure"
diff --git a/vectordrawable/integration-tests/testapp/lint-baseline.xml b/vectordrawable/integration-tests/testapp/lint-baseline.xml
index 497c209..3bac06d 100644
--- a/vectordrawable/integration-tests/testapp/lint-baseline.xml
+++ b/vectordrawable/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
         id="NewApi"
diff --git a/vectordrawable/vectordrawable-animated/lint-baseline.xml b/vectordrawable/vectordrawable-animated/lint-baseline.xml
index 9ec2eb3..45df7a1 100644
--- a/vectordrawable/vectordrawable-animated/lint-baseline.xml
+++ b/vectordrawable/vectordrawable-animated/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ClassVerificationFailure"
diff --git a/vectordrawable/vectordrawable-seekable/lint-baseline.xml b/vectordrawable/vectordrawable-seekable/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/vectordrawable/vectordrawable-seekable/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/vectordrawable/vectordrawable/lint-baseline.xml b/vectordrawable/vectordrawable/lint-baseline.xml
index 2a90505..d5be5c8 100644
--- a/vectordrawable/vectordrawable/lint-baseline.xml
+++ b/vectordrawable/vectordrawable/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ResourceType"
diff --git a/versionedparcelable/versionedparcelable-compiler/lint-baseline.xml b/versionedparcelable/versionedparcelable-compiler/lint-baseline.xml
index dc618a7..4ca909b 100644
--- a/versionedparcelable/versionedparcelable-compiler/lint-baseline.xml
+++ b/versionedparcelable/versionedparcelable-compiler/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="BanSynchronizedMethods"
diff --git a/versionedparcelable/versionedparcelable/lint-baseline.xml b/versionedparcelable/versionedparcelable/lint-baseline.xml
index 6235886..f1280f6 100644
--- a/versionedparcelable/versionedparcelable/lint-baseline.xml
+++ b/versionedparcelable/versionedparcelable/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="BanUncheckedReflection"
diff --git a/viewpager/viewpager/lint-baseline.xml b/viewpager/viewpager/lint-baseline.xml
index 907f9d0..1c21b63 100644
--- a/viewpager/viewpager/lint-baseline.xml
+++ b/viewpager/viewpager/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="LambdaLast"
@@ -8,7 +8,7 @@
         errorLine2="                                                   ~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="822"
+            line="799"
             column="52"/>
     </issue>
 
@@ -52,7 +52,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="744"
+            line="721"
             column="41"/>
     </issue>
 
@@ -63,7 +63,7 @@
         errorLine2="                                     ~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="945"
+            line="922"
             column="38"/>
     </issue>
 
@@ -74,7 +74,7 @@
         errorLine2="                                  ~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="1423"
+            line="1400"
             column="35"/>
     </issue>
 
@@ -85,7 +85,7 @@
         errorLine2="           ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="1464"
+            line="1441"
             column="12"/>
     </issue>
 
@@ -96,7 +96,7 @@
         errorLine2="                                       ~~~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="1475"
+            line="1452"
             column="40"/>
     </issue>
 
@@ -107,7 +107,7 @@
         errorLine2="                        ~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="1495"
+            line="1472"
             column="25"/>
     </issue>
 
@@ -118,7 +118,7 @@
         errorLine2="                                               ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="1495"
+            line="1472"
             column="48"/>
     </issue>
 
@@ -129,7 +129,7 @@
         errorLine2="                           ~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="1519"
+            line="1496"
             column="28"/>
     </issue>
 
@@ -140,7 +140,7 @@
         errorLine2="                                         ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="2061"
+            line="2038"
             column="42"/>
     </issue>
 
@@ -151,7 +151,7 @@
         errorLine2="                                ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="2214"
+            line="2191"
             column="33"/>
     </issue>
 
@@ -162,7 +162,7 @@
         errorLine2="                     ~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="2507"
+            line="2491"
             column="22"/>
     </issue>
 
@@ -173,7 +173,7 @@
         errorLine2="                          ~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="2549"
+            line="2533"
             column="27"/>
     </issue>
 
@@ -184,7 +184,7 @@
         errorLine2="                                ~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="2791"
+            line="2775"
             column="33"/>
     </issue>
 
@@ -195,7 +195,7 @@
         errorLine2="                                    ~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="2815"
+            line="2799"
             column="37"/>
     </issue>
 
@@ -206,7 +206,7 @@
         errorLine2="                              ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="2977"
+            line="2961"
             column="31"/>
     </issue>
 
@@ -217,7 +217,7 @@
         errorLine2="                              ~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="3019"
+            line="3003"
             column="31"/>
     </issue>
 
@@ -228,7 +228,7 @@
         errorLine2="            ~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="3039"
+            line="3023"
             column="13"/>
     </issue>
 
@@ -239,7 +239,7 @@
         errorLine2="                                                      ~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="3068"
+            line="3052"
             column="55"/>
     </issue>
 
@@ -250,7 +250,7 @@
         errorLine2="              ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="3091"
+            line="3075"
             column="15"/>
     </issue>
 
@@ -261,7 +261,7 @@
         errorLine2="              ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="3096"
+            line="3080"
             column="15"/>
     </issue>
 
@@ -272,7 +272,7 @@
         errorLine2="                                                          ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="3096"
+            line="3080"
             column="59"/>
     </issue>
 
@@ -283,7 +283,7 @@
         errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="3101"
+            line="3085"
             column="41"/>
     </issue>
 
@@ -294,7 +294,7 @@
         errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="3106"
+            line="3090"
             column="12"/>
     </issue>
 
@@ -305,7 +305,7 @@
         errorLine2="                                                       ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="3106"
+            line="3090"
             column="56"/>
     </issue>
 
@@ -316,7 +316,7 @@
         errorLine2="                            ~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="3221"
+            line="3205"
             column="29"/>
     </issue>
 
@@ -327,7 +327,7 @@
         errorLine2="                                             ~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/viewpager/widget/ViewPager.java"
-            line="3221"
+            line="3205"
             column="46"/>
     </issue>
 
diff --git a/viewpager2/integration-tests/testapp/lint-baseline.xml b/viewpager2/integration-tests/testapp/lint-baseline.xml
index 7b63883..933bf9a 100644
--- a/viewpager2/integration-tests/testapp/lint-baseline.xml
+++ b/viewpager2/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ClassVerificationFailure"
diff --git a/viewpager2/viewpager2/lint-baseline.xml b/viewpager2/viewpager2/lint-baseline.xml
index 57765b2..579c910 100644
--- a/viewpager2/viewpager2/lint-baseline.xml
+++ b/viewpager2/viewpager2/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
         id="NewApi"
diff --git a/wear/benchmark/integration-tests/macrobenchmark-target/lint-baseline.xml b/wear/benchmark/integration-tests/macrobenchmark-target/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/benchmark/integration-tests/macrobenchmark-target/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/benchmark/integration-tests/macrobenchmark/lint-baseline.xml b/wear/benchmark/integration-tests/macrobenchmark/lint-baseline.xml
new file mode 100644
index 0000000..2570319
--- /dev/null
+++ b/wear/benchmark/integration-tests/macrobenchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="false" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+</issues>
diff --git a/wear/compose/compose-foundation/lint-baseline.xml b/wear/compose/compose-foundation/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/compose/compose-foundation/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/compose/compose-foundation/samples/lint-baseline.xml b/wear/compose/compose-foundation/samples/lint-baseline.xml
new file mode 100644
index 0000000..5535c9a
--- /dev/null
+++ b/wear/compose/compose-foundation/samples/lint-baseline.xml
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="140"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="145"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="149"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="153"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="158"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="162"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="166"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="170"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="174"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="186"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="191"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="196"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="206"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.LOLLIPOP)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="136"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="1311"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat.android.kt"
+            line="2557"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFont.kt"
+            line="133"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidFontListTypeface.android.kt"
+            line="160"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoader.android.kt"
+            line="52"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="82"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="95"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="36"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="43"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeLayer.android.kt"
+            line="93"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(api = 18)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../../../text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.kt"
+            line="296"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 28 here from outer annotations"
+        errorLine1="    @RequiresApi(28)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/TypefaceAdapter.android.kt"
+            line="271"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.android.kt"
+            line="97"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.Q)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/Wrapper.android.kt"
+            line="214"
+            column="5"/>
+    </issue>
+
+</issues>
diff --git a/wear/compose/compose-material/api/current.txt b/wear/compose/compose-material/api/current.txt
index 1378cba..028bbf2 100644
--- a/wear/compose/compose-material/api/current.txt
+++ b/wear/compose/compose-material/api/current.txt
@@ -77,8 +77,8 @@
   }
 
   @androidx.compose.runtime.Stable public final class Colors {
-    ctor public Colors(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long error, optional long onPrimary, optional long onSecondary, optional long onError);
-    method public androidx.wear.compose.material.Colors copy(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long error, optional long onPrimary, optional long onSecondary, optional long onError);
+    ctor public Colors(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long background, optional long surface, optional long error, optional long onPrimary, optional long onSecondary, optional long onBackground, optional long onSurface, optional long onSurfaceVariant, optional long onSurfaceVariant2, optional long onError);
+    method public androidx.wear.compose.material.Colors copy(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long background, optional long surface, optional long error, optional long onPrimary, optional long onSecondary, optional long onBackground, optional long onSurface, optional long onSurfaceVariant, optional long onSurfaceVariant2, optional long onError);
     method public long getBackground();
     method public long getError();
     method public long getOnBackground();
diff --git a/wear/compose/compose-material/api/public_plus_experimental_current.txt b/wear/compose/compose-material/api/public_plus_experimental_current.txt
index 9637446..08ee56a 100644
--- a/wear/compose/compose-material/api/public_plus_experimental_current.txt
+++ b/wear/compose/compose-material/api/public_plus_experimental_current.txt
@@ -77,8 +77,8 @@
   }
 
   @androidx.compose.runtime.Stable public final class Colors {
-    ctor public Colors(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long error, optional long onPrimary, optional long onSecondary, optional long onError);
-    method public androidx.wear.compose.material.Colors copy(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long error, optional long onPrimary, optional long onSecondary, optional long onError);
+    ctor public Colors(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long background, optional long surface, optional long error, optional long onPrimary, optional long onSecondary, optional long onBackground, optional long onSurface, optional long onSurfaceVariant, optional long onSurfaceVariant2, optional long onError);
+    method public androidx.wear.compose.material.Colors copy(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long background, optional long surface, optional long error, optional long onPrimary, optional long onSecondary, optional long onBackground, optional long onSurface, optional long onSurfaceVariant, optional long onSurfaceVariant2, optional long onError);
     method public long getBackground();
     method public long getError();
     method public long getOnBackground();
diff --git a/wear/compose/compose-material/api/restricted_current.txt b/wear/compose/compose-material/api/restricted_current.txt
index 1378cba..028bbf2 100644
--- a/wear/compose/compose-material/api/restricted_current.txt
+++ b/wear/compose/compose-material/api/restricted_current.txt
@@ -77,8 +77,8 @@
   }
 
   @androidx.compose.runtime.Stable public final class Colors {
-    ctor public Colors(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long error, optional long onPrimary, optional long onSecondary, optional long onError);
-    method public androidx.wear.compose.material.Colors copy(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long error, optional long onPrimary, optional long onSecondary, optional long onError);
+    ctor public Colors(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long background, optional long surface, optional long error, optional long onPrimary, optional long onSecondary, optional long onBackground, optional long onSurface, optional long onSurfaceVariant, optional long onSurfaceVariant2, optional long onError);
+    method public androidx.wear.compose.material.Colors copy(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long background, optional long surface, optional long error, optional long onPrimary, optional long onSecondary, optional long onBackground, optional long onSurface, optional long onSurfaceVariant, optional long onSurfaceVariant2, optional long onError);
     method public long getBackground();
     method public long getError();
     method public long getOnBackground();
diff --git a/wear/compose/compose-material/benchmark/lint-baseline.xml b/wear/compose/compose-material/benchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/compose/compose-material/benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/compose/compose-material/lint-baseline.xml b/wear/compose/compose-material/lint-baseline.xml
index 534e58b..12b0ee8 100644
--- a/wear/compose/compose-material/lint-baseline.xml
+++ b/wear/compose/compose-material/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha08" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-alpha08)" variant="all" version="7.1.0-alpha08">
+<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">
 
     <issue
         id="NewApi"
diff --git a/wear/compose/compose-material/samples/lint-baseline.xml b/wear/compose/compose-material/samples/lint-baseline.xml
new file mode 100644
index 0000000..c6c7f6e
--- /dev/null
+++ b/wear/compose/compose-material/samples/lint-baseline.xml
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="cli" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="140"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="145"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="149"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="153"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="158"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="162"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="166"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="170"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="174"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="186"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="191"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="196"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt"
+            line="206"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.LOLLIPOP)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="136"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt"
+            line="1311"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.O)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat.android.kt"
+            line="2557"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFont.kt"
+            line="133"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidFontListTypeface.android.kt"
+            line="160"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 here from outer annotations"
+        errorLine1="    @RequiresApi(26)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoader.android.kt"
+            line="52"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="82"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 23 here from outer annotations"
+        errorLine1="    @RequiresApi(23)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt"
+            line="95"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="36"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 24 here from outer annotations"
+        errorLine1="    @RequiresApi(24)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt"
+            line="43"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeLayer.android.kt"
+            line="93"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 21 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(api = 18)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="../../../text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.kt"
+            line="296"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 28 here from outer annotations"
+        errorLine1="    @RequiresApi(28)"
+        errorLine2="    ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/text/platform/TypefaceAdapter.android.kt"
+            line="271"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="        @RequiresApi(29)"
+        errorLine2="        ~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.android.kt"
+            line="97"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 29 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.Q)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidMain/kotlin/androidx/compose/ui/platform/Wrapper.android.kt"
+            line="214"
+            column="5"/>
+    </issue>
+
+</issues>
diff --git a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/SwipeToDismissBoxSample.kt b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/SwipeToDismissBoxSample.kt
index e2e423d..374fd32 100644
--- a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/SwipeToDismissBoxSample.kt
+++ b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/SwipeToDismissBoxSample.kt
@@ -22,12 +22,22 @@
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.Column
 import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.padding
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.LaunchedEffect
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.setValue
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.saveable.rememberSaveable
+import androidx.compose.runtime.saveable.rememberSaveableStateHolder
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
+import androidx.compose.ui.unit.dp
 import androidx.wear.compose.material.ExperimentalWearMaterialApi
 import androidx.wear.compose.material.MaterialTheme
+import androidx.wear.compose.material.SplitToggleChip
 import androidx.wear.compose.material.SwipeDismissTarget
 import androidx.wear.compose.material.SwipeToDismissBox
 import androidx.wear.compose.material.Text
@@ -61,4 +71,71 @@
             }
         }
     }
-}
\ No newline at end of file
+}
+
+@Sampled
+@Composable
+@ExperimentalWearMaterialApi
+fun StatefulSwipeToDismissBox() {
+    // State for managing a 2-level navigation hierarchy between
+    // MainScreen and ItemScreen composables.
+    // Alternatively, use SwipeDismissableNavHost from wear.compose.navigation.
+    var showMainScreen by remember { mutableStateOf(true) }
+    val saveableStateHolder = rememberSaveableStateHolder()
+
+    // Swipe gesture dismisses ItemScreen to return to MainScreen.
+    val state = rememberSwipeToDismissBoxState()
+    LaunchedEffect(state.currentValue) {
+        if (state.currentValue == SwipeDismissTarget.Dismissal) {
+            state.snapTo(SwipeDismissTarget.Original)
+            showMainScreen = !showMainScreen
+        }
+    }
+
+    // Hierarchy is ListScreen -> ItemScreen, so we show ListScreen as the background behind
+    // the ItemScreen, otherwise there's no background to show.
+    SwipeToDismissBox(
+        state = state,
+        hasBackground = !showMainScreen,
+        backgroundKey = if (!showMainScreen) "MainKey" else "Background",
+        contentKey = if (showMainScreen) "MainKey" else "ItemKey",
+    ) { isBackground ->
+        if (isBackground || showMainScreen) {
+            // Best practice would be to use State Hoisting and leave this composable stateless.
+            // Here, we want to support MainScreen being shown from different destinations
+            // (either in the foreground or in the background during swiping) - that can be achieved
+            // using SaveableStateHolder and rememberSaveable as shown below.
+            saveableStateHolder.SaveableStateProvider(
+                key = "MainKey",
+                content = {
+                    // Composable that maintains its own state
+                    // and can be shown in foreground or background.
+                    val checked = rememberSaveable { mutableStateOf(true) }
+                    Column(
+                        modifier = Modifier
+                            .fillMaxSize().padding(horizontal = 8.dp, vertical = 8.dp),
+                        verticalArrangement =
+                        Arrangement.spacedBy(4.dp, Alignment.CenterVertically),
+                    ) {
+                        SplitToggleChip(
+                            checked = checked.value,
+                            label = { Text("Item details") },
+                            modifier = Modifier.height(40.dp),
+                            onCheckedChange = { v -> checked.value = v },
+                            onClick = { showMainScreen = false }
+                        )
+                    }
+                }
+            )
+        } else {
+            Column(
+                modifier = Modifier.fillMaxSize().background(MaterialTheme.colors.primary),
+                horizontalAlignment = Alignment.CenterHorizontally,
+                verticalArrangement = Arrangement.Center,
+            ) {
+                Text("Show details here...", color = MaterialTheme.colors.onPrimary)
+                Text("Swipe right to dismiss", color = MaterialTheme.colors.onPrimary)
+            }
+        }
+    }
+}
diff --git a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/TimeTextSample.kt b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/TimeTextSample.kt
index 601ce2e..0f02b23 100644
--- a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/TimeTextSample.kt
+++ b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/TimeTextSample.kt
@@ -76,6 +76,7 @@
 }
 
 @OptIn(ExperimentalWearMaterialApi::class)
+@Sampled
 @Composable
 fun TimeTextWithFullDateAndTimeFormat() {
     TimeText(timeSource = TimeTextDefaults.timeSource("yyyy-MM-dd hh:mm"))
diff --git a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/Colors.kt b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/Colors.kt
index fad4fe3..4e9d0c1 100644
--- a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/Colors.kt
+++ b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/Colors.kt
@@ -32,9 +32,15 @@
     primaryVariant: Color = Color(0xFF669DF6),
     secondary: Color = Color(0xFFFDE293),
     secondaryVariant: Color = Color(0xFF594F33),
+    background: Color = Color.Black,
+    surface: Color = Color(0xFF202124),
     error: Color = Color(0xFFEE675C),
     onPrimary: Color = Color(0xFF202124),
     onSecondary: Color = Color(0xFF202124),
+    onBackground: Color = Color.White,
+    onSurface: Color = Color.White,
+    onSurfaceVariant: Color = Color(0xFFDADCE0),
+    onSurfaceVariant2: Color = Color(0xFFBDC1C6),
     onError: Color = Color(0xFF202124)
 ) {
     public var primary: Color by mutableStateOf(primary, structuralEqualityPolicy())
@@ -48,18 +54,30 @@
         structuralEqualityPolicy()
     )
         internal set
-    public val background: Color = Color.Black
-    public val surface: Color = Color(0xFF202124)
+    public var background: Color by mutableStateOf(background, structuralEqualityPolicy())
+        internal set
+    public var surface: Color by mutableStateOf(surface, structuralEqualityPolicy())
+        internal set
     public var error: Color by mutableStateOf(error, structuralEqualityPolicy())
         internal set
     public var onPrimary: Color by mutableStateOf(onPrimary, structuralEqualityPolicy())
         internal set
     public var onSecondary: Color by mutableStateOf(onSecondary, structuralEqualityPolicy())
         internal set
-    public val onBackground: Color = Color.White
-    public val onSurface: Color = Color.White
-    public val onSurfaceVariant: Color = Color(0xFFDADCE0)
-    public val onSurfaceVariant2: Color = Color(0xFFBDC1C6)
+    public var onBackground: Color by mutableStateOf(onBackground, structuralEqualityPolicy())
+        internal set
+    public var onSurface: Color by mutableStateOf(onSurface, structuralEqualityPolicy())
+        internal set
+    public var onSurfaceVariant: Color by mutableStateOf(
+        onSurfaceVariant,
+        structuralEqualityPolicy()
+    )
+        internal set
+    public var onSurfaceVariant2: Color by mutableStateOf(
+        onSurfaceVariant2,
+        structuralEqualityPolicy()
+    )
+        internal set
     public var onError: Color by mutableStateOf(onError, structuralEqualityPolicy())
         internal set
 
@@ -71,18 +89,30 @@
         primaryVariant: Color = this.primaryVariant,
         secondary: Color = this.secondary,
         secondaryVariant: Color = this.secondaryVariant,
+        background: Color = this.background,
+        surface: Color = this.surface,
         error: Color = this.error,
         onPrimary: Color = this.onPrimary,
         onSecondary: Color = this.onSecondary,
+        onBackground: Color = this.onBackground,
+        onSurface: Color = this.onSurface,
+        onSurfaceVariant: Color = this.onSurfaceVariant,
+        onSurfaceVariant2: Color = this.onSurfaceVariant2,
         onError: Color = this.onError
     ): Colors = Colors(
         primary = primary,
         primaryVariant = primaryVariant,
         secondary = secondary,
         secondaryVariant = secondaryVariant,
+        background = background,
+        surface = surface,
         error = error,
         onPrimary = onPrimary,
         onSecondary = onSecondary,
+        onBackground = onBackground,
+        onSurface = onSurface,
+        onSurfaceVariant = onSurfaceVariant,
+        onSurfaceVariant2 = onSurfaceVariant2,
         onError = onError
     )
 
@@ -176,9 +206,15 @@
     primaryVariant = other.primaryVariant
     secondary = other.secondary
     secondaryVariant = other.secondaryVariant
+    background = other.background
+    surface = other.surface
     error = other.error
     onPrimary = other.onPrimary
     onSecondary = other.onSecondary
+    onBackground = other.onBackground
+    onSurface = other.onSurface
+    onSurfaceVariant = other.onSurfaceVariant
+    onSurfaceVariant2 = other.onSurfaceVariant2
     onError = other.onError
 }
 
diff --git a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/CurvedText.kt b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/CurvedText.kt
index 86b779e..60fcbb1 100644
--- a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/CurvedText.kt
+++ b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/CurvedText.kt
@@ -56,6 +56,10 @@
  *
  * @sample androidx.wear.compose.material.samples.CurvedTextDemo
  *
+ * For more information, see the
+ * [Curved Text](https://developer.android.com/training/wearables/components/curved-text)
+ * guide.
+ *
  * @param text The text to display
  * @param color [Color] to apply to the text. If [Color.Unspecified], and [style] has no color set,
  * this will be [LocalContentColor].
diff --git a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/SwipeToDismissBox.kt b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/SwipeToDismissBox.kt
index fd0b9c3..bc269d4 100644
--- a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/SwipeToDismissBox.kt
+++ b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/SwipeToDismissBox.kt
@@ -51,9 +51,16 @@
  * Wear Material [SwipeToDismissBox] that handles the swipe-to-dismiss gesture. Takes a single
  * slot for the background (only displayed during the swipe gesture) and the foreground content.
  *
- * Example usage:
+ * Example of a simple SwipeToDismissBox with a different color displayed behind the content:
  * @sample androidx.wear.compose.material.samples.SimpleSwipeToDismissBox
  *
+ * For more information, see the
+ * [Swipe to dismiss](https://developer.android.com/training/wearables/components/swipe-to-dismiss)
+ * guide.
+ *
+ * Example of a SwipeToDismissBox with stateful composables:
+ * @sample androidx.wear.compose.material.samples.StatefulSwipeToDismissBox
+ *
  * @param state State containing information about ongoing swipe or animation.
  * @param modifier Optional [Modifier] for this component.
  * @param backgroundScrimColor Color for background scrim
diff --git a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/TimeText.kt b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/TimeText.kt
index bd8576f..1b59fd0 100644
--- a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/TimeText.kt
+++ b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/TimeText.kt
@@ -51,11 +51,18 @@
  * For proper support of Square and Round screens both Linear and Curved methods should
  * be implemented.
  *
- * The full customization for square and round devices can be checked here:
+ * The [TimeText] with full customization for square and round devices:
  * @sample androidx.wear.compose.material.samples.TimeTextWithCustomSeparator
  *
+ * An example of a [TimeText] with a different date and time format:
+ * @sample androidx.wear.compose.material.samples.TimeTextWithFullDateAndTimeFormat
+ *
+ * For more information, see the
+ * [Curved Text](https://developer.android.com/training/wearables/components/curved-text)
+ * guide.
+ *
  * @param modifier Current modifier.
- * @param timeSource [TimeSource] which retrieves the current time.
+ * @param timeSource [TimeSource] which retrieves the current time and formats it.
  * @param timeTextStyle Optional textStyle for the time text itself
  * @param contentPadding The spacing values between the container and the content
  * @param leadingLinearContent a slot before the time which is used only on Square screens
@@ -234,6 +241,8 @@
 
     /**
      * A default implementation of [TimeSource].
+     * Once the system time changes, it triggers an update of the [TimeSource.currentTime]
+     * which is formatted before that using [timeFormat] param.
      * @param timeFormat Param for formatting time
      */
     fun timeSource(timeFormat: String): TimeSource = DefaultTimeSource(timeFormat)
@@ -243,7 +252,7 @@
 internal expect class DefaultTimeSource(timeFormat: String) : TimeSource
 
 /**
- *  An interface which is responsible for retrieving time and formatting it.
+ *  An interface which is responsible for retrieving a formatted time.
  */
 @ExperimentalWearMaterialApi
 public interface TimeSource {
diff --git a/wear/compose/compose-navigation/lint-baseline.xml b/wear/compose/compose-navigation/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/compose/compose-navigation/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/compose/integration-tests/demos/lint-baseline.xml b/wear/compose/integration-tests/demos/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/compose/integration-tests/demos/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/MaterialDemos.kt b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/MaterialDemos.kt
index 83c7663..200d8b6 100644
--- a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/MaterialDemos.kt
+++ b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/MaterialDemos.kt
@@ -33,6 +33,7 @@
 import androidx.wear.compose.material.samples.SimpleScalingLazyColumnWithContentPadding
 import androidx.wear.compose.material.samples.SimpleSwipeToDismissBox
 import androidx.wear.compose.material.samples.SplitToggleChipWithCheckbox
+import androidx.wear.compose.material.samples.StatefulSwipeToDismissBox
 import androidx.wear.compose.material.samples.TimeTextWithCustomSeparator
 import androidx.wear.compose.material.samples.TimeTextWithFullDateAndTimeFormat
 import androidx.wear.compose.material.samples.TitleCardStandard
@@ -47,13 +48,27 @@
     DemoCategory(
         "Swipe to Dismiss",
         listOf(
-            ComposableDemo("Sample") { navigateBack ->
-                SimpleSwipeToDismissBox(navigateBack = navigateBack)
-            },
-            ComposableDemo("Demo") { navigateBack ->
-                val state = remember { mutableStateOf(SwipeDismissDemoState.List) }
-                SwipeToDismissDemo(navigateBack = navigateBack, demoState = state)
-            },
+            DemoCategory(
+                "Samples",
+                listOf(
+                    ComposableDemo("Simple") { navBack ->
+                        SimpleSwipeToDismissBox(navBack)
+                    },
+                    ComposableDemo("Stateful") { StatefulSwipeToDismissBox() },
+                )
+            ),
+            DemoCategory(
+                "Demos",
+                listOf(
+                    ComposableDemo("Demo") { navigateBack ->
+                        val state = remember { mutableStateOf(SwipeDismissDemoState.List) }
+                        SwipeToDismissDemo(navigateBack = navigateBack, demoState = state)
+                    },
+                    ComposableDemo("Stateful Demo") { navigateBack ->
+                        SwipeToDismissBoxWithState(navigateBack)
+                    },
+                )
+            )
         )
     )
 
@@ -64,27 +79,37 @@
         DemoCategory(
             "TimeText",
             listOf(
-                ComposableDemo("Clock only") {
-                    TimeTextClockOnly()
-                },
-                ComposableDemo("Clock with leading text") {
-                    TimeTextWithLeadingText()
-                },
-                ComposableDemo("Clock with trailing text") {
-                    TimeTextWithTrailingText()
-                },
-                ComposableDemo("Clock with leading and trailing text") {
-                    TimeTextWithLeadingAndTrailingText()
-                },
-                ComposableDemo("Clock with custom separator") {
-                    TimeTextWithCustomSeparator()
-                },
-                ComposableDemo("Clock with full date and time format") {
-                    TimeTextWithFullDateAndTimeFormat()
-                },
-                ComposableDemo("Clock with padding") {
-                    TimeTextWithPadding()
-                },
+                DemoCategory(
+                    "Samples",
+                    listOf(
+                        ComposableDemo("Clock with custom separator") {
+                            TimeTextWithCustomSeparator()
+                        },
+                        ComposableDemo("Clock with full date and time format") {
+                            TimeTextWithFullDateAndTimeFormat()
+                        },
+                    )
+                ),
+                DemoCategory(
+                    "Demos",
+                    listOf(
+                        ComposableDemo("Clock only") {
+                            TimeTextClockOnly()
+                        },
+                        ComposableDemo("Clock with leading text") {
+                            TimeTextWithLeadingText()
+                        },
+                        ComposableDemo("Clock with trailing text") {
+                            TimeTextWithTrailingText()
+                        },
+                        ComposableDemo("Clock with leading and trailing text") {
+                            TimeTextWithLeadingAndTrailingText()
+                        },
+                        ComposableDemo("Clock with padding") {
+                            TimeTextWithPadding()
+                        },
+                    )
+                ),
             )
         ),
         DemoCategory(
@@ -109,7 +134,8 @@
                 )
             )
         ),
-        DemoCategory("ToggleButton",
+        DemoCategory(
+            "ToggleButton",
             listOf(
                 ComposableDemo("Sample") { Centralize({ ToggleButtonWithIcon() }) },
                 ComposableDemo("Demos") { ToggleButtons() },
@@ -155,7 +181,8 @@
                         }
                     )
                 ),
-                DemoCategory("Demos",
+                DemoCategory(
+                    "Demos",
                     listOf(
                         ComposableDemo("Toggle chip") { ToggleChips() },
                         ComposableDemo("RTL Toggle chip") { RtlToggleChips() },
@@ -163,7 +190,8 @@
                 )
             )
         ),
-        DemoCategory("Card",
+        DemoCategory(
+            "Card",
             listOf(
                 DemoCategory(
                     "Samples",
diff --git a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/SwipeToDismissDemoWithState.kt b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/SwipeToDismissDemoWithState.kt
new file mode 100644
index 0000000..62ddaf8
--- /dev/null
+++ b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/SwipeToDismissDemoWithState.kt
@@ -0,0 +1,103 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.wear.compose.integration.demos
+
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Arrangement
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.LaunchedEffect
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.saveable.rememberSaveable
+import androidx.compose.runtime.saveable.rememberSaveableStateHolder
+import androidx.compose.runtime.setValue
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.wear.compose.material.Button
+import androidx.wear.compose.material.ExperimentalWearMaterialApi
+import androidx.wear.compose.material.MaterialTheme
+import androidx.wear.compose.material.SwipeDismissTarget
+import androidx.wear.compose.material.SwipeToDismissBox
+import androidx.wear.compose.material.Text
+import androidx.wear.compose.material.ToggleButton
+import androidx.wear.compose.material.rememberSwipeToDismissBoxState
+
+@Composable
+@ExperimentalWearMaterialApi
+fun SwipeToDismissBoxWithState(
+    quit: () -> Unit
+) {
+    // This sample flips between 2 stateful composables when you swipe:
+    //   1) ToggleScreen - displays a ToggleButton that alternates between On/Off
+    //   2) CounterScreen - displays a counter Button that increments when clicked
+    // We use SaveableStateHolder, keys and rememberSaveable to ensure that the state is
+    // persisted correctly even though each composable may be shown either in the foreground
+    // or in the background during the swipe gesture.
+    val showCounterForContent = remember { mutableStateOf(true) }
+    val state = rememberSwipeToDismissBoxState()
+    val saveableStateHolder = rememberSaveableStateHolder()
+    val toggleKey = "Toggle"
+    val counterKey = "Counter"
+    LaunchedEffect(state.currentValue) {
+        if (state.currentValue == SwipeDismissTarget.Dismissal) {
+            showCounterForContent.value = !showCounterForContent.value
+            state.snapTo(SwipeDismissTarget.Original)
+        }
+    }
+    SwipeToDismissBox(
+        state = state,
+        backgroundKey = if (showCounterForContent.value) toggleKey else counterKey,
+        contentKey = if (showCounterForContent.value) counterKey else toggleKey,
+        content = { isBackground ->
+            if (showCounterForContent.value xor isBackground)
+                saveableStateHolder.SaveableStateProvider(counterKey) {
+                    var counter by rememberSaveable { mutableStateOf(0) }
+                    Column(
+                        modifier = Modifier.fillMaxSize().background(MaterialTheme.colors.primary),
+                        horizontalAlignment = Alignment.CenterHorizontally,
+                        verticalArrangement = Arrangement.Center,
+                    ) {
+                        Button(
+                            onClick = { ++counter },
+                        ) {
+                            Text(text = "" + counter)
+                        }
+                        Button(onClick = quit) { Text(text = "Quit") }
+                    }
+                }
+            else
+                saveableStateHolder.SaveableStateProvider(toggleKey) {
+                    var toggle by rememberSaveable { mutableStateOf(false) }
+                    Column(
+                        modifier = Modifier.fillMaxSize().background(MaterialTheme.colors.primary),
+                        horizontalAlignment = Alignment.CenterHorizontally,
+                        verticalArrangement = Arrangement.Center,
+                    ) {
+                        ToggleButton(
+                            checked = toggle,
+                            onCheckedChange = { toggle = !toggle },
+                            content = { Text(text = if (toggle) "On" else "Off") },
+                        )
+                        Button(onClick = quit) { Text(text = "Quit") }
+                    }
+                }
+        }
+    )
+}
diff --git a/wear/compose/integration-tests/macrobenchmark-target/lint-baseline.xml b/wear/compose/integration-tests/macrobenchmark-target/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/compose/integration-tests/macrobenchmark-target/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/compose/integration-tests/macrobenchmark/lint-baseline.xml b/wear/compose/integration-tests/macrobenchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/compose/integration-tests/macrobenchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/compose/integration-tests/navigation/lint-baseline.xml b/wear/compose/integration-tests/navigation/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/compose/integration-tests/navigation/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/tiles/tiles-proto/lint-baseline.xml b/wear/tiles/tiles-proto/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/tiles/tiles-proto/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/tiles/tiles-renderer/build.gradle b/wear/tiles/tiles-renderer/build.gradle
index 94f0ce9..0289289 100644
--- a/wear/tiles/tiles-renderer/build.gradle
+++ b/wear/tiles/tiles-renderer/build.gradle
@@ -34,7 +34,7 @@
     implementation "androidx.concurrent:concurrent-futures:1.1.0"
     implementation "androidx.concurrent:concurrent-futures-ktx:1.1.0"
     implementation "androidx.core:core:1.3.2"
-    implementation "androidx.wear:wear:1.2.0-beta01"
+    implementation "androidx.wear:wear:1.2.0"
 
     implementation(project(":wear:tiles:tiles"))
     implementation(project(":wear:tiles:tiles-proto"))
diff --git a/wear/tiles/tiles-renderer/lint-baseline.xml b/wear/tiles/tiles-renderer/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/tiles/tiles-renderer/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/tiles/tiles-testing/build.gradle b/wear/tiles/tiles-testing/build.gradle
index 8dcef67..4c78089 100644
--- a/wear/tiles/tiles-testing/build.gradle
+++ b/wear/tiles/tiles-testing/build.gradle
@@ -28,14 +28,14 @@
 dependencies {
     api("androidx.annotation:annotation:1.1.0")
     api(libs.guavaListenableFuture)
+    api(project(":wear:tiles:tiles-renderer"))
 
     implementation "androidx.concurrent:concurrent-futures:1.1.0"
     implementation "androidx.concurrent:concurrent-futures-ktx:1.1.0"
     implementation "androidx.core:core:1.3.2"
-    implementation "androidx.wear:wear:1.2.0-beta01"
+    implementation "androidx.wear:wear:1.2.0"
 
     implementation(project(":wear:tiles:tiles"))
-    implementation(project(":wear:tiles:tiles-renderer"))
     implementation(libs.kotlinCoroutinesCore)
     implementation(libs.kotlinCoroutinesAndroid)
     implementation(libs.robolectric)
diff --git a/wear/tiles/tiles-testing/lint-baseline.xml b/wear/tiles/tiles-testing/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/tiles/tiles-testing/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/tiles/tiles/lint-baseline.xml b/wear/tiles/tiles/lint-baseline.xml
index 164e0d9..54e9c66 100644
--- a/wear/tiles/tiles/lint-baseline.xml
+++ b/wear/tiles/tiles/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha08" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-alpha08)" variant="all" version="7.1.0-alpha08">
+<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">
 
     <issue
         id="NewApi"
diff --git a/wear/watchface/watchface-client-guava/api/1.0.0-beta01.txt b/wear/watchface/watchface-client-guava/api/1.0.0-beta01.txt
new file mode 100644
index 0000000..5115180
--- /dev/null
+++ b/wear/watchface/watchface-client-guava/api/1.0.0-beta01.txt
@@ -0,0 +1,22 @@
+// Signature format: 4.0
+package androidx.wear.watchface.client {
+
+  public class ListenableWatchFaceControlClient implements androidx.wear.watchface.client.WatchFaceControlClient {
+    ctor public ListenableWatchFaceControlClient(androidx.wear.watchface.client.WatchFaceControlClient watchFaceControlClient);
+    method public void close();
+    method public androidx.wear.watchface.client.HeadlessWatchFaceClient? createHeadlessWatchFaceClient(android.content.ComponentName watchFaceName, androidx.wear.watchface.client.DeviceConfig deviceConfig, int surfaceWidth, int surfaceHeight);
+    method public static final com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.client.ListenableWatchFaceControlClient> createWatchFaceControlClient(android.content.Context context, String watchFacePackageName);
+    method public java.util.Map<java.lang.Integer,androidx.wear.watchface.client.DefaultComplicationDataSourcePolicyAndType> getDefaultComplicationDataSourcePoliciesAndType(android.content.ComponentName watchFaceName);
+    method public androidx.wear.watchface.client.EditorServiceClient getEditorServiceClient();
+    method public androidx.wear.watchface.client.InteractiveWatchFaceClient? getInteractiveWatchFaceClientInstance(String instanceId);
+    method public suspend Object? getOrCreateInteractiveWatchFaceClient(String id, androidx.wear.watchface.client.DeviceConfig deviceConfig, androidx.wear.watchface.client.WatchUiState watchUiState, androidx.wear.watchface.style.UserStyleData? userStyle, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? slotIdToComplicationData, kotlin.coroutines.Continuation<? super androidx.wear.watchface.client.InteractiveWatchFaceClient> p);
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.client.InteractiveWatchFaceClient> listenableGetOrCreateInteractiveWatchFaceClient(String id, androidx.wear.watchface.client.DeviceConfig deviceConfig, androidx.wear.watchface.client.WatchUiState watchUiState, androidx.wear.watchface.style.UserStyleData? userStyle, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? slotIdToComplicationData);
+    field public static final androidx.wear.watchface.client.ListenableWatchFaceControlClient.Companion Companion;
+  }
+
+  public static final class ListenableWatchFaceControlClient.Companion {
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.client.ListenableWatchFaceControlClient> createWatchFaceControlClient(android.content.Context context, String watchFacePackageName);
+  }
+
+}
+
diff --git a/wear/watchface/watchface-client-guava/api/public_plus_experimental_1.0.0-beta01.txt b/wear/watchface/watchface-client-guava/api/public_plus_experimental_1.0.0-beta01.txt
new file mode 100644
index 0000000..030cf28
--- /dev/null
+++ b/wear/watchface/watchface-client-guava/api/public_plus_experimental_1.0.0-beta01.txt
@@ -0,0 +1,32 @@
+// Signature format: 4.0
+package androidx.wear.watchface.client {
+
+  public class ListenableWatchFaceControlClient implements androidx.wear.watchface.client.WatchFaceControlClient {
+    ctor public ListenableWatchFaceControlClient(androidx.wear.watchface.client.WatchFaceControlClient watchFaceControlClient);
+    method public void close();
+    method public androidx.wear.watchface.client.HeadlessWatchFaceClient? createHeadlessWatchFaceClient(android.content.ComponentName watchFaceName, androidx.wear.watchface.client.DeviceConfig deviceConfig, int surfaceWidth, int surfaceHeight);
+    method public static final com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.client.ListenableWatchFaceControlClient> createWatchFaceControlClient(android.content.Context context, String watchFacePackageName);
+    method public java.util.Map<java.lang.Integer,androidx.wear.watchface.client.DefaultComplicationDataSourcePolicyAndType> getDefaultComplicationDataSourcePoliciesAndType(android.content.ComponentName watchFaceName);
+    method public androidx.wear.watchface.client.EditorServiceClient getEditorServiceClient();
+    method public androidx.wear.watchface.client.InteractiveWatchFaceClient? getInteractiveWatchFaceClientInstance(String instanceId);
+    method public suspend Object? getOrCreateInteractiveWatchFaceClient(String id, androidx.wear.watchface.client.DeviceConfig deviceConfig, androidx.wear.watchface.client.WatchUiState watchUiState, androidx.wear.watchface.style.UserStyleData? userStyle, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? slotIdToComplicationData, kotlin.coroutines.Continuation<? super androidx.wear.watchface.client.InteractiveWatchFaceClient> p);
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.client.InteractiveWatchFaceClient> listenableGetOrCreateInteractiveWatchFaceClient(String id, androidx.wear.watchface.client.DeviceConfig deviceConfig, androidx.wear.watchface.client.WatchUiState watchUiState, androidx.wear.watchface.style.UserStyleData? userStyle, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? slotIdToComplicationData);
+    field public static final androidx.wear.watchface.client.ListenableWatchFaceControlClient.Companion Companion;
+  }
+
+  public static final class ListenableWatchFaceControlClient.Companion {
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.client.ListenableWatchFaceControlClient> createWatchFaceControlClient(android.content.Context context, String watchFacePackageName);
+  }
+
+  @androidx.wear.watchface.client.WatchFaceClientExperimental public final class ListenableWatchFaceMetadataClient {
+    ctor public ListenableWatchFaceMetadataClient();
+    method public static com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.client.WatchFaceMetadataClient> createListenableWatchFaceMetadataClient(android.content.Context context, android.content.ComponentName watchFaceName);
+    field public static final androidx.wear.watchface.client.ListenableWatchFaceMetadataClient.Companion Companion;
+  }
+
+  public static final class ListenableWatchFaceMetadataClient.Companion {
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.client.WatchFaceMetadataClient> createListenableWatchFaceMetadataClient(android.content.Context context, android.content.ComponentName watchFaceName);
+  }
+
+}
+
diff --git a/wear/watchface/watchface-client-guava/api/res-1.0.0-beta01.txt b/wear/watchface/watchface-client-guava/api/res-1.0.0-beta01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wear/watchface/watchface-client-guava/api/res-1.0.0-beta01.txt
diff --git a/wear/watchface/watchface-client-guava/api/restricted_1.0.0-beta01.txt b/wear/watchface/watchface-client-guava/api/restricted_1.0.0-beta01.txt
new file mode 100644
index 0000000..5115180
--- /dev/null
+++ b/wear/watchface/watchface-client-guava/api/restricted_1.0.0-beta01.txt
@@ -0,0 +1,22 @@
+// Signature format: 4.0
+package androidx.wear.watchface.client {
+
+  public class ListenableWatchFaceControlClient implements androidx.wear.watchface.client.WatchFaceControlClient {
+    ctor public ListenableWatchFaceControlClient(androidx.wear.watchface.client.WatchFaceControlClient watchFaceControlClient);
+    method public void close();
+    method public androidx.wear.watchface.client.HeadlessWatchFaceClient? createHeadlessWatchFaceClient(android.content.ComponentName watchFaceName, androidx.wear.watchface.client.DeviceConfig deviceConfig, int surfaceWidth, int surfaceHeight);
+    method public static final com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.client.ListenableWatchFaceControlClient> createWatchFaceControlClient(android.content.Context context, String watchFacePackageName);
+    method public java.util.Map<java.lang.Integer,androidx.wear.watchface.client.DefaultComplicationDataSourcePolicyAndType> getDefaultComplicationDataSourcePoliciesAndType(android.content.ComponentName watchFaceName);
+    method public androidx.wear.watchface.client.EditorServiceClient getEditorServiceClient();
+    method public androidx.wear.watchface.client.InteractiveWatchFaceClient? getInteractiveWatchFaceClientInstance(String instanceId);
+    method public suspend Object? getOrCreateInteractiveWatchFaceClient(String id, androidx.wear.watchface.client.DeviceConfig deviceConfig, androidx.wear.watchface.client.WatchUiState watchUiState, androidx.wear.watchface.style.UserStyleData? userStyle, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? slotIdToComplicationData, kotlin.coroutines.Continuation<? super androidx.wear.watchface.client.InteractiveWatchFaceClient> p);
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.client.InteractiveWatchFaceClient> listenableGetOrCreateInteractiveWatchFaceClient(String id, androidx.wear.watchface.client.DeviceConfig deviceConfig, androidx.wear.watchface.client.WatchUiState watchUiState, androidx.wear.watchface.style.UserStyleData? userStyle, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? slotIdToComplicationData);
+    field public static final androidx.wear.watchface.client.ListenableWatchFaceControlClient.Companion Companion;
+  }
+
+  public static final class ListenableWatchFaceControlClient.Companion {
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.client.ListenableWatchFaceControlClient> createWatchFaceControlClient(android.content.Context context, String watchFacePackageName);
+  }
+
+}
+
diff --git a/wear/watchface/watchface-client-guava/lint-baseline.xml b/wear/watchface/watchface-client-guava/lint-baseline.xml
new file mode 100644
index 0000000..875be5e
--- /dev/null
+++ b/wear/watchface/watchface-client-guava/lint-baseline.xml
@@ -0,0 +1,26 @@
+<?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">
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 27 (current min is 26): `WatchFaceControlService`"
+        errorLine1="    private val realService = object : WatchFaceControlService() {"
+        errorLine2="                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidTest/java/androidx/wear/watchface/client/guava/ListenableWatchFaceMetadataClientTest.kt"
+            line="46"
+            column="31"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Extending WatchFaceControlService requires API level 27 (current min is 26): `WatchFaceControlService`"
+        errorLine1="    private val realService = object : WatchFaceControlService() {"
+        errorLine2="                                       ~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidTest/java/androidx/wear/watchface/client/guava/ListenableWatchFaceMetadataClientTest.kt"
+            line="46"
+            column="40"/>
+    </issue>
+
+</issues>
diff --git a/wear/watchface/watchface-client/api/1.0.0-beta01.txt b/wear/watchface/watchface-client/api/1.0.0-beta01.txt
new file mode 100644
index 0000000..ae220e2
--- /dev/null
+++ b/wear/watchface/watchface-client/api/1.0.0-beta01.txt
@@ -0,0 +1,184 @@
+// Signature format: 4.0
+package androidx.wear.watchface.client {
+
+  public final class ComplicationSlotState {
+    ctor public ComplicationSlotState(android.graphics.Rect bounds, int boundsType, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy, androidx.wear.watchface.complications.data.ComplicationType defaultDataSourceType, boolean isEnabled, boolean isInitiallyEnabled, androidx.wear.watchface.complications.data.ComplicationType currentType, boolean fixedComplicationDataSource, android.os.Bundle complicationConfigExtras);
+    method public android.graphics.Rect getBounds();
+    method public int getBoundsType();
+    method public android.os.Bundle getComplicationConfigExtras();
+    method public androidx.wear.watchface.complications.data.ComplicationType getCurrentType();
+    method public androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy getDefaultDataSourcePolicy();
+    method public androidx.wear.watchface.complications.data.ComplicationType getDefaultDataSourceType();
+    method public boolean getFixedComplicationDataSource();
+    method public java.util.List<androidx.wear.watchface.complications.data.ComplicationType> getSupportedTypes();
+    method public boolean isEnabled();
+    method public boolean isInitiallyEnabled();
+    property public final android.graphics.Rect bounds;
+    property public final int boundsType;
+    property public final android.os.Bundle complicationConfigExtras;
+    property public final androidx.wear.watchface.complications.data.ComplicationType currentType;
+    property public final androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy;
+    property public final androidx.wear.watchface.complications.data.ComplicationType defaultDataSourceType;
+    property public final boolean fixedComplicationDataSource;
+    property public final boolean isEnabled;
+    property public final boolean isInitiallyEnabled;
+    property public final java.util.List<androidx.wear.watchface.complications.data.ComplicationType> supportedTypes;
+  }
+
+  public final class DefaultComplicationDataSourcePolicyAndType {
+    ctor public DefaultComplicationDataSourcePolicyAndType(androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy policy, androidx.wear.watchface.complications.data.ComplicationType type);
+    method public androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy getPolicy();
+    method public androidx.wear.watchface.complications.data.ComplicationType getType();
+    property public final androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy policy;
+    property public final androidx.wear.watchface.complications.data.ComplicationType type;
+  }
+
+  public final class DeviceConfig {
+    ctor public DeviceConfig(boolean hasLowBitAmbient, boolean hasBurnInProtection, long analogPreviewReferenceTimeMillis, long digitalPreviewReferenceTimeMillis);
+    method public long getAnalogPreviewReferenceTimeMillis();
+    method public long getDigitalPreviewReferenceTimeMillis();
+    method public boolean getHasBurnInProtection();
+    method public boolean getHasLowBitAmbient();
+    property public final long analogPreviewReferenceTimeMillis;
+    property public final long digitalPreviewReferenceTimeMillis;
+    property public final boolean hasBurnInProtection;
+    property public final boolean hasLowBitAmbient;
+  }
+
+  public final class DeviceConfigKt {
+  }
+
+  public interface EditorListener {
+    method public void onEditorStateChanged(androidx.wear.watchface.client.EditorState editorState);
+  }
+
+  public interface EditorServiceClient {
+    method public void addListener(androidx.wear.watchface.client.EditorListener editorListener, java.util.concurrent.Executor listenerExecutor);
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void closeEditor() throws android.os.RemoteException;
+    method public void removeListener(androidx.wear.watchface.client.EditorListener editorListener);
+  }
+
+  public final class EditorState {
+    method public java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData> getPreviewComplicationsData();
+    method public android.graphics.Bitmap? getPreviewImage();
+    method public boolean getShouldCommitChanges();
+    method public androidx.wear.watchface.style.UserStyleData getUserStyle();
+    method public androidx.wear.watchface.client.WatchFaceId getWatchFaceId();
+    property public final java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData> previewComplicationsData;
+    property public final android.graphics.Bitmap? previewImage;
+    property public final boolean shouldCommitChanges;
+    property public final androidx.wear.watchface.style.UserStyleData userStyle;
+    property public final androidx.wear.watchface.client.WatchFaceId watchFaceId;
+  }
+
+  public final class EditorStateKt {
+  }
+
+  public interface HeadlessWatchFaceClient extends java.lang.AutoCloseable {
+    method @AnyThread public void addClientDisconnectListener(androidx.wear.watchface.client.HeadlessWatchFaceClient.ClientDisconnectListener listener, java.util.concurrent.Executor executor);
+    method public default static androidx.wear.watchface.client.HeadlessWatchFaceClient createFromBundle(android.os.Bundle bundle);
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState> getComplicationSlotsState();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public java.time.Instant getPreviewReferenceInstant();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public androidx.wear.watchface.style.UserStyleSchema getUserStyleSchema();
+    method @AnyThread public boolean isConnectionAlive();
+    method @AnyThread public void removeClientDisconnectListener(androidx.wear.watchface.client.HeadlessWatchFaceClient.ClientDisconnectListener listener);
+    method @RequiresApi(27) @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public android.graphics.Bitmap? renderComplicationToBitmap(int complicationSlotId, androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant, androidx.wear.watchface.complications.data.ComplicationData complicationData, androidx.wear.watchface.style.UserStyle? userStyle) throws android.os.RemoteException;
+    method @RequiresApi(27) @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public android.graphics.Bitmap renderWatchFaceToBitmap(androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant, androidx.wear.watchface.style.UserStyle? userStyle, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? slotIdToComplicationData) throws android.os.RemoteException;
+    method public android.os.Bundle toBundle();
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState> complicationSlotsState;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract java.time.Instant previewReferenceInstant;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract androidx.wear.watchface.style.UserStyleSchema userStyleSchema;
+    field public static final String BINDER_KEY = "HeadlessWatchFaceClient";
+    field public static final androidx.wear.watchface.client.HeadlessWatchFaceClient.Companion Companion;
+  }
+
+  public static interface HeadlessWatchFaceClient.ClientDisconnectListener {
+    method public void onClientDisconnected();
+  }
+
+  public static final class HeadlessWatchFaceClient.Companion {
+    method public androidx.wear.watchface.client.HeadlessWatchFaceClient createFromBundle(android.os.Bundle bundle);
+  }
+
+  public interface InteractiveWatchFaceClient extends java.lang.AutoCloseable {
+    method @AnyThread public void addClientDisconnectListener(androidx.wear.watchface.client.InteractiveWatchFaceClient.ClientDisconnectListener listener, java.util.concurrent.Executor executor);
+    method public void addOnWatchFaceReadyListener(java.util.concurrent.Executor executor, androidx.wear.watchface.client.InteractiveWatchFaceClient.OnWatchFaceReadyListener listener);
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public default Integer? getComplicationIdAt(@Px int x, @Px int y) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState> getComplicationSlotsState();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public java.util.List<androidx.wear.watchface.ContentDescriptionLabel> getContentDescriptionLabels();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public String getInstanceId();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public java.time.Instant getPreviewReferenceInstant();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public androidx.wear.watchface.style.UserStyleSchema getUserStyleSchema();
+    method @AnyThread public boolean isConnectionAlive();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void performAmbientTick() throws android.os.RemoteException;
+    method @AnyThread public void removeClientDisconnectListener(androidx.wear.watchface.client.InteractiveWatchFaceClient.ClientDisconnectListener listener);
+    method public void removeOnWatchFaceReadyListener(androidx.wear.watchface.client.InteractiveWatchFaceClient.OnWatchFaceReadyListener listener);
+    method @RequiresApi(27) @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public android.graphics.Bitmap renderWatchFaceToBitmap(androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant, androidx.wear.watchface.style.UserStyle? userStyle, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? idAndComplicationData) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void sendTouchEvent(@Px int xPosition, @Px int yPosition, @androidx.wear.watchface.TapType int tapType) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void setWatchUiState(androidx.wear.watchface.client.WatchUiState watchUiState) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void updateComplicationData(java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData> slotIdToComplicationData) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void updateWatchFaceInstance(String newInstanceId, androidx.wear.watchface.style.UserStyle userStyle) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void updateWatchFaceInstance(String newInstanceId, androidx.wear.watchface.style.UserStyleData userStyle) throws android.os.RemoteException;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState> complicationSlotsState;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract java.util.List<androidx.wear.watchface.ContentDescriptionLabel> contentDescriptionLabels;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract String instanceId;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract java.time.Instant previewReferenceInstant;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract androidx.wear.watchface.style.UserStyleSchema userStyleSchema;
+    field public static final androidx.wear.watchface.client.InteractiveWatchFaceClient.Companion Companion;
+    field public static final int TAP_TYPE_CANCEL = 1; // 0x1
+    field public static final int TAP_TYPE_DOWN = 0; // 0x0
+    field public static final int TAP_TYPE_UP = 2; // 0x2
+  }
+
+  public static interface InteractiveWatchFaceClient.ClientDisconnectListener {
+    method public void onClientDisconnected();
+  }
+
+  public static final class InteractiveWatchFaceClient.Companion {
+    field public static final int TAP_TYPE_CANCEL = 1; // 0x1
+    field public static final int TAP_TYPE_DOWN = 0; // 0x0
+    field public static final int TAP_TYPE_UP = 2; // 0x2
+  }
+
+  public static fun interface InteractiveWatchFaceClient.OnWatchFaceReadyListener {
+    method public void onWatchFaceReady();
+  }
+
+  public interface WatchFaceControlClient extends java.lang.AutoCloseable {
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public androidx.wear.watchface.client.HeadlessWatchFaceClient? createHeadlessWatchFaceClient(android.content.ComponentName watchFaceName, androidx.wear.watchface.client.DeviceConfig deviceConfig, @Px int surfaceWidth, @Px int surfaceHeight) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses={ServiceNotBoundException::class, ServiceStartFailureException::class}) public default static suspend Object? createWatchFaceControlClient(android.content.Context context, String watchFacePackageName, kotlin.coroutines.Continuation<? super androidx.wear.watchface.client.WatchFaceControlClient> p) throws androidx.wear.watchface.client.WatchFaceControlClient.ServiceNotBoundException, androidx.wear.watchface.client.WatchFaceControlClient.ServiceStartFailureException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public java.util.Map<java.lang.Integer,androidx.wear.watchface.client.DefaultComplicationDataSourcePolicyAndType> getDefaultComplicationDataSourcePoliciesAndType(android.content.ComponentName watchFaceName) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public androidx.wear.watchface.client.EditorServiceClient getEditorServiceClient() throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public androidx.wear.watchface.client.InteractiveWatchFaceClient? getInteractiveWatchFaceClientInstance(String instanceId) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public suspend Object? getOrCreateInteractiveWatchFaceClient(String id, androidx.wear.watchface.client.DeviceConfig deviceConfig, androidx.wear.watchface.client.WatchUiState watchUiState, androidx.wear.watchface.style.UserStyleData? userStyle, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? slotIdToComplicationData, kotlin.coroutines.Continuation<? super androidx.wear.watchface.client.InteractiveWatchFaceClient> p) throws android.os.RemoteException;
+    field public static final androidx.wear.watchface.client.WatchFaceControlClient.Companion Companion;
+  }
+
+  public static final class WatchFaceControlClient.Companion {
+    method @kotlin.jvm.Throws(exceptionClasses={ServiceNotBoundException::class, ServiceStartFailureException::class}) public suspend Object? createWatchFaceControlClient(android.content.Context context, String watchFacePackageName, kotlin.coroutines.Continuation<? super androidx.wear.watchface.client.WatchFaceControlClient> p) throws androidx.wear.watchface.client.WatchFaceControlClient.ServiceNotBoundException, androidx.wear.watchface.client.WatchFaceControlClient.ServiceStartFailureException;
+  }
+
+  public static final class WatchFaceControlClient.ServiceNotBoundException extends java.lang.Exception {
+    ctor public WatchFaceControlClient.ServiceNotBoundException();
+  }
+
+  public static final class WatchFaceControlClient.ServiceStartFailureException extends java.lang.Exception {
+    ctor public WatchFaceControlClient.ServiceStartFailureException(optional String message);
+  }
+
+  public final class WatchFaceId {
+    ctor public WatchFaceId(String id);
+    method public String getId();
+    property public final String id;
+  }
+
+  public final class WatchUiState {
+    ctor public WatchUiState(boolean inAmbientMode, int interruptionFilter);
+    method public boolean getInAmbientMode();
+    method public int getInterruptionFilter();
+    property public final boolean inAmbientMode;
+    property public final int interruptionFilter;
+  }
+
+}
+
diff --git a/wear/watchface/watchface-client/api/public_plus_experimental_1.0.0-beta01.txt b/wear/watchface/watchface-client/api/public_plus_experimental_1.0.0-beta01.txt
new file mode 100644
index 0000000..63f8385
--- /dev/null
+++ b/wear/watchface/watchface-client/api/public_plus_experimental_1.0.0-beta01.txt
@@ -0,0 +1,226 @@
+// Signature format: 4.0
+package androidx.wear.watchface.client {
+
+  @androidx.wear.watchface.client.WatchFaceClientExperimental public final class ComplicationSlotMetadata {
+    ctor public ComplicationSlotMetadata(androidx.wear.watchface.complications.ComplicationSlotBounds? bounds, int boundsType, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy, androidx.wear.watchface.complications.data.ComplicationType defaultDataSourceType, boolean isInitiallyEnabled, boolean fixedComplicationDataSource, android.os.Bundle complicationConfigExtras);
+    method public androidx.wear.watchface.complications.ComplicationSlotBounds? getBounds();
+    method public int getBoundsType();
+    method public android.os.Bundle getComplicationConfigExtras();
+    method public androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy getDefaultDataSourcePolicy();
+    method public androidx.wear.watchface.complications.data.ComplicationType getDefaultDataSourceType();
+    method public boolean getFixedComplicationDataSource();
+    method public java.util.List<androidx.wear.watchface.complications.data.ComplicationType> getSupportedTypes();
+    method public boolean isInitiallyEnabled();
+    property public final androidx.wear.watchface.complications.ComplicationSlotBounds? bounds;
+    property public final int boundsType;
+    property public final android.os.Bundle complicationConfigExtras;
+    property public final androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy;
+    property public final androidx.wear.watchface.complications.data.ComplicationType defaultDataSourceType;
+    property public final boolean fixedComplicationDataSource;
+    property public final boolean isInitiallyEnabled;
+    property public final java.util.List<androidx.wear.watchface.complications.data.ComplicationType> supportedTypes;
+  }
+
+  public final class ComplicationSlotState {
+    ctor public ComplicationSlotState(android.graphics.Rect bounds, int boundsType, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy, androidx.wear.watchface.complications.data.ComplicationType defaultDataSourceType, boolean isEnabled, boolean isInitiallyEnabled, androidx.wear.watchface.complications.data.ComplicationType currentType, boolean fixedComplicationDataSource, android.os.Bundle complicationConfigExtras);
+    method public android.graphics.Rect getBounds();
+    method public int getBoundsType();
+    method public android.os.Bundle getComplicationConfigExtras();
+    method public androidx.wear.watchface.complications.data.ComplicationType getCurrentType();
+    method public androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy getDefaultDataSourcePolicy();
+    method public androidx.wear.watchface.complications.data.ComplicationType getDefaultDataSourceType();
+    method public boolean getFixedComplicationDataSource();
+    method public java.util.List<androidx.wear.watchface.complications.data.ComplicationType> getSupportedTypes();
+    method public boolean isEnabled();
+    method public boolean isInitiallyEnabled();
+    property public final android.graphics.Rect bounds;
+    property public final int boundsType;
+    property public final android.os.Bundle complicationConfigExtras;
+    property public final androidx.wear.watchface.complications.data.ComplicationType currentType;
+    property public final androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy;
+    property public final androidx.wear.watchface.complications.data.ComplicationType defaultDataSourceType;
+    property public final boolean fixedComplicationDataSource;
+    property public final boolean isEnabled;
+    property public final boolean isInitiallyEnabled;
+    property public final java.util.List<androidx.wear.watchface.complications.data.ComplicationType> supportedTypes;
+  }
+
+  public final class DefaultComplicationDataSourcePolicyAndType {
+    ctor public DefaultComplicationDataSourcePolicyAndType(androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy policy, androidx.wear.watchface.complications.data.ComplicationType type);
+    method public androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy getPolicy();
+    method public androidx.wear.watchface.complications.data.ComplicationType getType();
+    property public final androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy policy;
+    property public final androidx.wear.watchface.complications.data.ComplicationType type;
+  }
+
+  public final class DeviceConfig {
+    ctor public DeviceConfig(boolean hasLowBitAmbient, boolean hasBurnInProtection, long analogPreviewReferenceTimeMillis, long digitalPreviewReferenceTimeMillis);
+    method public long getAnalogPreviewReferenceTimeMillis();
+    method public long getDigitalPreviewReferenceTimeMillis();
+    method public boolean getHasBurnInProtection();
+    method public boolean getHasLowBitAmbient();
+    property public final long analogPreviewReferenceTimeMillis;
+    property public final long digitalPreviewReferenceTimeMillis;
+    property public final boolean hasBurnInProtection;
+    property public final boolean hasLowBitAmbient;
+  }
+
+  public final class DeviceConfigKt {
+  }
+
+  public interface EditorListener {
+    method public void onEditorStateChanged(androidx.wear.watchface.client.EditorState editorState);
+  }
+
+  public interface EditorServiceClient {
+    method public void addListener(androidx.wear.watchface.client.EditorListener editorListener, java.util.concurrent.Executor listenerExecutor);
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void closeEditor() throws android.os.RemoteException;
+    method public void removeListener(androidx.wear.watchface.client.EditorListener editorListener);
+  }
+
+  public final class EditorState {
+    method public java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData> getPreviewComplicationsData();
+    method public android.graphics.Bitmap? getPreviewImage();
+    method public boolean getShouldCommitChanges();
+    method public androidx.wear.watchface.style.UserStyleData getUserStyle();
+    method public androidx.wear.watchface.client.WatchFaceId getWatchFaceId();
+    property public final java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData> previewComplicationsData;
+    property public final android.graphics.Bitmap? previewImage;
+    property public final boolean shouldCommitChanges;
+    property public final androidx.wear.watchface.style.UserStyleData userStyle;
+    property public final androidx.wear.watchface.client.WatchFaceId watchFaceId;
+  }
+
+  public final class EditorStateKt {
+  }
+
+  public interface HeadlessWatchFaceClient extends java.lang.AutoCloseable {
+    method @AnyThread public void addClientDisconnectListener(androidx.wear.watchface.client.HeadlessWatchFaceClient.ClientDisconnectListener listener, java.util.concurrent.Executor executor);
+    method public default static androidx.wear.watchface.client.HeadlessWatchFaceClient createFromBundle(android.os.Bundle bundle);
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState> getComplicationSlotsState();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public java.time.Instant getPreviewReferenceInstant();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public androidx.wear.watchface.style.UserStyleSchema getUserStyleSchema();
+    method @AnyThread public boolean isConnectionAlive();
+    method @AnyThread public void removeClientDisconnectListener(androidx.wear.watchface.client.HeadlessWatchFaceClient.ClientDisconnectListener listener);
+    method @RequiresApi(27) @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public android.graphics.Bitmap? renderComplicationToBitmap(int complicationSlotId, androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant, androidx.wear.watchface.complications.data.ComplicationData complicationData, androidx.wear.watchface.style.UserStyle? userStyle) throws android.os.RemoteException;
+    method @RequiresApi(27) @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public android.graphics.Bitmap renderWatchFaceToBitmap(androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant, androidx.wear.watchface.style.UserStyle? userStyle, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? slotIdToComplicationData) throws android.os.RemoteException;
+    method public android.os.Bundle toBundle();
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState> complicationSlotsState;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract java.time.Instant previewReferenceInstant;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract androidx.wear.watchface.style.UserStyleSchema userStyleSchema;
+    field public static final String BINDER_KEY = "HeadlessWatchFaceClient";
+    field public static final androidx.wear.watchface.client.HeadlessWatchFaceClient.Companion Companion;
+  }
+
+  public static interface HeadlessWatchFaceClient.ClientDisconnectListener {
+    method public void onClientDisconnected();
+  }
+
+  public static final class HeadlessWatchFaceClient.Companion {
+    method public androidx.wear.watchface.client.HeadlessWatchFaceClient createFromBundle(android.os.Bundle bundle);
+  }
+
+  public interface InteractiveWatchFaceClient extends java.lang.AutoCloseable {
+    method @AnyThread public void addClientDisconnectListener(androidx.wear.watchface.client.InteractiveWatchFaceClient.ClientDisconnectListener listener, java.util.concurrent.Executor executor);
+    method public void addOnWatchFaceReadyListener(java.util.concurrent.Executor executor, androidx.wear.watchface.client.InteractiveWatchFaceClient.OnWatchFaceReadyListener listener);
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public default Integer? getComplicationIdAt(@Px int x, @Px int y) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState> getComplicationSlotsState();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public java.util.List<androidx.wear.watchface.ContentDescriptionLabel> getContentDescriptionLabels();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public String getInstanceId();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public java.time.Instant getPreviewReferenceInstant();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public androidx.wear.watchface.style.UserStyleSchema getUserStyleSchema();
+    method @AnyThread public boolean isConnectionAlive();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void performAmbientTick() throws android.os.RemoteException;
+    method @AnyThread public void removeClientDisconnectListener(androidx.wear.watchface.client.InteractiveWatchFaceClient.ClientDisconnectListener listener);
+    method public void removeOnWatchFaceReadyListener(androidx.wear.watchface.client.InteractiveWatchFaceClient.OnWatchFaceReadyListener listener);
+    method @RequiresApi(27) @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public android.graphics.Bitmap renderWatchFaceToBitmap(androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant, androidx.wear.watchface.style.UserStyle? userStyle, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? idAndComplicationData) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void sendTouchEvent(@Px int xPosition, @Px int yPosition, @androidx.wear.watchface.TapType int tapType) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void setWatchUiState(androidx.wear.watchface.client.WatchUiState watchUiState) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void updateComplicationData(java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData> slotIdToComplicationData) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void updateWatchFaceInstance(String newInstanceId, androidx.wear.watchface.style.UserStyle userStyle) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void updateWatchFaceInstance(String newInstanceId, androidx.wear.watchface.style.UserStyleData userStyle) throws android.os.RemoteException;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState> complicationSlotsState;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract java.util.List<androidx.wear.watchface.ContentDescriptionLabel> contentDescriptionLabels;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract String instanceId;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract java.time.Instant previewReferenceInstant;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract androidx.wear.watchface.style.UserStyleSchema userStyleSchema;
+    field public static final androidx.wear.watchface.client.InteractiveWatchFaceClient.Companion Companion;
+    field public static final int TAP_TYPE_CANCEL = 1; // 0x1
+    field public static final int TAP_TYPE_DOWN = 0; // 0x0
+    field public static final int TAP_TYPE_UP = 2; // 0x2
+  }
+
+  public static interface InteractiveWatchFaceClient.ClientDisconnectListener {
+    method public void onClientDisconnected();
+  }
+
+  public static final class InteractiveWatchFaceClient.Companion {
+    field public static final int TAP_TYPE_CANCEL = 1; // 0x1
+    field public static final int TAP_TYPE_DOWN = 0; // 0x0
+    field public static final int TAP_TYPE_UP = 2; // 0x2
+  }
+
+  public static fun interface InteractiveWatchFaceClient.OnWatchFaceReadyListener {
+    method public void onWatchFaceReady();
+  }
+
+  @kotlin.RequiresOptIn(message="This is an experimental API that may change or be removed without warning.") @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) public @interface WatchFaceClientExperimental {
+  }
+
+  public interface WatchFaceControlClient extends java.lang.AutoCloseable {
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public androidx.wear.watchface.client.HeadlessWatchFaceClient? createHeadlessWatchFaceClient(android.content.ComponentName watchFaceName, androidx.wear.watchface.client.DeviceConfig deviceConfig, @Px int surfaceWidth, @Px int surfaceHeight) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses={ServiceNotBoundException::class, ServiceStartFailureException::class}) public default static suspend Object? createWatchFaceControlClient(android.content.Context context, String watchFacePackageName, kotlin.coroutines.Continuation<? super androidx.wear.watchface.client.WatchFaceControlClient> p) throws androidx.wear.watchface.client.WatchFaceControlClient.ServiceNotBoundException, androidx.wear.watchface.client.WatchFaceControlClient.ServiceStartFailureException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public java.util.Map<java.lang.Integer,androidx.wear.watchface.client.DefaultComplicationDataSourcePolicyAndType> getDefaultComplicationDataSourcePoliciesAndType(android.content.ComponentName watchFaceName) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public androidx.wear.watchface.client.EditorServiceClient getEditorServiceClient() throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public androidx.wear.watchface.client.InteractiveWatchFaceClient? getInteractiveWatchFaceClientInstance(String instanceId) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public suspend Object? getOrCreateInteractiveWatchFaceClient(String id, androidx.wear.watchface.client.DeviceConfig deviceConfig, androidx.wear.watchface.client.WatchUiState watchUiState, androidx.wear.watchface.style.UserStyleData? userStyle, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? slotIdToComplicationData, kotlin.coroutines.Continuation<? super androidx.wear.watchface.client.InteractiveWatchFaceClient> p) throws android.os.RemoteException;
+    field public static final androidx.wear.watchface.client.WatchFaceControlClient.Companion Companion;
+  }
+
+  public static final class WatchFaceControlClient.Companion {
+    method @kotlin.jvm.Throws(exceptionClasses={ServiceNotBoundException::class, ServiceStartFailureException::class}) public suspend Object? createWatchFaceControlClient(android.content.Context context, String watchFacePackageName, kotlin.coroutines.Continuation<? super androidx.wear.watchface.client.WatchFaceControlClient> p) throws androidx.wear.watchface.client.WatchFaceControlClient.ServiceNotBoundException, androidx.wear.watchface.client.WatchFaceControlClient.ServiceStartFailureException;
+  }
+
+  public static final class WatchFaceControlClient.ServiceNotBoundException extends java.lang.Exception {
+    ctor public WatchFaceControlClient.ServiceNotBoundException();
+  }
+
+  public static final class WatchFaceControlClient.ServiceStartFailureException extends java.lang.Exception {
+    ctor public WatchFaceControlClient.ServiceStartFailureException(optional String message);
+  }
+
+  public final class WatchFaceId {
+    ctor public WatchFaceId(String id);
+    method public String getId();
+    property public final String id;
+  }
+
+  @androidx.wear.watchface.client.WatchFaceClientExperimental public interface WatchFaceMetadataClient extends java.lang.AutoCloseable {
+    method @kotlin.jvm.Throws(exceptionClasses={ServiceNotBoundException::class, ServiceStartFailureException::class}) public default static suspend Object? createWatchFaceMetadataClient(android.content.Context context, android.content.ComponentName watchFaceName, kotlin.coroutines.Continuation<? super androidx.wear.watchface.client.WatchFaceMetadataClient> p) throws androidx.wear.watchface.client.WatchFaceMetadataClient.ServiceNotBoundException, androidx.wear.watchface.client.WatchFaceMetadataClient.ServiceStartFailureException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotMetadata> getComplicationSlotMetadataMap() throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public androidx.wear.watchface.style.UserStyleSchema getUserStyleSchema() throws android.os.RemoteException;
+    field public static final androidx.wear.watchface.client.WatchFaceMetadataClient.Companion Companion;
+  }
+
+  public static final class WatchFaceMetadataClient.Companion {
+    method @kotlin.jvm.Throws(exceptionClasses={ServiceNotBoundException::class, ServiceStartFailureException::class}) public suspend Object? createWatchFaceMetadataClient(android.content.Context context, android.content.ComponentName watchFaceName, kotlin.coroutines.Continuation<? super androidx.wear.watchface.client.WatchFaceMetadataClient> p) throws androidx.wear.watchface.client.WatchFaceMetadataClient.ServiceNotBoundException, androidx.wear.watchface.client.WatchFaceMetadataClient.ServiceStartFailureException;
+  }
+
+  public static final class WatchFaceMetadataClient.ServiceNotBoundException extends java.lang.Exception {
+    ctor public WatchFaceMetadataClient.ServiceNotBoundException();
+  }
+
+  public static final class WatchFaceMetadataClient.ServiceStartFailureException extends java.lang.Exception {
+    ctor public WatchFaceMetadataClient.ServiceStartFailureException(optional String message);
+  }
+
+  public final class WatchUiState {
+    ctor public WatchUiState(boolean inAmbientMode, int interruptionFilter);
+    method public boolean getInAmbientMode();
+    method public int getInterruptionFilter();
+    property public final boolean inAmbientMode;
+    property public final int interruptionFilter;
+  }
+
+}
+
diff --git a/wear/watchface/watchface-client/api/res-1.0.0-beta01.txt b/wear/watchface/watchface-client/api/res-1.0.0-beta01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wear/watchface/watchface-client/api/res-1.0.0-beta01.txt
diff --git a/wear/watchface/watchface-client/api/restricted_1.0.0-beta01.txt b/wear/watchface/watchface-client/api/restricted_1.0.0-beta01.txt
new file mode 100644
index 0000000..19c1c16
--- /dev/null
+++ b/wear/watchface/watchface-client/api/restricted_1.0.0-beta01.txt
@@ -0,0 +1,184 @@
+// Signature format: 4.0
+package androidx.wear.watchface.client {
+
+  public final class ComplicationSlotState {
+    ctor public ComplicationSlotState(android.graphics.Rect bounds, @androidx.wear.watchface.ComplicationSlotBoundsType int boundsType, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy, androidx.wear.watchface.complications.data.ComplicationType defaultDataSourceType, boolean isEnabled, boolean isInitiallyEnabled, androidx.wear.watchface.complications.data.ComplicationType currentType, boolean fixedComplicationDataSource, android.os.Bundle complicationConfigExtras);
+    method public android.graphics.Rect getBounds();
+    method public int getBoundsType();
+    method public android.os.Bundle getComplicationConfigExtras();
+    method public androidx.wear.watchface.complications.data.ComplicationType getCurrentType();
+    method public androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy getDefaultDataSourcePolicy();
+    method public androidx.wear.watchface.complications.data.ComplicationType getDefaultDataSourceType();
+    method public boolean getFixedComplicationDataSource();
+    method public java.util.List<androidx.wear.watchface.complications.data.ComplicationType> getSupportedTypes();
+    method public boolean isEnabled();
+    method public boolean isInitiallyEnabled();
+    property public final android.graphics.Rect bounds;
+    property public final int boundsType;
+    property public final android.os.Bundle complicationConfigExtras;
+    property public final androidx.wear.watchface.complications.data.ComplicationType currentType;
+    property public final androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy;
+    property public final androidx.wear.watchface.complications.data.ComplicationType defaultDataSourceType;
+    property public final boolean fixedComplicationDataSource;
+    property public final boolean isEnabled;
+    property public final boolean isInitiallyEnabled;
+    property public final java.util.List<androidx.wear.watchface.complications.data.ComplicationType> supportedTypes;
+  }
+
+  public final class DefaultComplicationDataSourcePolicyAndType {
+    ctor public DefaultComplicationDataSourcePolicyAndType(androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy policy, androidx.wear.watchface.complications.data.ComplicationType type);
+    method public androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy getPolicy();
+    method public androidx.wear.watchface.complications.data.ComplicationType getType();
+    property public final androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy policy;
+    property public final androidx.wear.watchface.complications.data.ComplicationType type;
+  }
+
+  public final class DeviceConfig {
+    ctor public DeviceConfig(boolean hasLowBitAmbient, boolean hasBurnInProtection, long analogPreviewReferenceTimeMillis, long digitalPreviewReferenceTimeMillis);
+    method public long getAnalogPreviewReferenceTimeMillis();
+    method public long getDigitalPreviewReferenceTimeMillis();
+    method public boolean getHasBurnInProtection();
+    method public boolean getHasLowBitAmbient();
+    property public final long analogPreviewReferenceTimeMillis;
+    property public final long digitalPreviewReferenceTimeMillis;
+    property public final boolean hasBurnInProtection;
+    property public final boolean hasLowBitAmbient;
+  }
+
+  public final class DeviceConfigKt {
+  }
+
+  public interface EditorListener {
+    method public void onEditorStateChanged(androidx.wear.watchface.client.EditorState editorState);
+  }
+
+  public interface EditorServiceClient {
+    method public void addListener(androidx.wear.watchface.client.EditorListener editorListener, java.util.concurrent.Executor listenerExecutor);
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void closeEditor() throws android.os.RemoteException;
+    method public void removeListener(androidx.wear.watchface.client.EditorListener editorListener);
+  }
+
+  public final class EditorState {
+    method public java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData> getPreviewComplicationsData();
+    method public android.graphics.Bitmap? getPreviewImage();
+    method public boolean getShouldCommitChanges();
+    method public androidx.wear.watchface.style.UserStyleData getUserStyle();
+    method public androidx.wear.watchface.client.WatchFaceId getWatchFaceId();
+    property public final java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData> previewComplicationsData;
+    property public final android.graphics.Bitmap? previewImage;
+    property public final boolean shouldCommitChanges;
+    property public final androidx.wear.watchface.style.UserStyleData userStyle;
+    property public final androidx.wear.watchface.client.WatchFaceId watchFaceId;
+  }
+
+  public final class EditorStateKt {
+  }
+
+  public interface HeadlessWatchFaceClient extends java.lang.AutoCloseable {
+    method @AnyThread public void addClientDisconnectListener(androidx.wear.watchface.client.HeadlessWatchFaceClient.ClientDisconnectListener listener, java.util.concurrent.Executor executor);
+    method public default static androidx.wear.watchface.client.HeadlessWatchFaceClient createFromBundle(android.os.Bundle bundle);
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState> getComplicationSlotsState();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public java.time.Instant getPreviewReferenceInstant();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public androidx.wear.watchface.style.UserStyleSchema getUserStyleSchema();
+    method @AnyThread public boolean isConnectionAlive();
+    method @AnyThread public void removeClientDisconnectListener(androidx.wear.watchface.client.HeadlessWatchFaceClient.ClientDisconnectListener listener);
+    method @RequiresApi(27) @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public android.graphics.Bitmap? renderComplicationToBitmap(int complicationSlotId, androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant, androidx.wear.watchface.complications.data.ComplicationData complicationData, androidx.wear.watchface.style.UserStyle? userStyle) throws android.os.RemoteException;
+    method @RequiresApi(27) @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public android.graphics.Bitmap renderWatchFaceToBitmap(androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant, androidx.wear.watchface.style.UserStyle? userStyle, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? slotIdToComplicationData) throws android.os.RemoteException;
+    method public android.os.Bundle toBundle();
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState> complicationSlotsState;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract java.time.Instant previewReferenceInstant;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract androidx.wear.watchface.style.UserStyleSchema userStyleSchema;
+    field public static final String BINDER_KEY = "HeadlessWatchFaceClient";
+    field public static final androidx.wear.watchface.client.HeadlessWatchFaceClient.Companion Companion;
+  }
+
+  public static interface HeadlessWatchFaceClient.ClientDisconnectListener {
+    method public void onClientDisconnected();
+  }
+
+  public static final class HeadlessWatchFaceClient.Companion {
+    method public androidx.wear.watchface.client.HeadlessWatchFaceClient createFromBundle(android.os.Bundle bundle);
+  }
+
+  public interface InteractiveWatchFaceClient extends java.lang.AutoCloseable {
+    method @AnyThread public void addClientDisconnectListener(androidx.wear.watchface.client.InteractiveWatchFaceClient.ClientDisconnectListener listener, java.util.concurrent.Executor executor);
+    method public void addOnWatchFaceReadyListener(java.util.concurrent.Executor executor, androidx.wear.watchface.client.InteractiveWatchFaceClient.OnWatchFaceReadyListener listener);
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public default Integer? getComplicationIdAt(@Px int x, @Px int y) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState> getComplicationSlotsState();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public java.util.List<androidx.wear.watchface.ContentDescriptionLabel> getContentDescriptionLabels();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public String getInstanceId();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public java.time.Instant getPreviewReferenceInstant();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public androidx.wear.watchface.style.UserStyleSchema getUserStyleSchema();
+    method @AnyThread public boolean isConnectionAlive();
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void performAmbientTick() throws android.os.RemoteException;
+    method @AnyThread public void removeClientDisconnectListener(androidx.wear.watchface.client.InteractiveWatchFaceClient.ClientDisconnectListener listener);
+    method public void removeOnWatchFaceReadyListener(androidx.wear.watchface.client.InteractiveWatchFaceClient.OnWatchFaceReadyListener listener);
+    method @RequiresApi(27) @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public android.graphics.Bitmap renderWatchFaceToBitmap(androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant, androidx.wear.watchface.style.UserStyle? userStyle, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? idAndComplicationData) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void sendTouchEvent(@Px int xPosition, @Px int yPosition, @androidx.wear.watchface.TapType int tapType) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void setWatchUiState(androidx.wear.watchface.client.WatchUiState watchUiState) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void updateComplicationData(java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData> slotIdToComplicationData) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void updateWatchFaceInstance(String newInstanceId, androidx.wear.watchface.style.UserStyle userStyle) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void updateWatchFaceInstance(String newInstanceId, androidx.wear.watchface.style.UserStyleData userStyle) throws android.os.RemoteException;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState> complicationSlotsState;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract java.util.List<androidx.wear.watchface.ContentDescriptionLabel> contentDescriptionLabels;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract String instanceId;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract java.time.Instant previewReferenceInstant;
+    property @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public abstract androidx.wear.watchface.style.UserStyleSchema userStyleSchema;
+    field public static final androidx.wear.watchface.client.InteractiveWatchFaceClient.Companion Companion;
+    field public static final int TAP_TYPE_CANCEL = 1; // 0x1
+    field public static final int TAP_TYPE_DOWN = 0; // 0x0
+    field public static final int TAP_TYPE_UP = 2; // 0x2
+  }
+
+  public static interface InteractiveWatchFaceClient.ClientDisconnectListener {
+    method public void onClientDisconnected();
+  }
+
+  public static final class InteractiveWatchFaceClient.Companion {
+    field public static final int TAP_TYPE_CANCEL = 1; // 0x1
+    field public static final int TAP_TYPE_DOWN = 0; // 0x0
+    field public static final int TAP_TYPE_UP = 2; // 0x2
+  }
+
+  public static fun interface InteractiveWatchFaceClient.OnWatchFaceReadyListener {
+    method public void onWatchFaceReady();
+  }
+
+  public interface WatchFaceControlClient extends java.lang.AutoCloseable {
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public androidx.wear.watchface.client.HeadlessWatchFaceClient? createHeadlessWatchFaceClient(android.content.ComponentName watchFaceName, androidx.wear.watchface.client.DeviceConfig deviceConfig, @Px int surfaceWidth, @Px int surfaceHeight) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses={ServiceNotBoundException::class, ServiceStartFailureException::class}) public default static suspend Object? createWatchFaceControlClient(android.content.Context context, String watchFacePackageName, kotlin.coroutines.Continuation<? super androidx.wear.watchface.client.WatchFaceControlClient> p) throws androidx.wear.watchface.client.WatchFaceControlClient.ServiceNotBoundException, androidx.wear.watchface.client.WatchFaceControlClient.ServiceStartFailureException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public java.util.Map<java.lang.Integer,androidx.wear.watchface.client.DefaultComplicationDataSourcePolicyAndType> getDefaultComplicationDataSourcePoliciesAndType(android.content.ComponentName watchFaceName) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public androidx.wear.watchface.client.EditorServiceClient getEditorServiceClient() throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public androidx.wear.watchface.client.InteractiveWatchFaceClient? getInteractiveWatchFaceClientInstance(String instanceId) throws android.os.RemoteException;
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public suspend Object? getOrCreateInteractiveWatchFaceClient(String id, androidx.wear.watchface.client.DeviceConfig deviceConfig, androidx.wear.watchface.client.WatchUiState watchUiState, androidx.wear.watchface.style.UserStyleData? userStyle, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? slotIdToComplicationData, kotlin.coroutines.Continuation<? super androidx.wear.watchface.client.InteractiveWatchFaceClient> p) throws android.os.RemoteException;
+    field public static final androidx.wear.watchface.client.WatchFaceControlClient.Companion Companion;
+  }
+
+  public static final class WatchFaceControlClient.Companion {
+    method @kotlin.jvm.Throws(exceptionClasses={ServiceNotBoundException::class, ServiceStartFailureException::class}) public suspend Object? createWatchFaceControlClient(android.content.Context context, String watchFacePackageName, kotlin.coroutines.Continuation<? super androidx.wear.watchface.client.WatchFaceControlClient> p) throws androidx.wear.watchface.client.WatchFaceControlClient.ServiceNotBoundException, androidx.wear.watchface.client.WatchFaceControlClient.ServiceStartFailureException;
+  }
+
+  public static final class WatchFaceControlClient.ServiceNotBoundException extends java.lang.Exception {
+    ctor public WatchFaceControlClient.ServiceNotBoundException();
+  }
+
+  public static final class WatchFaceControlClient.ServiceStartFailureException extends java.lang.Exception {
+    ctor public WatchFaceControlClient.ServiceStartFailureException(optional String message);
+  }
+
+  public final class WatchFaceId {
+    ctor public WatchFaceId(String id);
+    method public String getId();
+    property public final String id;
+  }
+
+  public final class WatchUiState {
+    ctor public WatchUiState(boolean inAmbientMode, int interruptionFilter);
+    method public boolean getInAmbientMode();
+    method public int getInterruptionFilter();
+    property public final boolean inAmbientMode;
+    property public final int interruptionFilter;
+  }
+
+}
+
diff --git a/wear/watchface/watchface-client/lint-baseline.xml b/wear/watchface/watchface-client/lint-baseline.xml
new file mode 100644
index 0000000..32ce6d3
--- /dev/null
+++ b/wear/watchface/watchface-client/lint-baseline.xml
@@ -0,0 +1,59 @@
+<?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">
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 30 (current min is 26): `WatchFaceId`"
+        errorLine1="        WatchFaceId(watchFaceInstanceId ?: &quot;&quot;),"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/watchface/client/EditorState.kt"
+            line="94"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 27 (current min is 26): `WatchFaceControlService`"
+        errorLine1="    private val realService = object : WatchFaceControlService() {"
+        errorLine2="                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidTest/java/androidx/wear/watchface/client/test/WatchFaceControlTestService.kt"
+            line="43"
+            column="31"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Extending WatchFaceControlService requires API level 27 (current min is 26): `WatchFaceControlService`"
+        errorLine1="    private val realService = object : WatchFaceControlService() {"
+        errorLine2="                                       ~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidTest/java/androidx/wear/watchface/client/test/WatchFaceControlTestService.kt"
+            line="43"
+            column="40"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 27 (current min is 26): `IWatchFaceInstanceServiceStub`"
+        errorLine1="            object : IWatchFaceInstanceServiceStub(this, Handler(Looper.getMainLooper())) {"
+        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidTest/java/androidx/wear/watchface/client/test/WatchFaceControlTestService.kt"
+            line="45"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Extending IWatchFaceInstanceServiceStub requires API level 27 (current min is 26): `IWatchFaceInstanceServiceStub`"
+        errorLine1="            object : IWatchFaceInstanceServiceStub(this, Handler(Looper.getMainLooper())) {"
+        errorLine2="                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidTest/java/androidx/wear/watchface/client/test/WatchFaceControlTestService.kt"
+            line="45"
+            column="22"/>
+    </issue>
+
+</issues>
diff --git a/wear/watchface/watchface-complications-data-source-ktx/api/1.0.0-beta01.txt b/wear/watchface/watchface-complications-data-source-ktx/api/1.0.0-beta01.txt
new file mode 100644
index 0000000..eabce2c
--- /dev/null
+++ b/wear/watchface/watchface-complications-data-source-ktx/api/1.0.0-beta01.txt
@@ -0,0 +1,11 @@
+// Signature format: 4.0
+package androidx.wear.watchface.complications.datasource {
+
+  public abstract class SuspendingComplicationDataSourceService extends androidx.wear.watchface.complications.datasource.ComplicationDataSourceService {
+    ctor public SuspendingComplicationDataSourceService();
+    method public final void onComplicationRequest(androidx.wear.watchface.complications.datasource.ComplicationRequest request, androidx.wear.watchface.complications.datasource.ComplicationDataSourceService.ComplicationRequestListener listener);
+    method @UiThread public abstract suspend Object? onComplicationRequest(androidx.wear.watchface.complications.datasource.ComplicationRequest request, kotlin.coroutines.Continuation<? super androidx.wear.watchface.complications.data.ComplicationData> p);
+  }
+
+}
+
diff --git a/wear/watchface/watchface-complications-data-source-ktx/api/public_plus_experimental_1.0.0-beta01.txt b/wear/watchface/watchface-complications-data-source-ktx/api/public_plus_experimental_1.0.0-beta01.txt
new file mode 100644
index 0000000..eabce2c
--- /dev/null
+++ b/wear/watchface/watchface-complications-data-source-ktx/api/public_plus_experimental_1.0.0-beta01.txt
@@ -0,0 +1,11 @@
+// Signature format: 4.0
+package androidx.wear.watchface.complications.datasource {
+
+  public abstract class SuspendingComplicationDataSourceService extends androidx.wear.watchface.complications.datasource.ComplicationDataSourceService {
+    ctor public SuspendingComplicationDataSourceService();
+    method public final void onComplicationRequest(androidx.wear.watchface.complications.datasource.ComplicationRequest request, androidx.wear.watchface.complications.datasource.ComplicationDataSourceService.ComplicationRequestListener listener);
+    method @UiThread public abstract suspend Object? onComplicationRequest(androidx.wear.watchface.complications.datasource.ComplicationRequest request, kotlin.coroutines.Continuation<? super androidx.wear.watchface.complications.data.ComplicationData> p);
+  }
+
+}
+
diff --git a/wear/watchface/watchface-complications-data-source-ktx/api/res-1.0.0-beta01.txt b/wear/watchface/watchface-complications-data-source-ktx/api/res-1.0.0-beta01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wear/watchface/watchface-complications-data-source-ktx/api/res-1.0.0-beta01.txt
diff --git a/wear/watchface/watchface-complications-data-source-ktx/api/restricted_1.0.0-beta01.txt b/wear/watchface/watchface-complications-data-source-ktx/api/restricted_1.0.0-beta01.txt
new file mode 100644
index 0000000..eabce2c
--- /dev/null
+++ b/wear/watchface/watchface-complications-data-source-ktx/api/restricted_1.0.0-beta01.txt
@@ -0,0 +1,11 @@
+// Signature format: 4.0
+package androidx.wear.watchface.complications.datasource {
+
+  public abstract class SuspendingComplicationDataSourceService extends androidx.wear.watchface.complications.datasource.ComplicationDataSourceService {
+    ctor public SuspendingComplicationDataSourceService();
+    method public final void onComplicationRequest(androidx.wear.watchface.complications.datasource.ComplicationRequest request, androidx.wear.watchface.complications.datasource.ComplicationDataSourceService.ComplicationRequestListener listener);
+    method @UiThread public abstract suspend Object? onComplicationRequest(androidx.wear.watchface.complications.datasource.ComplicationRequest request, kotlin.coroutines.Continuation<? super androidx.wear.watchface.complications.data.ComplicationData> p);
+  }
+
+}
+
diff --git a/wear/watchface/watchface-complications-data-source-ktx/lint-baseline.xml b/wear/watchface/watchface-complications-data-source-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/watchface/watchface-complications-data-source-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/watchface/watchface-complications-data-source-samples/lint-baseline.xml b/wear/watchface/watchface-complications-data-source-samples/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/watchface/watchface-complications-data-source-samples/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/watchface/watchface-complications-data-source/api/1.0.0-beta01.txt b/wear/watchface/watchface-complications-data-source/api/1.0.0-beta01.txt
new file mode 100644
index 0000000..9ab81f6
--- /dev/null
+++ b/wear/watchface/watchface-complications-data-source/api/1.0.0-beta01.txt
@@ -0,0 +1,50 @@
+// Signature format: 4.0
+package androidx.wear.watchface.complications.datasource {
+
+  public abstract class ComplicationDataSourceService extends android.app.Service {
+    ctor public ComplicationDataSourceService();
+    method public abstract androidx.wear.watchface.complications.data.ComplicationData? getPreviewData(androidx.wear.watchface.complications.data.ComplicationType type);
+    method public final android.os.IBinder? onBind(android.content.Intent intent);
+    method @UiThread public void onComplicationActivated(int complicationInstanceId, androidx.wear.watchface.complications.data.ComplicationType type);
+    method @UiThread public void onComplicationDeactivated(int complicationInstanceId);
+    method @UiThread public abstract void onComplicationRequest(androidx.wear.watchface.complications.datasource.ComplicationRequest request, androidx.wear.watchface.complications.datasource.ComplicationDataSourceService.ComplicationRequestListener listener);
+    field public static final String ACTION_COMPLICATION_UPDATE_REQUEST = "android.support.wearable.complications.ACTION_COMPLICATION_UPDATE_REQUEST";
+    field public static final String CATEGORY_DATA_SOURCE_CONFIG = "android.support.wearable.complications.category.PROVIDER_CONFIG";
+    field public static final androidx.wear.watchface.complications.datasource.ComplicationDataSourceService.Companion Companion;
+    field public static final String EXTRA_CONFIG_COMPLICATION_ID = "android.support.wearable.complications.EXTRA_CONFIG_COMPLICATION_ID";
+    field public static final String EXTRA_CONFIG_COMPLICATION_TYPE = "android.support.wearable.complications.EXTRA_CONFIG_COMPLICATION_TYPE";
+    field public static final String EXTRA_CONFIG_DATA_SOURCE_COMPONENT = "android.support.wearable.complications.EXTRA_CONFIG_PROVIDER_COMPONENT";
+    field public static final String METADATA_KEY_DATA_SOURCE_CONFIG_ACTION = "android.support.wearable.complications.PROVIDER_CONFIG_ACTION";
+    field public static final String METADATA_KEY_SAFE_WATCH_FACES = "android.support.wearable.complications.SAFE_WATCH_FACES";
+    field public static final String METADATA_KEY_SUPPORTED_TYPES = "android.support.wearable.complications.SUPPORTED_TYPES";
+    field public static final String METADATA_KEY_UPDATE_PERIOD_SECONDS = "android.support.wearable.complications.UPDATE_PERIOD_SECONDS";
+  }
+
+  public static final class ComplicationDataSourceService.Companion {
+  }
+
+  public static interface ComplicationDataSourceService.ComplicationRequestListener {
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void onComplicationData(androidx.wear.watchface.complications.data.ComplicationData? complicationData) throws android.os.RemoteException;
+  }
+
+  public interface ComplicationDataSourceUpdateRequester {
+    method public default static androidx.wear.watchface.complications.datasource.ComplicationDataSourceUpdateRequester create(android.content.Context context, android.content.ComponentName complicationDataSourceComponent);
+    method public void requestUpdate(int... complicationInstanceIds);
+    method public void requestUpdateAll();
+    field public static final androidx.wear.watchface.complications.datasource.ComplicationDataSourceUpdateRequester.Companion Companion;
+  }
+
+  public static final class ComplicationDataSourceUpdateRequester.Companion {
+    method public androidx.wear.watchface.complications.datasource.ComplicationDataSourceUpdateRequester create(android.content.Context context, android.content.ComponentName complicationDataSourceComponent);
+  }
+
+  public final class ComplicationRequest {
+    ctor public ComplicationRequest(int complicationInstanceId, androidx.wear.watchface.complications.data.ComplicationType complicationType);
+    method public int getComplicationInstanceId();
+    method public androidx.wear.watchface.complications.data.ComplicationType getComplicationType();
+    property public final int complicationInstanceId;
+    property public final androidx.wear.watchface.complications.data.ComplicationType complicationType;
+  }
+
+}
+
diff --git a/wear/watchface/watchface-complications-data-source/api/public_plus_experimental_1.0.0-beta01.txt b/wear/watchface/watchface-complications-data-source/api/public_plus_experimental_1.0.0-beta01.txt
new file mode 100644
index 0000000..9ab81f6
--- /dev/null
+++ b/wear/watchface/watchface-complications-data-source/api/public_plus_experimental_1.0.0-beta01.txt
@@ -0,0 +1,50 @@
+// Signature format: 4.0
+package androidx.wear.watchface.complications.datasource {
+
+  public abstract class ComplicationDataSourceService extends android.app.Service {
+    ctor public ComplicationDataSourceService();
+    method public abstract androidx.wear.watchface.complications.data.ComplicationData? getPreviewData(androidx.wear.watchface.complications.data.ComplicationType type);
+    method public final android.os.IBinder? onBind(android.content.Intent intent);
+    method @UiThread public void onComplicationActivated(int complicationInstanceId, androidx.wear.watchface.complications.data.ComplicationType type);
+    method @UiThread public void onComplicationDeactivated(int complicationInstanceId);
+    method @UiThread public abstract void onComplicationRequest(androidx.wear.watchface.complications.datasource.ComplicationRequest request, androidx.wear.watchface.complications.datasource.ComplicationDataSourceService.ComplicationRequestListener listener);
+    field public static final String ACTION_COMPLICATION_UPDATE_REQUEST = "android.support.wearable.complications.ACTION_COMPLICATION_UPDATE_REQUEST";
+    field public static final String CATEGORY_DATA_SOURCE_CONFIG = "android.support.wearable.complications.category.PROVIDER_CONFIG";
+    field public static final androidx.wear.watchface.complications.datasource.ComplicationDataSourceService.Companion Companion;
+    field public static final String EXTRA_CONFIG_COMPLICATION_ID = "android.support.wearable.complications.EXTRA_CONFIG_COMPLICATION_ID";
+    field public static final String EXTRA_CONFIG_COMPLICATION_TYPE = "android.support.wearable.complications.EXTRA_CONFIG_COMPLICATION_TYPE";
+    field public static final String EXTRA_CONFIG_DATA_SOURCE_COMPONENT = "android.support.wearable.complications.EXTRA_CONFIG_PROVIDER_COMPONENT";
+    field public static final String METADATA_KEY_DATA_SOURCE_CONFIG_ACTION = "android.support.wearable.complications.PROVIDER_CONFIG_ACTION";
+    field public static final String METADATA_KEY_SAFE_WATCH_FACES = "android.support.wearable.complications.SAFE_WATCH_FACES";
+    field public static final String METADATA_KEY_SUPPORTED_TYPES = "android.support.wearable.complications.SUPPORTED_TYPES";
+    field public static final String METADATA_KEY_UPDATE_PERIOD_SECONDS = "android.support.wearable.complications.UPDATE_PERIOD_SECONDS";
+  }
+
+  public static final class ComplicationDataSourceService.Companion {
+  }
+
+  public static interface ComplicationDataSourceService.ComplicationRequestListener {
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void onComplicationData(androidx.wear.watchface.complications.data.ComplicationData? complicationData) throws android.os.RemoteException;
+  }
+
+  public interface ComplicationDataSourceUpdateRequester {
+    method public default static androidx.wear.watchface.complications.datasource.ComplicationDataSourceUpdateRequester create(android.content.Context context, android.content.ComponentName complicationDataSourceComponent);
+    method public void requestUpdate(int... complicationInstanceIds);
+    method public void requestUpdateAll();
+    field public static final androidx.wear.watchface.complications.datasource.ComplicationDataSourceUpdateRequester.Companion Companion;
+  }
+
+  public static final class ComplicationDataSourceUpdateRequester.Companion {
+    method public androidx.wear.watchface.complications.datasource.ComplicationDataSourceUpdateRequester create(android.content.Context context, android.content.ComponentName complicationDataSourceComponent);
+  }
+
+  public final class ComplicationRequest {
+    ctor public ComplicationRequest(int complicationInstanceId, androidx.wear.watchface.complications.data.ComplicationType complicationType);
+    method public int getComplicationInstanceId();
+    method public androidx.wear.watchface.complications.data.ComplicationType getComplicationType();
+    property public final int complicationInstanceId;
+    property public final androidx.wear.watchface.complications.data.ComplicationType complicationType;
+  }
+
+}
+
diff --git a/wear/watchface/watchface-complications-data-source/api/res-1.0.0-beta01.txt b/wear/watchface/watchface-complications-data-source/api/res-1.0.0-beta01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wear/watchface/watchface-complications-data-source/api/res-1.0.0-beta01.txt
diff --git a/wear/watchface/watchface-complications-data-source/api/restricted_1.0.0-beta01.txt b/wear/watchface/watchface-complications-data-source/api/restricted_1.0.0-beta01.txt
new file mode 100644
index 0000000..9ab81f6
--- /dev/null
+++ b/wear/watchface/watchface-complications-data-source/api/restricted_1.0.0-beta01.txt
@@ -0,0 +1,50 @@
+// Signature format: 4.0
+package androidx.wear.watchface.complications.datasource {
+
+  public abstract class ComplicationDataSourceService extends android.app.Service {
+    ctor public ComplicationDataSourceService();
+    method public abstract androidx.wear.watchface.complications.data.ComplicationData? getPreviewData(androidx.wear.watchface.complications.data.ComplicationType type);
+    method public final android.os.IBinder? onBind(android.content.Intent intent);
+    method @UiThread public void onComplicationActivated(int complicationInstanceId, androidx.wear.watchface.complications.data.ComplicationType type);
+    method @UiThread public void onComplicationDeactivated(int complicationInstanceId);
+    method @UiThread public abstract void onComplicationRequest(androidx.wear.watchface.complications.datasource.ComplicationRequest request, androidx.wear.watchface.complications.datasource.ComplicationDataSourceService.ComplicationRequestListener listener);
+    field public static final String ACTION_COMPLICATION_UPDATE_REQUEST = "android.support.wearable.complications.ACTION_COMPLICATION_UPDATE_REQUEST";
+    field public static final String CATEGORY_DATA_SOURCE_CONFIG = "android.support.wearable.complications.category.PROVIDER_CONFIG";
+    field public static final androidx.wear.watchface.complications.datasource.ComplicationDataSourceService.Companion Companion;
+    field public static final String EXTRA_CONFIG_COMPLICATION_ID = "android.support.wearable.complications.EXTRA_CONFIG_COMPLICATION_ID";
+    field public static final String EXTRA_CONFIG_COMPLICATION_TYPE = "android.support.wearable.complications.EXTRA_CONFIG_COMPLICATION_TYPE";
+    field public static final String EXTRA_CONFIG_DATA_SOURCE_COMPONENT = "android.support.wearable.complications.EXTRA_CONFIG_PROVIDER_COMPONENT";
+    field public static final String METADATA_KEY_DATA_SOURCE_CONFIG_ACTION = "android.support.wearable.complications.PROVIDER_CONFIG_ACTION";
+    field public static final String METADATA_KEY_SAFE_WATCH_FACES = "android.support.wearable.complications.SAFE_WATCH_FACES";
+    field public static final String METADATA_KEY_SUPPORTED_TYPES = "android.support.wearable.complications.SUPPORTED_TYPES";
+    field public static final String METADATA_KEY_UPDATE_PERIOD_SECONDS = "android.support.wearable.complications.UPDATE_PERIOD_SECONDS";
+  }
+
+  public static final class ComplicationDataSourceService.Companion {
+  }
+
+  public static interface ComplicationDataSourceService.ComplicationRequestListener {
+    method @kotlin.jvm.Throws(exceptionClasses=RemoteException::class) public void onComplicationData(androidx.wear.watchface.complications.data.ComplicationData? complicationData) throws android.os.RemoteException;
+  }
+
+  public interface ComplicationDataSourceUpdateRequester {
+    method public default static androidx.wear.watchface.complications.datasource.ComplicationDataSourceUpdateRequester create(android.content.Context context, android.content.ComponentName complicationDataSourceComponent);
+    method public void requestUpdate(int... complicationInstanceIds);
+    method public void requestUpdateAll();
+    field public static final androidx.wear.watchface.complications.datasource.ComplicationDataSourceUpdateRequester.Companion Companion;
+  }
+
+  public static final class ComplicationDataSourceUpdateRequester.Companion {
+    method public androidx.wear.watchface.complications.datasource.ComplicationDataSourceUpdateRequester create(android.content.Context context, android.content.ComponentName complicationDataSourceComponent);
+  }
+
+  public final class ComplicationRequest {
+    ctor public ComplicationRequest(int complicationInstanceId, androidx.wear.watchface.complications.data.ComplicationType complicationType);
+    method public int getComplicationInstanceId();
+    method public androidx.wear.watchface.complications.data.ComplicationType getComplicationType();
+    property public final int complicationInstanceId;
+    property public final androidx.wear.watchface.complications.data.ComplicationType complicationType;
+  }
+
+}
+
diff --git a/wear/watchface/watchface-complications-data-source/build.gradle b/wear/watchface/watchface-complications-data-source/build.gradle
index c7ef280..a8a91a5 100644
--- a/wear/watchface/watchface-complications-data-source/build.gradle
+++ b/wear/watchface/watchface-complications-data-source/build.gradle
@@ -38,8 +38,6 @@
     testImplementation(libs.mockitoCore)
     testImplementation(libs.truth)
     testImplementation("junit:junit:4.13")
-
-    samples(project(":wear:watchface:watchface-complications-data-source-samples"))
 }
 
 android {
diff --git a/wear/watchface/watchface-complications-data-source/lint-baseline.xml b/wear/watchface/watchface-complications-data-source/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/watchface/watchface-complications-data-source/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/watchface/watchface-complications-data-source/src/main/java/androidx/wear/watchface/complications/datasource/ComplicationDataSourceUpdateRequester.kt b/wear/watchface/watchface-complications-data-source/src/main/java/androidx/wear/watchface/complications/datasource/ComplicationDataSourceUpdateRequester.kt
index baf32ae..cab623f 100644
--- a/wear/watchface/watchface-complications-data-source/src/main/java/androidx/wear/watchface/complications/datasource/ComplicationDataSourceUpdateRequester.kt
+++ b/wear/watchface/watchface-complications-data-source/src/main/java/androidx/wear/watchface/complications/datasource/ComplicationDataSourceUpdateRequester.kt
@@ -139,7 +139,12 @@
         // Add a placeholder PendingIntent to allow the UID to be checked.
         intent.putExtra(
             ComplicationDataSourceUpdateRequesterConstants.EXTRA_PENDING_INTENT,
-            PendingIntent.getActivity(context, 0, Intent(""), 0)
+            PendingIntent.getActivity(
+                context,
+                0,
+                Intent(""),
+                PendingIntent.FLAG_IMMUTABLE
+            )
         )
         context.sendBroadcast(intent)
     }
diff --git a/wear/watchface/watchface-complications-data/api/1.0.0-beta01.txt b/wear/watchface/watchface-complications-data/api/1.0.0-beta01.txt
new file mode 100644
index 0000000..34377b0
--- /dev/null
+++ b/wear/watchface/watchface-complications-data/api/1.0.0-beta01.txt
@@ -0,0 +1,317 @@
+// Signature format: 4.0
+package androidx.wear.watchface.complications.data {
+
+  public abstract sealed class ComplicationData {
+    method public final android.app.PendingIntent? getTapAction();
+    method public final androidx.wear.watchface.complications.data.ComplicationType getType();
+    method public final androidx.wear.watchface.complications.data.TimeRange getValidTimeRange();
+    property public final android.app.PendingIntent? tapAction;
+    property public final androidx.wear.watchface.complications.data.ComplicationType type;
+    property public final androidx.wear.watchface.complications.data.TimeRange validTimeRange;
+  }
+
+  public interface ComplicationText {
+    method public java.time.Instant getNextChangeTime(java.time.Instant afterInstant);
+    method public CharSequence getTextAt(android.content.res.Resources resources, java.time.Instant instant);
+    method public boolean isAlwaysEmpty();
+    method public boolean returnsSameText(java.time.Instant firstInstant, java.time.Instant secondInstant);
+    field public static final androidx.wear.watchface.complications.data.ComplicationText.Companion Companion;
+    field public static final androidx.wear.watchface.complications.data.ComplicationText EMPTY;
+  }
+
+  public static final class ComplicationText.Companion {
+  }
+
+  public enum ComplicationType {
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType EMPTY;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType LONG_TEXT;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType MONOCHROMATIC_IMAGE;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType NOT_CONFIGURED;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType NO_DATA;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType NO_PERMISSION;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType PHOTO_IMAGE;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType RANGED_VALUE;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType SHORT_TEXT;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType SMALL_IMAGE;
+  }
+
+  public final class CountDownTimeReference {
+    ctor public CountDownTimeReference(java.time.Instant instant);
+    method public java.time.Instant getInstant();
+    property public final java.time.Instant instant;
+  }
+
+  public final class CountUpTimeReference {
+    ctor public CountUpTimeReference(java.time.Instant instant);
+    method public java.time.Instant getInstant();
+    property public final java.time.Instant instant;
+  }
+
+  public final class DataKt {
+  }
+
+  public final class EmptyComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    ctor public EmptyComplicationData();
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public final class LongTextComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method public androidx.wear.watchface.complications.data.ComplicationText? getContentDescription();
+    method public androidx.wear.watchface.complications.data.MonochromaticImage? getMonochromaticImage();
+    method public androidx.wear.watchface.complications.data.SmallImage? getSmallImage();
+    method public androidx.wear.watchface.complications.data.ComplicationText getText();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getTitle();
+    property public final androidx.wear.watchface.complications.data.ComplicationText? contentDescription;
+    property public final androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage;
+    property public final androidx.wear.watchface.complications.data.SmallImage? smallImage;
+    property public final androidx.wear.watchface.complications.data.ComplicationText text;
+    property public final androidx.wear.watchface.complications.data.ComplicationText? title;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class LongTextComplicationData.Builder {
+    ctor public LongTextComplicationData.Builder(androidx.wear.watchface.complications.data.ComplicationText text, androidx.wear.watchface.complications.data.ComplicationText contentDescription);
+    method public androidx.wear.watchface.complications.data.LongTextComplicationData build();
+    method public androidx.wear.watchface.complications.data.LongTextComplicationData.Builder setMonochromaticImage(androidx.wear.watchface.complications.data.MonochromaticImage? icon);
+    method public androidx.wear.watchface.complications.data.LongTextComplicationData.Builder setSmallImage(androidx.wear.watchface.complications.data.SmallImage? smallImage);
+    method public androidx.wear.watchface.complications.data.LongTextComplicationData.Builder setTapAction(android.app.PendingIntent? tapAction);
+    method public androidx.wear.watchface.complications.data.LongTextComplicationData.Builder setTitle(androidx.wear.watchface.complications.data.ComplicationText? title);
+    method public androidx.wear.watchface.complications.data.LongTextComplicationData.Builder setValidTimeRange(androidx.wear.watchface.complications.data.TimeRange? validTimeRange);
+  }
+
+  public final class MonochromaticImage {
+    method public android.graphics.drawable.Icon? getAmbientImage();
+    method public android.graphics.drawable.Icon getImage();
+    property public final android.graphics.drawable.Icon? ambientImage;
+    property public final android.graphics.drawable.Icon image;
+  }
+
+  public static final class MonochromaticImage.Builder {
+    ctor public MonochromaticImage.Builder(android.graphics.drawable.Icon image);
+    method public androidx.wear.watchface.complications.data.MonochromaticImage build();
+    method public androidx.wear.watchface.complications.data.MonochromaticImage.Builder setAmbientImage(android.graphics.drawable.Icon? ambientImage);
+  }
+
+  public final class MonochromaticImageComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method public androidx.wear.watchface.complications.data.ComplicationText? getContentDescription();
+    method public androidx.wear.watchface.complications.data.MonochromaticImage getMonochromaticImage();
+    property public final androidx.wear.watchface.complications.data.ComplicationText? contentDescription;
+    property public final androidx.wear.watchface.complications.data.MonochromaticImage monochromaticImage;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class MonochromaticImageComplicationData.Builder {
+    ctor public MonochromaticImageComplicationData.Builder(androidx.wear.watchface.complications.data.MonochromaticImage monochromaticImage, androidx.wear.watchface.complications.data.ComplicationText contentDescription);
+    method public androidx.wear.watchface.complications.data.MonochromaticImageComplicationData build();
+    method public androidx.wear.watchface.complications.data.MonochromaticImageComplicationData.Builder setTapAction(android.app.PendingIntent? tapAction);
+    method public androidx.wear.watchface.complications.data.MonochromaticImageComplicationData.Builder setValidTimeRange(androidx.wear.watchface.complications.data.TimeRange? validTimeRange);
+  }
+
+  public final class NoDataComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    ctor public NoDataComplicationData();
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public final class NoPermissionComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method public androidx.wear.watchface.complications.data.MonochromaticImage? getMonochromaticImage();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getText();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getTitle();
+    property public final androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage;
+    property public final androidx.wear.watchface.complications.data.ComplicationText? text;
+    property public final androidx.wear.watchface.complications.data.ComplicationText? title;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class NoPermissionComplicationData.Builder {
+    ctor public NoPermissionComplicationData.Builder();
+    method public androidx.wear.watchface.complications.data.NoPermissionComplicationData build();
+    method public androidx.wear.watchface.complications.data.NoPermissionComplicationData.Builder setMonochromaticImage(androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage);
+    method public androidx.wear.watchface.complications.data.NoPermissionComplicationData.Builder setText(androidx.wear.watchface.complications.data.ComplicationText? text);
+    method public androidx.wear.watchface.complications.data.NoPermissionComplicationData.Builder setTitle(androidx.wear.watchface.complications.data.ComplicationText? title);
+  }
+
+  public final class NotConfiguredComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    ctor public NotConfiguredComplicationData();
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public final class PhotoImageComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method public androidx.wear.watchface.complications.data.ComplicationText? getContentDescription();
+    method public android.graphics.drawable.Icon getPhotoImage();
+    property public final androidx.wear.watchface.complications.data.ComplicationText? contentDescription;
+    property public final android.graphics.drawable.Icon photoImage;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class PhotoImageComplicationData.Builder {
+    ctor public PhotoImageComplicationData.Builder(android.graphics.drawable.Icon photoImage, androidx.wear.watchface.complications.data.ComplicationText contentDescription);
+    method public androidx.wear.watchface.complications.data.PhotoImageComplicationData build();
+    method public androidx.wear.watchface.complications.data.PhotoImageComplicationData.Builder setTapAction(android.app.PendingIntent? tapAction);
+    method public androidx.wear.watchface.complications.data.PhotoImageComplicationData.Builder setValidTimeRange(androidx.wear.watchface.complications.data.TimeRange? validTimeRange);
+  }
+
+  public final class PlainComplicationText implements androidx.wear.watchface.complications.data.ComplicationText {
+  }
+
+  public static final class PlainComplicationText.Builder {
+    ctor public PlainComplicationText.Builder(CharSequence text);
+    method public androidx.wear.watchface.complications.data.PlainComplicationText build();
+  }
+
+  public final class RangedValueComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method public androidx.wear.watchface.complications.data.ComplicationText? getContentDescription();
+    method public float getMax();
+    method public float getMin();
+    method public androidx.wear.watchface.complications.data.MonochromaticImage? getMonochromaticImage();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getText();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getTitle();
+    method public float getValue();
+    property public final androidx.wear.watchface.complications.data.ComplicationText? contentDescription;
+    property public final float max;
+    property public final float min;
+    property public final androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage;
+    property public final androidx.wear.watchface.complications.data.ComplicationText? text;
+    property public final androidx.wear.watchface.complications.data.ComplicationText? title;
+    property public final float value;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class RangedValueComplicationData.Builder {
+    ctor public RangedValueComplicationData.Builder(float value, float min, float max, androidx.wear.watchface.complications.data.ComplicationText contentDescription);
+    method public androidx.wear.watchface.complications.data.RangedValueComplicationData build();
+    method public androidx.wear.watchface.complications.data.RangedValueComplicationData.Builder setMonochromaticImage(androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage);
+    method public androidx.wear.watchface.complications.data.RangedValueComplicationData.Builder setTapAction(android.app.PendingIntent? tapAction);
+    method public androidx.wear.watchface.complications.data.RangedValueComplicationData.Builder setText(androidx.wear.watchface.complications.data.ComplicationText? text);
+    method public androidx.wear.watchface.complications.data.RangedValueComplicationData.Builder setTitle(androidx.wear.watchface.complications.data.ComplicationText? title);
+    method public androidx.wear.watchface.complications.data.RangedValueComplicationData.Builder setValidTimeRange(androidx.wear.watchface.complications.data.TimeRange? validTimeRange);
+  }
+
+  public final class ShortTextComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method public androidx.wear.watchface.complications.data.ComplicationText? getContentDescription();
+    method public androidx.wear.watchface.complications.data.MonochromaticImage? getMonochromaticImage();
+    method public androidx.wear.watchface.complications.data.ComplicationText getText();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getTitle();
+    property public final androidx.wear.watchface.complications.data.ComplicationText? contentDescription;
+    property public final androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage;
+    property public final androidx.wear.watchface.complications.data.ComplicationText text;
+    property public final androidx.wear.watchface.complications.data.ComplicationText? title;
+    field public static final int MAX_TEXT_LENGTH;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class ShortTextComplicationData.Builder {
+    ctor public ShortTextComplicationData.Builder(androidx.wear.watchface.complications.data.ComplicationText text, androidx.wear.watchface.complications.data.ComplicationText contentDescription);
+    method public androidx.wear.watchface.complications.data.ShortTextComplicationData build();
+    method public androidx.wear.watchface.complications.data.ShortTextComplicationData.Builder setMonochromaticImage(androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage);
+    method public androidx.wear.watchface.complications.data.ShortTextComplicationData.Builder setTapAction(android.app.PendingIntent? tapAction);
+    method public androidx.wear.watchface.complications.data.ShortTextComplicationData.Builder setTitle(androidx.wear.watchface.complications.data.ComplicationText? title);
+    method public androidx.wear.watchface.complications.data.ShortTextComplicationData.Builder setValidTimeRange(androidx.wear.watchface.complications.data.TimeRange? validTimeRange);
+  }
+
+  public final class SmallImage {
+    method public android.graphics.drawable.Icon? getAmbientImage();
+    method public android.graphics.drawable.Icon getImage();
+    method public androidx.wear.watchface.complications.data.SmallImageType getType();
+    property public final android.graphics.drawable.Icon? ambientImage;
+    property public final android.graphics.drawable.Icon image;
+    property public final androidx.wear.watchface.complications.data.SmallImageType type;
+  }
+
+  public static final class SmallImage.Builder {
+    ctor public SmallImage.Builder(android.graphics.drawable.Icon image, androidx.wear.watchface.complications.data.SmallImageType type);
+    method public androidx.wear.watchface.complications.data.SmallImage build();
+    method public androidx.wear.watchface.complications.data.SmallImage.Builder setAmbientImage(android.graphics.drawable.Icon? ambientImage);
+  }
+
+  public final class SmallImageComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method public androidx.wear.watchface.complications.data.ComplicationText? getContentDescription();
+    method public androidx.wear.watchface.complications.data.SmallImage getSmallImage();
+    property public final androidx.wear.watchface.complications.data.ComplicationText? contentDescription;
+    property public final androidx.wear.watchface.complications.data.SmallImage smallImage;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class SmallImageComplicationData.Builder {
+    ctor public SmallImageComplicationData.Builder(androidx.wear.watchface.complications.data.SmallImage smallImage, androidx.wear.watchface.complications.data.ComplicationText contentDescription);
+    method public androidx.wear.watchface.complications.data.SmallImageComplicationData build();
+    method public androidx.wear.watchface.complications.data.SmallImageComplicationData.Builder setTapAction(android.app.PendingIntent? tapAction);
+    method public androidx.wear.watchface.complications.data.SmallImageComplicationData.Builder setValidTimeRange(androidx.wear.watchface.complications.data.TimeRange? validTimeRange);
+  }
+
+  public enum SmallImageType {
+    enum_constant public static final androidx.wear.watchface.complications.data.SmallImageType ICON;
+    enum_constant public static final androidx.wear.watchface.complications.data.SmallImageType PHOTO;
+  }
+
+  public final class TextKt {
+  }
+
+  public final class TimeDifferenceComplicationText implements androidx.wear.watchface.complications.data.ComplicationText {
+    method public java.util.concurrent.TimeUnit? getMinimumTimeUnit();
+  }
+
+  public static final class TimeDifferenceComplicationText.Builder {
+    ctor public TimeDifferenceComplicationText.Builder(androidx.wear.watchface.complications.data.TimeDifferenceStyle style, androidx.wear.watchface.complications.data.CountUpTimeReference countUpTimeReference);
+    ctor public TimeDifferenceComplicationText.Builder(androidx.wear.watchface.complications.data.TimeDifferenceStyle style, androidx.wear.watchface.complications.data.CountDownTimeReference countDownTimeReference);
+    method public androidx.wear.watchface.complications.data.TimeDifferenceComplicationText build();
+    method public androidx.wear.watchface.complications.data.TimeDifferenceComplicationText.Builder setDisplayAsNow(boolean displayAsNow);
+    method public androidx.wear.watchface.complications.data.TimeDifferenceComplicationText.Builder setMinimumTimeUnit(java.util.concurrent.TimeUnit? minimumUnit);
+    method public androidx.wear.watchface.complications.data.TimeDifferenceComplicationText.Builder setText(CharSequence? text);
+  }
+
+  public enum TimeDifferenceStyle {
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeDifferenceStyle SHORT_DUAL_UNIT;
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeDifferenceStyle SHORT_SINGLE_UNIT;
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeDifferenceStyle SHORT_WORDS_SINGLE_UNIT;
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeDifferenceStyle STOPWATCH;
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeDifferenceStyle WORDS_SINGLE_UNIT;
+  }
+
+  public final class TimeFormatComplicationText implements androidx.wear.watchface.complications.data.ComplicationText {
+  }
+
+  public static final class TimeFormatComplicationText.Builder {
+    ctor public TimeFormatComplicationText.Builder(String format);
+    method public androidx.wear.watchface.complications.data.TimeFormatComplicationText build();
+    method public androidx.wear.watchface.complications.data.TimeFormatComplicationText.Builder setStyle(androidx.wear.watchface.complications.data.TimeFormatStyle style);
+    method public androidx.wear.watchface.complications.data.TimeFormatComplicationText.Builder setText(CharSequence text);
+    method public androidx.wear.watchface.complications.data.TimeFormatComplicationText.Builder setTimeZone(android.icu.util.TimeZone timeZone);
+  }
+
+  public enum TimeFormatStyle {
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeFormatStyle DEFAULT;
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeFormatStyle LOWER_CASE;
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeFormatStyle UPPER_CASE;
+  }
+
+  public final class TimeRange {
+    method public static androidx.wear.watchface.complications.data.TimeRange after(java.time.Instant startInstant);
+    method public static androidx.wear.watchface.complications.data.TimeRange before(java.time.Instant endInstant);
+    method public static androidx.wear.watchface.complications.data.TimeRange between(java.time.Instant startInstant, java.time.Instant endInstant);
+    method public operator boolean contains(java.time.Instant dateTimeMillis);
+    method public java.time.Instant getEndDateTimeMillis();
+    method public java.time.Instant getStartDateTimeMillis();
+    property public final java.time.Instant endDateTimeMillis;
+    property public final java.time.Instant startDateTimeMillis;
+    field public static final androidx.wear.watchface.complications.data.TimeRange ALWAYS;
+    field public static final androidx.wear.watchface.complications.data.TimeRange.Companion Companion;
+  }
+
+  public static final class TimeRange.Companion {
+    method public androidx.wear.watchface.complications.data.TimeRange after(java.time.Instant startInstant);
+    method public androidx.wear.watchface.complications.data.TimeRange before(java.time.Instant endInstant);
+    method public androidx.wear.watchface.complications.data.TimeRange between(java.time.Instant startInstant, java.time.Instant endInstant);
+  }
+
+  public final class TypeKt {
+  }
+
+}
+
+package androidx.wear.watchface.utility {
+
+  public final class TraceEventKt {
+  }
+
+}
+
diff --git a/wear/watchface/watchface-complications-data/api/public_plus_experimental_1.0.0-beta01.txt b/wear/watchface/watchface-complications-data/api/public_plus_experimental_1.0.0-beta01.txt
new file mode 100644
index 0000000..34377b0
--- /dev/null
+++ b/wear/watchface/watchface-complications-data/api/public_plus_experimental_1.0.0-beta01.txt
@@ -0,0 +1,317 @@
+// Signature format: 4.0
+package androidx.wear.watchface.complications.data {
+
+  public abstract sealed class ComplicationData {
+    method public final android.app.PendingIntent? getTapAction();
+    method public final androidx.wear.watchface.complications.data.ComplicationType getType();
+    method public final androidx.wear.watchface.complications.data.TimeRange getValidTimeRange();
+    property public final android.app.PendingIntent? tapAction;
+    property public final androidx.wear.watchface.complications.data.ComplicationType type;
+    property public final androidx.wear.watchface.complications.data.TimeRange validTimeRange;
+  }
+
+  public interface ComplicationText {
+    method public java.time.Instant getNextChangeTime(java.time.Instant afterInstant);
+    method public CharSequence getTextAt(android.content.res.Resources resources, java.time.Instant instant);
+    method public boolean isAlwaysEmpty();
+    method public boolean returnsSameText(java.time.Instant firstInstant, java.time.Instant secondInstant);
+    field public static final androidx.wear.watchface.complications.data.ComplicationText.Companion Companion;
+    field public static final androidx.wear.watchface.complications.data.ComplicationText EMPTY;
+  }
+
+  public static final class ComplicationText.Companion {
+  }
+
+  public enum ComplicationType {
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType EMPTY;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType LONG_TEXT;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType MONOCHROMATIC_IMAGE;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType NOT_CONFIGURED;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType NO_DATA;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType NO_PERMISSION;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType PHOTO_IMAGE;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType RANGED_VALUE;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType SHORT_TEXT;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType SMALL_IMAGE;
+  }
+
+  public final class CountDownTimeReference {
+    ctor public CountDownTimeReference(java.time.Instant instant);
+    method public java.time.Instant getInstant();
+    property public final java.time.Instant instant;
+  }
+
+  public final class CountUpTimeReference {
+    ctor public CountUpTimeReference(java.time.Instant instant);
+    method public java.time.Instant getInstant();
+    property public final java.time.Instant instant;
+  }
+
+  public final class DataKt {
+  }
+
+  public final class EmptyComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    ctor public EmptyComplicationData();
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public final class LongTextComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method public androidx.wear.watchface.complications.data.ComplicationText? getContentDescription();
+    method public androidx.wear.watchface.complications.data.MonochromaticImage? getMonochromaticImage();
+    method public androidx.wear.watchface.complications.data.SmallImage? getSmallImage();
+    method public androidx.wear.watchface.complications.data.ComplicationText getText();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getTitle();
+    property public final androidx.wear.watchface.complications.data.ComplicationText? contentDescription;
+    property public final androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage;
+    property public final androidx.wear.watchface.complications.data.SmallImage? smallImage;
+    property public final androidx.wear.watchface.complications.data.ComplicationText text;
+    property public final androidx.wear.watchface.complications.data.ComplicationText? title;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class LongTextComplicationData.Builder {
+    ctor public LongTextComplicationData.Builder(androidx.wear.watchface.complications.data.ComplicationText text, androidx.wear.watchface.complications.data.ComplicationText contentDescription);
+    method public androidx.wear.watchface.complications.data.LongTextComplicationData build();
+    method public androidx.wear.watchface.complications.data.LongTextComplicationData.Builder setMonochromaticImage(androidx.wear.watchface.complications.data.MonochromaticImage? icon);
+    method public androidx.wear.watchface.complications.data.LongTextComplicationData.Builder setSmallImage(androidx.wear.watchface.complications.data.SmallImage? smallImage);
+    method public androidx.wear.watchface.complications.data.LongTextComplicationData.Builder setTapAction(android.app.PendingIntent? tapAction);
+    method public androidx.wear.watchface.complications.data.LongTextComplicationData.Builder setTitle(androidx.wear.watchface.complications.data.ComplicationText? title);
+    method public androidx.wear.watchface.complications.data.LongTextComplicationData.Builder setValidTimeRange(androidx.wear.watchface.complications.data.TimeRange? validTimeRange);
+  }
+
+  public final class MonochromaticImage {
+    method public android.graphics.drawable.Icon? getAmbientImage();
+    method public android.graphics.drawable.Icon getImage();
+    property public final android.graphics.drawable.Icon? ambientImage;
+    property public final android.graphics.drawable.Icon image;
+  }
+
+  public static final class MonochromaticImage.Builder {
+    ctor public MonochromaticImage.Builder(android.graphics.drawable.Icon image);
+    method public androidx.wear.watchface.complications.data.MonochromaticImage build();
+    method public androidx.wear.watchface.complications.data.MonochromaticImage.Builder setAmbientImage(android.graphics.drawable.Icon? ambientImage);
+  }
+
+  public final class MonochromaticImageComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method public androidx.wear.watchface.complications.data.ComplicationText? getContentDescription();
+    method public androidx.wear.watchface.complications.data.MonochromaticImage getMonochromaticImage();
+    property public final androidx.wear.watchface.complications.data.ComplicationText? contentDescription;
+    property public final androidx.wear.watchface.complications.data.MonochromaticImage monochromaticImage;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class MonochromaticImageComplicationData.Builder {
+    ctor public MonochromaticImageComplicationData.Builder(androidx.wear.watchface.complications.data.MonochromaticImage monochromaticImage, androidx.wear.watchface.complications.data.ComplicationText contentDescription);
+    method public androidx.wear.watchface.complications.data.MonochromaticImageComplicationData build();
+    method public androidx.wear.watchface.complications.data.MonochromaticImageComplicationData.Builder setTapAction(android.app.PendingIntent? tapAction);
+    method public androidx.wear.watchface.complications.data.MonochromaticImageComplicationData.Builder setValidTimeRange(androidx.wear.watchface.complications.data.TimeRange? validTimeRange);
+  }
+
+  public final class NoDataComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    ctor public NoDataComplicationData();
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public final class NoPermissionComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method public androidx.wear.watchface.complications.data.MonochromaticImage? getMonochromaticImage();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getText();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getTitle();
+    property public final androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage;
+    property public final androidx.wear.watchface.complications.data.ComplicationText? text;
+    property public final androidx.wear.watchface.complications.data.ComplicationText? title;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class NoPermissionComplicationData.Builder {
+    ctor public NoPermissionComplicationData.Builder();
+    method public androidx.wear.watchface.complications.data.NoPermissionComplicationData build();
+    method public androidx.wear.watchface.complications.data.NoPermissionComplicationData.Builder setMonochromaticImage(androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage);
+    method public androidx.wear.watchface.complications.data.NoPermissionComplicationData.Builder setText(androidx.wear.watchface.complications.data.ComplicationText? text);
+    method public androidx.wear.watchface.complications.data.NoPermissionComplicationData.Builder setTitle(androidx.wear.watchface.complications.data.ComplicationText? title);
+  }
+
+  public final class NotConfiguredComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    ctor public NotConfiguredComplicationData();
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public final class PhotoImageComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method public androidx.wear.watchface.complications.data.ComplicationText? getContentDescription();
+    method public android.graphics.drawable.Icon getPhotoImage();
+    property public final androidx.wear.watchface.complications.data.ComplicationText? contentDescription;
+    property public final android.graphics.drawable.Icon photoImage;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class PhotoImageComplicationData.Builder {
+    ctor public PhotoImageComplicationData.Builder(android.graphics.drawable.Icon photoImage, androidx.wear.watchface.complications.data.ComplicationText contentDescription);
+    method public androidx.wear.watchface.complications.data.PhotoImageComplicationData build();
+    method public androidx.wear.watchface.complications.data.PhotoImageComplicationData.Builder setTapAction(android.app.PendingIntent? tapAction);
+    method public androidx.wear.watchface.complications.data.PhotoImageComplicationData.Builder setValidTimeRange(androidx.wear.watchface.complications.data.TimeRange? validTimeRange);
+  }
+
+  public final class PlainComplicationText implements androidx.wear.watchface.complications.data.ComplicationText {
+  }
+
+  public static final class PlainComplicationText.Builder {
+    ctor public PlainComplicationText.Builder(CharSequence text);
+    method public androidx.wear.watchface.complications.data.PlainComplicationText build();
+  }
+
+  public final class RangedValueComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method public androidx.wear.watchface.complications.data.ComplicationText? getContentDescription();
+    method public float getMax();
+    method public float getMin();
+    method public androidx.wear.watchface.complications.data.MonochromaticImage? getMonochromaticImage();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getText();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getTitle();
+    method public float getValue();
+    property public final androidx.wear.watchface.complications.data.ComplicationText? contentDescription;
+    property public final float max;
+    property public final float min;
+    property public final androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage;
+    property public final androidx.wear.watchface.complications.data.ComplicationText? text;
+    property public final androidx.wear.watchface.complications.data.ComplicationText? title;
+    property public final float value;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class RangedValueComplicationData.Builder {
+    ctor public RangedValueComplicationData.Builder(float value, float min, float max, androidx.wear.watchface.complications.data.ComplicationText contentDescription);
+    method public androidx.wear.watchface.complications.data.RangedValueComplicationData build();
+    method public androidx.wear.watchface.complications.data.RangedValueComplicationData.Builder setMonochromaticImage(androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage);
+    method public androidx.wear.watchface.complications.data.RangedValueComplicationData.Builder setTapAction(android.app.PendingIntent? tapAction);
+    method public androidx.wear.watchface.complications.data.RangedValueComplicationData.Builder setText(androidx.wear.watchface.complications.data.ComplicationText? text);
+    method public androidx.wear.watchface.complications.data.RangedValueComplicationData.Builder setTitle(androidx.wear.watchface.complications.data.ComplicationText? title);
+    method public androidx.wear.watchface.complications.data.RangedValueComplicationData.Builder setValidTimeRange(androidx.wear.watchface.complications.data.TimeRange? validTimeRange);
+  }
+
+  public final class ShortTextComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method public androidx.wear.watchface.complications.data.ComplicationText? getContentDescription();
+    method public androidx.wear.watchface.complications.data.MonochromaticImage? getMonochromaticImage();
+    method public androidx.wear.watchface.complications.data.ComplicationText getText();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getTitle();
+    property public final androidx.wear.watchface.complications.data.ComplicationText? contentDescription;
+    property public final androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage;
+    property public final androidx.wear.watchface.complications.data.ComplicationText text;
+    property public final androidx.wear.watchface.complications.data.ComplicationText? title;
+    field public static final int MAX_TEXT_LENGTH;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class ShortTextComplicationData.Builder {
+    ctor public ShortTextComplicationData.Builder(androidx.wear.watchface.complications.data.ComplicationText text, androidx.wear.watchface.complications.data.ComplicationText contentDescription);
+    method public androidx.wear.watchface.complications.data.ShortTextComplicationData build();
+    method public androidx.wear.watchface.complications.data.ShortTextComplicationData.Builder setMonochromaticImage(androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage);
+    method public androidx.wear.watchface.complications.data.ShortTextComplicationData.Builder setTapAction(android.app.PendingIntent? tapAction);
+    method public androidx.wear.watchface.complications.data.ShortTextComplicationData.Builder setTitle(androidx.wear.watchface.complications.data.ComplicationText? title);
+    method public androidx.wear.watchface.complications.data.ShortTextComplicationData.Builder setValidTimeRange(androidx.wear.watchface.complications.data.TimeRange? validTimeRange);
+  }
+
+  public final class SmallImage {
+    method public android.graphics.drawable.Icon? getAmbientImage();
+    method public android.graphics.drawable.Icon getImage();
+    method public androidx.wear.watchface.complications.data.SmallImageType getType();
+    property public final android.graphics.drawable.Icon? ambientImage;
+    property public final android.graphics.drawable.Icon image;
+    property public final androidx.wear.watchface.complications.data.SmallImageType type;
+  }
+
+  public static final class SmallImage.Builder {
+    ctor public SmallImage.Builder(android.graphics.drawable.Icon image, androidx.wear.watchface.complications.data.SmallImageType type);
+    method public androidx.wear.watchface.complications.data.SmallImage build();
+    method public androidx.wear.watchface.complications.data.SmallImage.Builder setAmbientImage(android.graphics.drawable.Icon? ambientImage);
+  }
+
+  public final class SmallImageComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method public androidx.wear.watchface.complications.data.ComplicationText? getContentDescription();
+    method public androidx.wear.watchface.complications.data.SmallImage getSmallImage();
+    property public final androidx.wear.watchface.complications.data.ComplicationText? contentDescription;
+    property public final androidx.wear.watchface.complications.data.SmallImage smallImage;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class SmallImageComplicationData.Builder {
+    ctor public SmallImageComplicationData.Builder(androidx.wear.watchface.complications.data.SmallImage smallImage, androidx.wear.watchface.complications.data.ComplicationText contentDescription);
+    method public androidx.wear.watchface.complications.data.SmallImageComplicationData build();
+    method public androidx.wear.watchface.complications.data.SmallImageComplicationData.Builder setTapAction(android.app.PendingIntent? tapAction);
+    method public androidx.wear.watchface.complications.data.SmallImageComplicationData.Builder setValidTimeRange(androidx.wear.watchface.complications.data.TimeRange? validTimeRange);
+  }
+
+  public enum SmallImageType {
+    enum_constant public static final androidx.wear.watchface.complications.data.SmallImageType ICON;
+    enum_constant public static final androidx.wear.watchface.complications.data.SmallImageType PHOTO;
+  }
+
+  public final class TextKt {
+  }
+
+  public final class TimeDifferenceComplicationText implements androidx.wear.watchface.complications.data.ComplicationText {
+    method public java.util.concurrent.TimeUnit? getMinimumTimeUnit();
+  }
+
+  public static final class TimeDifferenceComplicationText.Builder {
+    ctor public TimeDifferenceComplicationText.Builder(androidx.wear.watchface.complications.data.TimeDifferenceStyle style, androidx.wear.watchface.complications.data.CountUpTimeReference countUpTimeReference);
+    ctor public TimeDifferenceComplicationText.Builder(androidx.wear.watchface.complications.data.TimeDifferenceStyle style, androidx.wear.watchface.complications.data.CountDownTimeReference countDownTimeReference);
+    method public androidx.wear.watchface.complications.data.TimeDifferenceComplicationText build();
+    method public androidx.wear.watchface.complications.data.TimeDifferenceComplicationText.Builder setDisplayAsNow(boolean displayAsNow);
+    method public androidx.wear.watchface.complications.data.TimeDifferenceComplicationText.Builder setMinimumTimeUnit(java.util.concurrent.TimeUnit? minimumUnit);
+    method public androidx.wear.watchface.complications.data.TimeDifferenceComplicationText.Builder setText(CharSequence? text);
+  }
+
+  public enum TimeDifferenceStyle {
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeDifferenceStyle SHORT_DUAL_UNIT;
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeDifferenceStyle SHORT_SINGLE_UNIT;
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeDifferenceStyle SHORT_WORDS_SINGLE_UNIT;
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeDifferenceStyle STOPWATCH;
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeDifferenceStyle WORDS_SINGLE_UNIT;
+  }
+
+  public final class TimeFormatComplicationText implements androidx.wear.watchface.complications.data.ComplicationText {
+  }
+
+  public static final class TimeFormatComplicationText.Builder {
+    ctor public TimeFormatComplicationText.Builder(String format);
+    method public androidx.wear.watchface.complications.data.TimeFormatComplicationText build();
+    method public androidx.wear.watchface.complications.data.TimeFormatComplicationText.Builder setStyle(androidx.wear.watchface.complications.data.TimeFormatStyle style);
+    method public androidx.wear.watchface.complications.data.TimeFormatComplicationText.Builder setText(CharSequence text);
+    method public androidx.wear.watchface.complications.data.TimeFormatComplicationText.Builder setTimeZone(android.icu.util.TimeZone timeZone);
+  }
+
+  public enum TimeFormatStyle {
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeFormatStyle DEFAULT;
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeFormatStyle LOWER_CASE;
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeFormatStyle UPPER_CASE;
+  }
+
+  public final class TimeRange {
+    method public static androidx.wear.watchface.complications.data.TimeRange after(java.time.Instant startInstant);
+    method public static androidx.wear.watchface.complications.data.TimeRange before(java.time.Instant endInstant);
+    method public static androidx.wear.watchface.complications.data.TimeRange between(java.time.Instant startInstant, java.time.Instant endInstant);
+    method public operator boolean contains(java.time.Instant dateTimeMillis);
+    method public java.time.Instant getEndDateTimeMillis();
+    method public java.time.Instant getStartDateTimeMillis();
+    property public final java.time.Instant endDateTimeMillis;
+    property public final java.time.Instant startDateTimeMillis;
+    field public static final androidx.wear.watchface.complications.data.TimeRange ALWAYS;
+    field public static final androidx.wear.watchface.complications.data.TimeRange.Companion Companion;
+  }
+
+  public static final class TimeRange.Companion {
+    method public androidx.wear.watchface.complications.data.TimeRange after(java.time.Instant startInstant);
+    method public androidx.wear.watchface.complications.data.TimeRange before(java.time.Instant endInstant);
+    method public androidx.wear.watchface.complications.data.TimeRange between(java.time.Instant startInstant, java.time.Instant endInstant);
+  }
+
+  public final class TypeKt {
+  }
+
+}
+
+package androidx.wear.watchface.utility {
+
+  public final class TraceEventKt {
+  }
+
+}
+
diff --git a/wear/watchface/watchface-complications-data/api/res-1.0.0-beta01.txt b/wear/watchface/watchface-complications-data/api/res-1.0.0-beta01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wear/watchface/watchface-complications-data/api/res-1.0.0-beta01.txt
diff --git a/wear/watchface/watchface-complications-data/api/restricted_1.0.0-beta01.txt b/wear/watchface/watchface-complications-data/api/restricted_1.0.0-beta01.txt
new file mode 100644
index 0000000..534b61d
--- /dev/null
+++ b/wear/watchface/watchface-complications-data/api/restricted_1.0.0-beta01.txt
@@ -0,0 +1,327 @@
+// Signature format: 4.0
+package androidx.wear.watchface.complications.data {
+
+  public abstract sealed class ComplicationData {
+    method public final android.app.PendingIntent? getTapAction();
+    method public final androidx.wear.watchface.complications.data.ComplicationType getType();
+    method public final androidx.wear.watchface.complications.data.TimeRange getValidTimeRange();
+    property public final android.app.PendingIntent? tapAction;
+    property public final androidx.wear.watchface.complications.data.ComplicationType type;
+    property public final androidx.wear.watchface.complications.data.TimeRange validTimeRange;
+  }
+
+  public interface ComplicationText {
+    method public java.time.Instant getNextChangeTime(java.time.Instant afterInstant);
+    method public CharSequence getTextAt(android.content.res.Resources resources, java.time.Instant instant);
+    method public boolean isAlwaysEmpty();
+    method public boolean returnsSameText(java.time.Instant firstInstant, java.time.Instant secondInstant);
+    field public static final androidx.wear.watchface.complications.data.ComplicationText.Companion Companion;
+    field public static final androidx.wear.watchface.complications.data.ComplicationText EMPTY;
+  }
+
+  public static final class ComplicationText.Companion {
+  }
+
+  public enum ComplicationType {
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType EMPTY;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType LONG_TEXT;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType MONOCHROMATIC_IMAGE;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType NOT_CONFIGURED;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType NO_DATA;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType NO_PERMISSION;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType PHOTO_IMAGE;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType RANGED_VALUE;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType SHORT_TEXT;
+    enum_constant public static final androidx.wear.watchface.complications.data.ComplicationType SMALL_IMAGE;
+  }
+
+  public final class CountDownTimeReference {
+    ctor public CountDownTimeReference(java.time.Instant instant);
+    method public java.time.Instant getInstant();
+    property public final java.time.Instant instant;
+  }
+
+  public final class CountUpTimeReference {
+    ctor public CountUpTimeReference(java.time.Instant instant);
+    method public java.time.Instant getInstant();
+    property public final java.time.Instant instant;
+  }
+
+  public final class DataKt {
+  }
+
+  public final class EmptyComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    ctor public EmptyComplicationData();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public android.support.wearable.complications.ComplicationData asWireComplicationData();
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public final class LongTextComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public android.support.wearable.complications.ComplicationData asWireComplicationData();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getContentDescription();
+    method public androidx.wear.watchface.complications.data.MonochromaticImage? getMonochromaticImage();
+    method public androidx.wear.watchface.complications.data.SmallImage? getSmallImage();
+    method public androidx.wear.watchface.complications.data.ComplicationText getText();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getTitle();
+    property public final androidx.wear.watchface.complications.data.ComplicationText? contentDescription;
+    property public final androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage;
+    property public final androidx.wear.watchface.complications.data.SmallImage? smallImage;
+    property public final androidx.wear.watchface.complications.data.ComplicationText text;
+    property public final androidx.wear.watchface.complications.data.ComplicationText? title;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class LongTextComplicationData.Builder {
+    ctor public LongTextComplicationData.Builder(androidx.wear.watchface.complications.data.ComplicationText text, androidx.wear.watchface.complications.data.ComplicationText contentDescription);
+    method public androidx.wear.watchface.complications.data.LongTextComplicationData build();
+    method public androidx.wear.watchface.complications.data.LongTextComplicationData.Builder setMonochromaticImage(androidx.wear.watchface.complications.data.MonochromaticImage? icon);
+    method public androidx.wear.watchface.complications.data.LongTextComplicationData.Builder setSmallImage(androidx.wear.watchface.complications.data.SmallImage? smallImage);
+    method public androidx.wear.watchface.complications.data.LongTextComplicationData.Builder setTapAction(android.app.PendingIntent? tapAction);
+    method public androidx.wear.watchface.complications.data.LongTextComplicationData.Builder setTitle(androidx.wear.watchface.complications.data.ComplicationText? title);
+    method public androidx.wear.watchface.complications.data.LongTextComplicationData.Builder setValidTimeRange(androidx.wear.watchface.complications.data.TimeRange? validTimeRange);
+  }
+
+  public final class MonochromaticImage {
+    method public android.graphics.drawable.Icon? getAmbientImage();
+    method public android.graphics.drawable.Icon getImage();
+    property public final android.graphics.drawable.Icon? ambientImage;
+    property public final android.graphics.drawable.Icon image;
+  }
+
+  public static final class MonochromaticImage.Builder {
+    ctor public MonochromaticImage.Builder(android.graphics.drawable.Icon image);
+    method public androidx.wear.watchface.complications.data.MonochromaticImage build();
+    method public androidx.wear.watchface.complications.data.MonochromaticImage.Builder setAmbientImage(android.graphics.drawable.Icon? ambientImage);
+  }
+
+  public final class MonochromaticImageComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public android.support.wearable.complications.ComplicationData asWireComplicationData();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getContentDescription();
+    method public androidx.wear.watchface.complications.data.MonochromaticImage getMonochromaticImage();
+    property public final androidx.wear.watchface.complications.data.ComplicationText? contentDescription;
+    property public final androidx.wear.watchface.complications.data.MonochromaticImage monochromaticImage;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class MonochromaticImageComplicationData.Builder {
+    ctor public MonochromaticImageComplicationData.Builder(androidx.wear.watchface.complications.data.MonochromaticImage monochromaticImage, androidx.wear.watchface.complications.data.ComplicationText contentDescription);
+    method public androidx.wear.watchface.complications.data.MonochromaticImageComplicationData build();
+    method public androidx.wear.watchface.complications.data.MonochromaticImageComplicationData.Builder setTapAction(android.app.PendingIntent? tapAction);
+    method public androidx.wear.watchface.complications.data.MonochromaticImageComplicationData.Builder setValidTimeRange(androidx.wear.watchface.complications.data.TimeRange? validTimeRange);
+  }
+
+  public final class NoDataComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    ctor public NoDataComplicationData();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public android.support.wearable.complications.ComplicationData asWireComplicationData();
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public final class NoPermissionComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public android.support.wearable.complications.ComplicationData asWireComplicationData();
+    method public androidx.wear.watchface.complications.data.MonochromaticImage? getMonochromaticImage();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getText();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getTitle();
+    property public final androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage;
+    property public final androidx.wear.watchface.complications.data.ComplicationText? text;
+    property public final androidx.wear.watchface.complications.data.ComplicationText? title;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class NoPermissionComplicationData.Builder {
+    ctor public NoPermissionComplicationData.Builder();
+    method public androidx.wear.watchface.complications.data.NoPermissionComplicationData build();
+    method public androidx.wear.watchface.complications.data.NoPermissionComplicationData.Builder setMonochromaticImage(androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage);
+    method public androidx.wear.watchface.complications.data.NoPermissionComplicationData.Builder setText(androidx.wear.watchface.complications.data.ComplicationText? text);
+    method public androidx.wear.watchface.complications.data.NoPermissionComplicationData.Builder setTitle(androidx.wear.watchface.complications.data.ComplicationText? title);
+  }
+
+  public final class NotConfiguredComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    ctor public NotConfiguredComplicationData();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public android.support.wearable.complications.ComplicationData asWireComplicationData();
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public final class PhotoImageComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public android.support.wearable.complications.ComplicationData asWireComplicationData();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getContentDescription();
+    method public android.graphics.drawable.Icon getPhotoImage();
+    property public final androidx.wear.watchface.complications.data.ComplicationText? contentDescription;
+    property public final android.graphics.drawable.Icon photoImage;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class PhotoImageComplicationData.Builder {
+    ctor public PhotoImageComplicationData.Builder(android.graphics.drawable.Icon photoImage, androidx.wear.watchface.complications.data.ComplicationText contentDescription);
+    method public androidx.wear.watchface.complications.data.PhotoImageComplicationData build();
+    method public androidx.wear.watchface.complications.data.PhotoImageComplicationData.Builder setTapAction(android.app.PendingIntent? tapAction);
+    method public androidx.wear.watchface.complications.data.PhotoImageComplicationData.Builder setValidTimeRange(androidx.wear.watchface.complications.data.TimeRange? validTimeRange);
+  }
+
+  public final class PlainComplicationText implements androidx.wear.watchface.complications.data.ComplicationText {
+  }
+
+  public static final class PlainComplicationText.Builder {
+    ctor public PlainComplicationText.Builder(CharSequence text);
+    method public androidx.wear.watchface.complications.data.PlainComplicationText build();
+  }
+
+  public final class RangedValueComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public android.support.wearable.complications.ComplicationData asWireComplicationData();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getContentDescription();
+    method public float getMax();
+    method public float getMin();
+    method public androidx.wear.watchface.complications.data.MonochromaticImage? getMonochromaticImage();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getText();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getTitle();
+    method public float getValue();
+    property public final androidx.wear.watchface.complications.data.ComplicationText? contentDescription;
+    property public final float max;
+    property public final float min;
+    property public final androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage;
+    property public final androidx.wear.watchface.complications.data.ComplicationText? text;
+    property public final androidx.wear.watchface.complications.data.ComplicationText? title;
+    property public final float value;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class RangedValueComplicationData.Builder {
+    ctor public RangedValueComplicationData.Builder(float value, float min, float max, androidx.wear.watchface.complications.data.ComplicationText contentDescription);
+    method public androidx.wear.watchface.complications.data.RangedValueComplicationData build();
+    method public androidx.wear.watchface.complications.data.RangedValueComplicationData.Builder setMonochromaticImage(androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage);
+    method public androidx.wear.watchface.complications.data.RangedValueComplicationData.Builder setTapAction(android.app.PendingIntent? tapAction);
+    method public androidx.wear.watchface.complications.data.RangedValueComplicationData.Builder setText(androidx.wear.watchface.complications.data.ComplicationText? text);
+    method public androidx.wear.watchface.complications.data.RangedValueComplicationData.Builder setTitle(androidx.wear.watchface.complications.data.ComplicationText? title);
+    method public androidx.wear.watchface.complications.data.RangedValueComplicationData.Builder setValidTimeRange(androidx.wear.watchface.complications.data.TimeRange? validTimeRange);
+  }
+
+  public final class ShortTextComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public android.support.wearable.complications.ComplicationData asWireComplicationData();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getContentDescription();
+    method public androidx.wear.watchface.complications.data.MonochromaticImage? getMonochromaticImage();
+    method public androidx.wear.watchface.complications.data.ComplicationText getText();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getTitle();
+    property public final androidx.wear.watchface.complications.data.ComplicationText? contentDescription;
+    property public final androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage;
+    property public final androidx.wear.watchface.complications.data.ComplicationText text;
+    property public final androidx.wear.watchface.complications.data.ComplicationText? title;
+    field public static final int MAX_TEXT_LENGTH;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class ShortTextComplicationData.Builder {
+    ctor public ShortTextComplicationData.Builder(androidx.wear.watchface.complications.data.ComplicationText text, androidx.wear.watchface.complications.data.ComplicationText contentDescription);
+    method public androidx.wear.watchface.complications.data.ShortTextComplicationData build();
+    method public androidx.wear.watchface.complications.data.ShortTextComplicationData.Builder setMonochromaticImage(androidx.wear.watchface.complications.data.MonochromaticImage? monochromaticImage);
+    method public androidx.wear.watchface.complications.data.ShortTextComplicationData.Builder setTapAction(android.app.PendingIntent? tapAction);
+    method public androidx.wear.watchface.complications.data.ShortTextComplicationData.Builder setTitle(androidx.wear.watchface.complications.data.ComplicationText? title);
+    method public androidx.wear.watchface.complications.data.ShortTextComplicationData.Builder setValidTimeRange(androidx.wear.watchface.complications.data.TimeRange? validTimeRange);
+  }
+
+  public final class SmallImage {
+    method public android.graphics.drawable.Icon? getAmbientImage();
+    method public android.graphics.drawable.Icon getImage();
+    method public androidx.wear.watchface.complications.data.SmallImageType getType();
+    property public final android.graphics.drawable.Icon? ambientImage;
+    property public final android.graphics.drawable.Icon image;
+    property public final androidx.wear.watchface.complications.data.SmallImageType type;
+  }
+
+  public static final class SmallImage.Builder {
+    ctor public SmallImage.Builder(android.graphics.drawable.Icon image, androidx.wear.watchface.complications.data.SmallImageType type);
+    method public androidx.wear.watchface.complications.data.SmallImage build();
+    method public androidx.wear.watchface.complications.data.SmallImage.Builder setAmbientImage(android.graphics.drawable.Icon? ambientImage);
+  }
+
+  public final class SmallImageComplicationData extends androidx.wear.watchface.complications.data.ComplicationData {
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public android.support.wearable.complications.ComplicationData asWireComplicationData();
+    method public androidx.wear.watchface.complications.data.ComplicationText? getContentDescription();
+    method public androidx.wear.watchface.complications.data.SmallImage getSmallImage();
+    property public final androidx.wear.watchface.complications.data.ComplicationText? contentDescription;
+    property public final androidx.wear.watchface.complications.data.SmallImage smallImage;
+    field public static final androidx.wear.watchface.complications.data.ComplicationType TYPE;
+  }
+
+  public static final class SmallImageComplicationData.Builder {
+    ctor public SmallImageComplicationData.Builder(androidx.wear.watchface.complications.data.SmallImage smallImage, androidx.wear.watchface.complications.data.ComplicationText contentDescription);
+    method public androidx.wear.watchface.complications.data.SmallImageComplicationData build();
+    method public androidx.wear.watchface.complications.data.SmallImageComplicationData.Builder setTapAction(android.app.PendingIntent? tapAction);
+    method public androidx.wear.watchface.complications.data.SmallImageComplicationData.Builder setValidTimeRange(androidx.wear.watchface.complications.data.TimeRange? validTimeRange);
+  }
+
+  public enum SmallImageType {
+    enum_constant public static final androidx.wear.watchface.complications.data.SmallImageType ICON;
+    enum_constant public static final androidx.wear.watchface.complications.data.SmallImageType PHOTO;
+  }
+
+  public final class TextKt {
+  }
+
+  public final class TimeDifferenceComplicationText implements androidx.wear.watchface.complications.data.ComplicationText {
+    method public java.util.concurrent.TimeUnit? getMinimumTimeUnit();
+  }
+
+  public static final class TimeDifferenceComplicationText.Builder {
+    ctor public TimeDifferenceComplicationText.Builder(androidx.wear.watchface.complications.data.TimeDifferenceStyle style, androidx.wear.watchface.complications.data.CountUpTimeReference countUpTimeReference);
+    ctor public TimeDifferenceComplicationText.Builder(androidx.wear.watchface.complications.data.TimeDifferenceStyle style, androidx.wear.watchface.complications.data.CountDownTimeReference countDownTimeReference);
+    method public androidx.wear.watchface.complications.data.TimeDifferenceComplicationText build();
+    method public androidx.wear.watchface.complications.data.TimeDifferenceComplicationText.Builder setDisplayAsNow(boolean displayAsNow);
+    method public androidx.wear.watchface.complications.data.TimeDifferenceComplicationText.Builder setMinimumTimeUnit(java.util.concurrent.TimeUnit? minimumUnit);
+    method public androidx.wear.watchface.complications.data.TimeDifferenceComplicationText.Builder setText(CharSequence? text);
+  }
+
+  public enum TimeDifferenceStyle {
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeDifferenceStyle SHORT_DUAL_UNIT;
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeDifferenceStyle SHORT_SINGLE_UNIT;
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeDifferenceStyle SHORT_WORDS_SINGLE_UNIT;
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeDifferenceStyle STOPWATCH;
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeDifferenceStyle WORDS_SINGLE_UNIT;
+  }
+
+  public final class TimeFormatComplicationText implements androidx.wear.watchface.complications.data.ComplicationText {
+  }
+
+  public static final class TimeFormatComplicationText.Builder {
+    ctor public TimeFormatComplicationText.Builder(String format);
+    method public androidx.wear.watchface.complications.data.TimeFormatComplicationText build();
+    method public androidx.wear.watchface.complications.data.TimeFormatComplicationText.Builder setStyle(androidx.wear.watchface.complications.data.TimeFormatStyle style);
+    method public androidx.wear.watchface.complications.data.TimeFormatComplicationText.Builder setText(CharSequence text);
+    method public androidx.wear.watchface.complications.data.TimeFormatComplicationText.Builder setTimeZone(android.icu.util.TimeZone timeZone);
+  }
+
+  public enum TimeFormatStyle {
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeFormatStyle DEFAULT;
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeFormatStyle LOWER_CASE;
+    enum_constant public static final androidx.wear.watchface.complications.data.TimeFormatStyle UPPER_CASE;
+  }
+
+  public final class TimeRange {
+    method public static androidx.wear.watchface.complications.data.TimeRange after(java.time.Instant startInstant);
+    method public static androidx.wear.watchface.complications.data.TimeRange before(java.time.Instant endInstant);
+    method public static androidx.wear.watchface.complications.data.TimeRange between(java.time.Instant startInstant, java.time.Instant endInstant);
+    method public operator boolean contains(java.time.Instant dateTimeMillis);
+    method public java.time.Instant getEndDateTimeMillis();
+    method public java.time.Instant getStartDateTimeMillis();
+    property public final java.time.Instant endDateTimeMillis;
+    property public final java.time.Instant startDateTimeMillis;
+    field public static final androidx.wear.watchface.complications.data.TimeRange ALWAYS;
+    field public static final androidx.wear.watchface.complications.data.TimeRange.Companion Companion;
+  }
+
+  public static final class TimeRange.Companion {
+    method public androidx.wear.watchface.complications.data.TimeRange after(java.time.Instant startInstant);
+    method public androidx.wear.watchface.complications.data.TimeRange before(java.time.Instant endInstant);
+    method public androidx.wear.watchface.complications.data.TimeRange between(java.time.Instant startInstant, java.time.Instant endInstant);
+  }
+
+  public final class TypeKt {
+  }
+
+}
+
+package androidx.wear.watchface.utility {
+
+  public final class TraceEventKt {
+  }
+
+}
+
diff --git a/wear/watchface/watchface-complications-data/lint-baseline.xml b/wear/watchface/watchface-complications-data/lint-baseline.xml
index 951f879..b6ac838 100644
--- a/wear/watchface/watchface-complications-data/lint-baseline.xml
+++ b/wear/watchface/watchface-complications-data/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha08" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-alpha08)" variant="all" version="7.1.0-alpha08">
+<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">
 
     <issue
         id="MissingQuantity"
diff --git a/wear/watchface/watchface-complications-rendering/api/1.0.0-beta01.txt b/wear/watchface/watchface-complications-rendering/api/1.0.0-beta01.txt
new file mode 100644
index 0000000..2a0aaa0
--- /dev/null
+++ b/wear/watchface/watchface-complications-rendering/api/1.0.0-beta01.txt
@@ -0,0 +1,153 @@
+// Signature format: 4.0
+package androidx.wear.watchface.complications.rendering {
+
+  public class CanvasComplicationDrawable implements androidx.wear.watchface.CanvasComplication {
+    ctor public CanvasComplicationDrawable(androidx.wear.watchface.complications.rendering.ComplicationDrawable drawable, androidx.wear.watchface.WatchState watchState, androidx.wear.watchface.CanvasComplication.InvalidateCallback invalidateCallback);
+    method public void drawHighlight(android.graphics.Canvas canvas, android.graphics.Rect bounds, int boundsType, java.time.ZonedDateTime zonedDateTime, @ColorInt int color);
+    method public androidx.wear.watchface.complications.data.ComplicationData getData();
+    method public final androidx.wear.watchface.complications.rendering.ComplicationDrawable getDrawable();
+    method @CallSuper public void loadData(androidx.wear.watchface.complications.data.ComplicationData complicationData, boolean loadDrawablesAsynchronous);
+    method public void render(android.graphics.Canvas canvas, android.graphics.Rect bounds, java.time.ZonedDateTime zonedDateTime, androidx.wear.watchface.RenderParameters renderParameters, int slotId);
+    method public final void setDrawable(androidx.wear.watchface.complications.rendering.ComplicationDrawable value);
+    property public final androidx.wear.watchface.complications.rendering.ComplicationDrawable drawable;
+  }
+
+  public final class ComplicationDrawable extends android.graphics.drawable.Drawable {
+    ctor public ComplicationDrawable();
+    ctor public ComplicationDrawable(android.content.Context context);
+    ctor public ComplicationDrawable(androidx.wear.watchface.complications.rendering.ComplicationDrawable drawable);
+    method public void draw(android.graphics.Canvas canvas);
+    method public androidx.wear.watchface.complications.rendering.ComplicationStyle getActiveStyle();
+    method public androidx.wear.watchface.complications.rendering.ComplicationStyle getAmbientStyle();
+    method public androidx.wear.watchface.complications.data.ComplicationData getComplicationData();
+    method public android.content.Context? getContext();
+    method public java.time.Instant getCurrentTime();
+    method public static androidx.wear.watchface.complications.rendering.ComplicationDrawable? getDrawable(android.content.Context context, int id);
+    method public long getHighlightDuration();
+    method public CharSequence? getNoDataText();
+    method @Deprecated public int getOpacity();
+    method public boolean isBurnInProtectionOn();
+    method public boolean isHighlighted();
+    method public boolean isInAmbientMode();
+    method public boolean isLowBitAmbient();
+    method public boolean isRangedValueProgressHidden();
+    method public boolean onTap(@Px int x, @Px int y);
+    method public void setAlpha(@IntRange(from=0, to=255) int alpha);
+    method public void setBurnInProtectionOn(boolean isBurnInProtectionOn);
+    method public void setColorFilter(android.graphics.ColorFilter? colorFilter);
+    method public void setComplicationData(androidx.wear.watchface.complications.data.ComplicationData complicationData, boolean loadDrawablesAsync);
+    method public void setContext(android.content.Context context);
+    method public void setCurrentTime(java.time.Instant currentTime);
+    method public void setHighlightDuration(@IntRange(from=0) long highlightDurationMillis);
+    method public void setHighlighted(boolean isHighlighted);
+    method public void setInAmbientMode(boolean isInAmbientMode);
+    method public void setLowBitAmbient(boolean isLowBitAmbient);
+    method public void setNoDataText(CharSequence? noDataText);
+    method public void setRangedValueProgressHidden(boolean rangedValueProgressHidden);
+    property public final androidx.wear.watchface.complications.rendering.ComplicationStyle activeStyle;
+    property public final androidx.wear.watchface.complications.rendering.ComplicationStyle ambientStyle;
+    property public final androidx.wear.watchface.complications.data.ComplicationData complicationData;
+    property public final android.content.Context? context;
+    property public final java.time.Instant currentTime;
+    property public final long highlightDuration;
+    property public final boolean isBurnInProtectionOn;
+    property public final boolean isHighlighted;
+    property public final boolean isInAmbientMode;
+    property public final boolean isLowBitAmbient;
+    property public final boolean isRangedValueProgressHidden;
+    property public final CharSequence? noDataText;
+    field public static final androidx.wear.watchface.complications.rendering.ComplicationDrawable.Companion Companion;
+  }
+
+  public static final class ComplicationDrawable.Companion {
+    method public androidx.wear.watchface.complications.rendering.ComplicationDrawable? getDrawable(android.content.Context context, int id);
+  }
+
+  public final class ComplicationHighlightRenderer {
+    ctor public ComplicationHighlightRenderer(@Px float outlineExpansion, @Px float outlineStrokeWidth);
+    method public void drawComplicationHighlight(android.graphics.Canvas canvas, android.graphics.Rect bounds, @ColorInt int color);
+  }
+
+  public final class ComplicationStyle {
+    ctor public ComplicationStyle();
+    ctor public ComplicationStyle(androidx.wear.watchface.complications.rendering.ComplicationStyle style);
+    method @ColorInt public int getBackgroundColor();
+    method public android.graphics.drawable.Drawable? getBackgroundDrawable();
+    method @ColorInt public int getBorderColor();
+    method @Px public int getBorderDashGap();
+    method @Px public int getBorderDashWidth();
+    method @Px public int getBorderRadius();
+    method public int getBorderStyle();
+    method @Px public int getBorderWidth();
+    method @ColorInt public int getHighlightColor();
+    method @ColorInt public int getIconColor();
+    method public android.graphics.ColorFilter? getImageColorFilter();
+    method @ColorInt public int getRangedValuePrimaryColor();
+    method @Px public int getRangedValueRingWidth();
+    method @ColorInt public int getRangedValueSecondaryColor();
+    method @ColorInt public int getTextColor();
+    method @Px public int getTextSize();
+    method public android.graphics.Typeface getTextTypeface();
+    method @ColorInt public int getTitleColor();
+    method @Px public int getTitleSize();
+    method public android.graphics.Typeface getTitleTypeface();
+    method public void setBackgroundColor(@ColorInt int backgroundColor);
+    method public void setBackgroundDrawable(android.graphics.drawable.Drawable? backgroundDrawable);
+    method public void setBorderColor(@ColorInt int borderColor);
+    method public void setBorderDashGap(@Px int borderDashGap);
+    method public void setBorderDashWidth(@Px int borderDashWidth);
+    method public void setBorderRadius(@Px int borderRadius);
+    method public void setBorderStyle(int borderStyle);
+    method public void setBorderWidth(@Px int borderWidth);
+    method public void setHighlightColor(@ColorInt int highlightColor);
+    method public void setIconColor(@ColorInt int iconColor);
+    method public void setImageColorFilter(android.graphics.ColorFilter? colorFilter);
+    method public void setRangedValuePrimaryColor(@ColorInt int rangedValuePrimaryColor);
+    method public void setRangedValueRingWidth(@Px int rangedValueRingWidth);
+    method public void setRangedValueSecondaryColor(@ColorInt int rangedValueSecondaryColor);
+    method public void setTextColor(@ColorInt int textColor);
+    method public void setTextSize(@Px int textSize);
+    method public void setTextTypeface(android.graphics.Typeface textTypeface);
+    method public void setTitleColor(@ColorInt int titleColor);
+    method public void setTitleSize(@Px int titleSize);
+    method public void setTitleTypeface(android.graphics.Typeface titleTypeface);
+    property @ColorInt public final int backgroundColor;
+    property public final android.graphics.drawable.Drawable? backgroundDrawable;
+    property @ColorInt public final int borderColor;
+    property @Px public final int borderDashGap;
+    property @Px public final int borderDashWidth;
+    property @Px public final int borderRadius;
+    property public final int borderStyle;
+    property @Px public final int borderWidth;
+    property @ColorInt public final int highlightColor;
+    property @ColorInt public final int iconColor;
+    property public final android.graphics.ColorFilter? imageColorFilter;
+    property @ColorInt public final int rangedValuePrimaryColor;
+    property @Px public final int rangedValueRingWidth;
+    property @ColorInt public final int rangedValueSecondaryColor;
+    property @ColorInt public final int textColor;
+    property @Px public final int textSize;
+    property public final android.graphics.Typeface textTypeface;
+    property @ColorInt public final int titleColor;
+    property @Px public final int titleSize;
+    property public final android.graphics.Typeface titleTypeface;
+    field @Px public static final int BORDER_RADIUS_DEFAULT = 2147483647; // 0x7fffffff
+    field public static final int BORDER_STYLE_DASHED = 2; // 0x2
+    field public static final int BORDER_STYLE_NONE = 0; // 0x0
+    field public static final int BORDER_STYLE_SOLID = 1; // 0x1
+    field public static final androidx.wear.watchface.complications.rendering.ComplicationStyle.Companion Companion;
+  }
+
+  public static final class ComplicationStyle.Companion {
+  }
+
+  public final class GlesTextureComplication {
+    ctor public GlesTextureComplication(androidx.wear.watchface.ComplicationSlot complicationSlot, @Px int textureWidth, @Px int textureHeight, int textureType);
+    method public void bind();
+    method public androidx.wear.watchface.ComplicationSlot getComplicationSlot();
+    method public void renderToTexture(java.time.ZonedDateTime zonedDateTime, androidx.wear.watchface.RenderParameters renderParameters);
+    property public final androidx.wear.watchface.ComplicationSlot complicationSlot;
+  }
+
+}
+
diff --git a/wear/watchface/watchface-complications-rendering/api/public_plus_experimental_1.0.0-beta01.txt b/wear/watchface/watchface-complications-rendering/api/public_plus_experimental_1.0.0-beta01.txt
new file mode 100644
index 0000000..2a0aaa0
--- /dev/null
+++ b/wear/watchface/watchface-complications-rendering/api/public_plus_experimental_1.0.0-beta01.txt
@@ -0,0 +1,153 @@
+// Signature format: 4.0
+package androidx.wear.watchface.complications.rendering {
+
+  public class CanvasComplicationDrawable implements androidx.wear.watchface.CanvasComplication {
+    ctor public CanvasComplicationDrawable(androidx.wear.watchface.complications.rendering.ComplicationDrawable drawable, androidx.wear.watchface.WatchState watchState, androidx.wear.watchface.CanvasComplication.InvalidateCallback invalidateCallback);
+    method public void drawHighlight(android.graphics.Canvas canvas, android.graphics.Rect bounds, int boundsType, java.time.ZonedDateTime zonedDateTime, @ColorInt int color);
+    method public androidx.wear.watchface.complications.data.ComplicationData getData();
+    method public final androidx.wear.watchface.complications.rendering.ComplicationDrawable getDrawable();
+    method @CallSuper public void loadData(androidx.wear.watchface.complications.data.ComplicationData complicationData, boolean loadDrawablesAsynchronous);
+    method public void render(android.graphics.Canvas canvas, android.graphics.Rect bounds, java.time.ZonedDateTime zonedDateTime, androidx.wear.watchface.RenderParameters renderParameters, int slotId);
+    method public final void setDrawable(androidx.wear.watchface.complications.rendering.ComplicationDrawable value);
+    property public final androidx.wear.watchface.complications.rendering.ComplicationDrawable drawable;
+  }
+
+  public final class ComplicationDrawable extends android.graphics.drawable.Drawable {
+    ctor public ComplicationDrawable();
+    ctor public ComplicationDrawable(android.content.Context context);
+    ctor public ComplicationDrawable(androidx.wear.watchface.complications.rendering.ComplicationDrawable drawable);
+    method public void draw(android.graphics.Canvas canvas);
+    method public androidx.wear.watchface.complications.rendering.ComplicationStyle getActiveStyle();
+    method public androidx.wear.watchface.complications.rendering.ComplicationStyle getAmbientStyle();
+    method public androidx.wear.watchface.complications.data.ComplicationData getComplicationData();
+    method public android.content.Context? getContext();
+    method public java.time.Instant getCurrentTime();
+    method public static androidx.wear.watchface.complications.rendering.ComplicationDrawable? getDrawable(android.content.Context context, int id);
+    method public long getHighlightDuration();
+    method public CharSequence? getNoDataText();
+    method @Deprecated public int getOpacity();
+    method public boolean isBurnInProtectionOn();
+    method public boolean isHighlighted();
+    method public boolean isInAmbientMode();
+    method public boolean isLowBitAmbient();
+    method public boolean isRangedValueProgressHidden();
+    method public boolean onTap(@Px int x, @Px int y);
+    method public void setAlpha(@IntRange(from=0, to=255) int alpha);
+    method public void setBurnInProtectionOn(boolean isBurnInProtectionOn);
+    method public void setColorFilter(android.graphics.ColorFilter? colorFilter);
+    method public void setComplicationData(androidx.wear.watchface.complications.data.ComplicationData complicationData, boolean loadDrawablesAsync);
+    method public void setContext(android.content.Context context);
+    method public void setCurrentTime(java.time.Instant currentTime);
+    method public void setHighlightDuration(@IntRange(from=0) long highlightDurationMillis);
+    method public void setHighlighted(boolean isHighlighted);
+    method public void setInAmbientMode(boolean isInAmbientMode);
+    method public void setLowBitAmbient(boolean isLowBitAmbient);
+    method public void setNoDataText(CharSequence? noDataText);
+    method public void setRangedValueProgressHidden(boolean rangedValueProgressHidden);
+    property public final androidx.wear.watchface.complications.rendering.ComplicationStyle activeStyle;
+    property public final androidx.wear.watchface.complications.rendering.ComplicationStyle ambientStyle;
+    property public final androidx.wear.watchface.complications.data.ComplicationData complicationData;
+    property public final android.content.Context? context;
+    property public final java.time.Instant currentTime;
+    property public final long highlightDuration;
+    property public final boolean isBurnInProtectionOn;
+    property public final boolean isHighlighted;
+    property public final boolean isInAmbientMode;
+    property public final boolean isLowBitAmbient;
+    property public final boolean isRangedValueProgressHidden;
+    property public final CharSequence? noDataText;
+    field public static final androidx.wear.watchface.complications.rendering.ComplicationDrawable.Companion Companion;
+  }
+
+  public static final class ComplicationDrawable.Companion {
+    method public androidx.wear.watchface.complications.rendering.ComplicationDrawable? getDrawable(android.content.Context context, int id);
+  }
+
+  public final class ComplicationHighlightRenderer {
+    ctor public ComplicationHighlightRenderer(@Px float outlineExpansion, @Px float outlineStrokeWidth);
+    method public void drawComplicationHighlight(android.graphics.Canvas canvas, android.graphics.Rect bounds, @ColorInt int color);
+  }
+
+  public final class ComplicationStyle {
+    ctor public ComplicationStyle();
+    ctor public ComplicationStyle(androidx.wear.watchface.complications.rendering.ComplicationStyle style);
+    method @ColorInt public int getBackgroundColor();
+    method public android.graphics.drawable.Drawable? getBackgroundDrawable();
+    method @ColorInt public int getBorderColor();
+    method @Px public int getBorderDashGap();
+    method @Px public int getBorderDashWidth();
+    method @Px public int getBorderRadius();
+    method public int getBorderStyle();
+    method @Px public int getBorderWidth();
+    method @ColorInt public int getHighlightColor();
+    method @ColorInt public int getIconColor();
+    method public android.graphics.ColorFilter? getImageColorFilter();
+    method @ColorInt public int getRangedValuePrimaryColor();
+    method @Px public int getRangedValueRingWidth();
+    method @ColorInt public int getRangedValueSecondaryColor();
+    method @ColorInt public int getTextColor();
+    method @Px public int getTextSize();
+    method public android.graphics.Typeface getTextTypeface();
+    method @ColorInt public int getTitleColor();
+    method @Px public int getTitleSize();
+    method public android.graphics.Typeface getTitleTypeface();
+    method public void setBackgroundColor(@ColorInt int backgroundColor);
+    method public void setBackgroundDrawable(android.graphics.drawable.Drawable? backgroundDrawable);
+    method public void setBorderColor(@ColorInt int borderColor);
+    method public void setBorderDashGap(@Px int borderDashGap);
+    method public void setBorderDashWidth(@Px int borderDashWidth);
+    method public void setBorderRadius(@Px int borderRadius);
+    method public void setBorderStyle(int borderStyle);
+    method public void setBorderWidth(@Px int borderWidth);
+    method public void setHighlightColor(@ColorInt int highlightColor);
+    method public void setIconColor(@ColorInt int iconColor);
+    method public void setImageColorFilter(android.graphics.ColorFilter? colorFilter);
+    method public void setRangedValuePrimaryColor(@ColorInt int rangedValuePrimaryColor);
+    method public void setRangedValueRingWidth(@Px int rangedValueRingWidth);
+    method public void setRangedValueSecondaryColor(@ColorInt int rangedValueSecondaryColor);
+    method public void setTextColor(@ColorInt int textColor);
+    method public void setTextSize(@Px int textSize);
+    method public void setTextTypeface(android.graphics.Typeface textTypeface);
+    method public void setTitleColor(@ColorInt int titleColor);
+    method public void setTitleSize(@Px int titleSize);
+    method public void setTitleTypeface(android.graphics.Typeface titleTypeface);
+    property @ColorInt public final int backgroundColor;
+    property public final android.graphics.drawable.Drawable? backgroundDrawable;
+    property @ColorInt public final int borderColor;
+    property @Px public final int borderDashGap;
+    property @Px public final int borderDashWidth;
+    property @Px public final int borderRadius;
+    property public final int borderStyle;
+    property @Px public final int borderWidth;
+    property @ColorInt public final int highlightColor;
+    property @ColorInt public final int iconColor;
+    property public final android.graphics.ColorFilter? imageColorFilter;
+    property @ColorInt public final int rangedValuePrimaryColor;
+    property @Px public final int rangedValueRingWidth;
+    property @ColorInt public final int rangedValueSecondaryColor;
+    property @ColorInt public final int textColor;
+    property @Px public final int textSize;
+    property public final android.graphics.Typeface textTypeface;
+    property @ColorInt public final int titleColor;
+    property @Px public final int titleSize;
+    property public final android.graphics.Typeface titleTypeface;
+    field @Px public static final int BORDER_RADIUS_DEFAULT = 2147483647; // 0x7fffffff
+    field public static final int BORDER_STYLE_DASHED = 2; // 0x2
+    field public static final int BORDER_STYLE_NONE = 0; // 0x0
+    field public static final int BORDER_STYLE_SOLID = 1; // 0x1
+    field public static final androidx.wear.watchface.complications.rendering.ComplicationStyle.Companion Companion;
+  }
+
+  public static final class ComplicationStyle.Companion {
+  }
+
+  public final class GlesTextureComplication {
+    ctor public GlesTextureComplication(androidx.wear.watchface.ComplicationSlot complicationSlot, @Px int textureWidth, @Px int textureHeight, int textureType);
+    method public void bind();
+    method public androidx.wear.watchface.ComplicationSlot getComplicationSlot();
+    method public void renderToTexture(java.time.ZonedDateTime zonedDateTime, androidx.wear.watchface.RenderParameters renderParameters);
+    property public final androidx.wear.watchface.ComplicationSlot complicationSlot;
+  }
+
+}
+
diff --git a/wear/watchface/watchface-complications-rendering/api/res-1.0.0-beta01.txt b/wear/watchface/watchface-complications-rendering/api/res-1.0.0-beta01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wear/watchface/watchface-complications-rendering/api/res-1.0.0-beta01.txt
diff --git a/wear/watchface/watchface-complications-rendering/api/restricted_1.0.0-beta01.txt b/wear/watchface/watchface-complications-rendering/api/restricted_1.0.0-beta01.txt
new file mode 100644
index 0000000..2a0aaa0
--- /dev/null
+++ b/wear/watchface/watchface-complications-rendering/api/restricted_1.0.0-beta01.txt
@@ -0,0 +1,153 @@
+// Signature format: 4.0
+package androidx.wear.watchface.complications.rendering {
+
+  public class CanvasComplicationDrawable implements androidx.wear.watchface.CanvasComplication {
+    ctor public CanvasComplicationDrawable(androidx.wear.watchface.complications.rendering.ComplicationDrawable drawable, androidx.wear.watchface.WatchState watchState, androidx.wear.watchface.CanvasComplication.InvalidateCallback invalidateCallback);
+    method public void drawHighlight(android.graphics.Canvas canvas, android.graphics.Rect bounds, int boundsType, java.time.ZonedDateTime zonedDateTime, @ColorInt int color);
+    method public androidx.wear.watchface.complications.data.ComplicationData getData();
+    method public final androidx.wear.watchface.complications.rendering.ComplicationDrawable getDrawable();
+    method @CallSuper public void loadData(androidx.wear.watchface.complications.data.ComplicationData complicationData, boolean loadDrawablesAsynchronous);
+    method public void render(android.graphics.Canvas canvas, android.graphics.Rect bounds, java.time.ZonedDateTime zonedDateTime, androidx.wear.watchface.RenderParameters renderParameters, int slotId);
+    method public final void setDrawable(androidx.wear.watchface.complications.rendering.ComplicationDrawable value);
+    property public final androidx.wear.watchface.complications.rendering.ComplicationDrawable drawable;
+  }
+
+  public final class ComplicationDrawable extends android.graphics.drawable.Drawable {
+    ctor public ComplicationDrawable();
+    ctor public ComplicationDrawable(android.content.Context context);
+    ctor public ComplicationDrawable(androidx.wear.watchface.complications.rendering.ComplicationDrawable drawable);
+    method public void draw(android.graphics.Canvas canvas);
+    method public androidx.wear.watchface.complications.rendering.ComplicationStyle getActiveStyle();
+    method public androidx.wear.watchface.complications.rendering.ComplicationStyle getAmbientStyle();
+    method public androidx.wear.watchface.complications.data.ComplicationData getComplicationData();
+    method public android.content.Context? getContext();
+    method public java.time.Instant getCurrentTime();
+    method public static androidx.wear.watchface.complications.rendering.ComplicationDrawable? getDrawable(android.content.Context context, int id);
+    method public long getHighlightDuration();
+    method public CharSequence? getNoDataText();
+    method @Deprecated public int getOpacity();
+    method public boolean isBurnInProtectionOn();
+    method public boolean isHighlighted();
+    method public boolean isInAmbientMode();
+    method public boolean isLowBitAmbient();
+    method public boolean isRangedValueProgressHidden();
+    method public boolean onTap(@Px int x, @Px int y);
+    method public void setAlpha(@IntRange(from=0, to=255) int alpha);
+    method public void setBurnInProtectionOn(boolean isBurnInProtectionOn);
+    method public void setColorFilter(android.graphics.ColorFilter? colorFilter);
+    method public void setComplicationData(androidx.wear.watchface.complications.data.ComplicationData complicationData, boolean loadDrawablesAsync);
+    method public void setContext(android.content.Context context);
+    method public void setCurrentTime(java.time.Instant currentTime);
+    method public void setHighlightDuration(@IntRange(from=0) long highlightDurationMillis);
+    method public void setHighlighted(boolean isHighlighted);
+    method public void setInAmbientMode(boolean isInAmbientMode);
+    method public void setLowBitAmbient(boolean isLowBitAmbient);
+    method public void setNoDataText(CharSequence? noDataText);
+    method public void setRangedValueProgressHidden(boolean rangedValueProgressHidden);
+    property public final androidx.wear.watchface.complications.rendering.ComplicationStyle activeStyle;
+    property public final androidx.wear.watchface.complications.rendering.ComplicationStyle ambientStyle;
+    property public final androidx.wear.watchface.complications.data.ComplicationData complicationData;
+    property public final android.content.Context? context;
+    property public final java.time.Instant currentTime;
+    property public final long highlightDuration;
+    property public final boolean isBurnInProtectionOn;
+    property public final boolean isHighlighted;
+    property public final boolean isInAmbientMode;
+    property public final boolean isLowBitAmbient;
+    property public final boolean isRangedValueProgressHidden;
+    property public final CharSequence? noDataText;
+    field public static final androidx.wear.watchface.complications.rendering.ComplicationDrawable.Companion Companion;
+  }
+
+  public static final class ComplicationDrawable.Companion {
+    method public androidx.wear.watchface.complications.rendering.ComplicationDrawable? getDrawable(android.content.Context context, int id);
+  }
+
+  public final class ComplicationHighlightRenderer {
+    ctor public ComplicationHighlightRenderer(@Px float outlineExpansion, @Px float outlineStrokeWidth);
+    method public void drawComplicationHighlight(android.graphics.Canvas canvas, android.graphics.Rect bounds, @ColorInt int color);
+  }
+
+  public final class ComplicationStyle {
+    ctor public ComplicationStyle();
+    ctor public ComplicationStyle(androidx.wear.watchface.complications.rendering.ComplicationStyle style);
+    method @ColorInt public int getBackgroundColor();
+    method public android.graphics.drawable.Drawable? getBackgroundDrawable();
+    method @ColorInt public int getBorderColor();
+    method @Px public int getBorderDashGap();
+    method @Px public int getBorderDashWidth();
+    method @Px public int getBorderRadius();
+    method public int getBorderStyle();
+    method @Px public int getBorderWidth();
+    method @ColorInt public int getHighlightColor();
+    method @ColorInt public int getIconColor();
+    method public android.graphics.ColorFilter? getImageColorFilter();
+    method @ColorInt public int getRangedValuePrimaryColor();
+    method @Px public int getRangedValueRingWidth();
+    method @ColorInt public int getRangedValueSecondaryColor();
+    method @ColorInt public int getTextColor();
+    method @Px public int getTextSize();
+    method public android.graphics.Typeface getTextTypeface();
+    method @ColorInt public int getTitleColor();
+    method @Px public int getTitleSize();
+    method public android.graphics.Typeface getTitleTypeface();
+    method public void setBackgroundColor(@ColorInt int backgroundColor);
+    method public void setBackgroundDrawable(android.graphics.drawable.Drawable? backgroundDrawable);
+    method public void setBorderColor(@ColorInt int borderColor);
+    method public void setBorderDashGap(@Px int borderDashGap);
+    method public void setBorderDashWidth(@Px int borderDashWidth);
+    method public void setBorderRadius(@Px int borderRadius);
+    method public void setBorderStyle(int borderStyle);
+    method public void setBorderWidth(@Px int borderWidth);
+    method public void setHighlightColor(@ColorInt int highlightColor);
+    method public void setIconColor(@ColorInt int iconColor);
+    method public void setImageColorFilter(android.graphics.ColorFilter? colorFilter);
+    method public void setRangedValuePrimaryColor(@ColorInt int rangedValuePrimaryColor);
+    method public void setRangedValueRingWidth(@Px int rangedValueRingWidth);
+    method public void setRangedValueSecondaryColor(@ColorInt int rangedValueSecondaryColor);
+    method public void setTextColor(@ColorInt int textColor);
+    method public void setTextSize(@Px int textSize);
+    method public void setTextTypeface(android.graphics.Typeface textTypeface);
+    method public void setTitleColor(@ColorInt int titleColor);
+    method public void setTitleSize(@Px int titleSize);
+    method public void setTitleTypeface(android.graphics.Typeface titleTypeface);
+    property @ColorInt public final int backgroundColor;
+    property public final android.graphics.drawable.Drawable? backgroundDrawable;
+    property @ColorInt public final int borderColor;
+    property @Px public final int borderDashGap;
+    property @Px public final int borderDashWidth;
+    property @Px public final int borderRadius;
+    property public final int borderStyle;
+    property @Px public final int borderWidth;
+    property @ColorInt public final int highlightColor;
+    property @ColorInt public final int iconColor;
+    property public final android.graphics.ColorFilter? imageColorFilter;
+    property @ColorInt public final int rangedValuePrimaryColor;
+    property @Px public final int rangedValueRingWidth;
+    property @ColorInt public final int rangedValueSecondaryColor;
+    property @ColorInt public final int textColor;
+    property @Px public final int textSize;
+    property public final android.graphics.Typeface textTypeface;
+    property @ColorInt public final int titleColor;
+    property @Px public final int titleSize;
+    property public final android.graphics.Typeface titleTypeface;
+    field @Px public static final int BORDER_RADIUS_DEFAULT = 2147483647; // 0x7fffffff
+    field public static final int BORDER_STYLE_DASHED = 2; // 0x2
+    field public static final int BORDER_STYLE_NONE = 0; // 0x0
+    field public static final int BORDER_STYLE_SOLID = 1; // 0x1
+    field public static final androidx.wear.watchface.complications.rendering.ComplicationStyle.Companion Companion;
+  }
+
+  public static final class ComplicationStyle.Companion {
+  }
+
+  public final class GlesTextureComplication {
+    ctor public GlesTextureComplication(androidx.wear.watchface.ComplicationSlot complicationSlot, @Px int textureWidth, @Px int textureHeight, int textureType);
+    method public void bind();
+    method public androidx.wear.watchface.ComplicationSlot getComplicationSlot();
+    method public void renderToTexture(java.time.ZonedDateTime zonedDateTime, androidx.wear.watchface.RenderParameters renderParameters);
+    property public final androidx.wear.watchface.ComplicationSlot complicationSlot;
+  }
+
+}
+
diff --git a/wear/watchface/watchface-complications-rendering/lint-baseline.xml b/wear/watchface/watchface-complications-rendering/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/watchface/watchface-complications-rendering/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/watchface/watchface-complications/api/1.0.0-beta01.txt b/wear/watchface/watchface-complications/api/1.0.0-beta01.txt
new file mode 100644
index 0000000..60a49fa
--- /dev/null
+++ b/wear/watchface/watchface-complications/api/1.0.0-beta01.txt
@@ -0,0 +1,83 @@
+// Signature format: 4.0
+package androidx.wear.watchface.complications {
+
+  public final class ComplicationDataSourceInfo {
+    ctor public ComplicationDataSourceInfo(String appName, String name, android.graphics.drawable.Icon icon, androidx.wear.watchface.complications.data.ComplicationType type, android.content.ComponentName? componentName);
+    method public String getAppName();
+    method public android.content.ComponentName? getComponentName();
+    method public androidx.wear.watchface.complications.data.ComplicationData getFallbackPreviewData();
+    method public android.graphics.drawable.Icon getIcon();
+    method public String getName();
+    method public androidx.wear.watchface.complications.data.ComplicationType getType();
+    property public final String appName;
+    property public final android.content.ComponentName? componentName;
+    property public final androidx.wear.watchface.complications.data.ComplicationData fallbackPreviewData;
+    property public final android.graphics.drawable.Icon icon;
+    property public final String name;
+    property public final androidx.wear.watchface.complications.data.ComplicationType type;
+  }
+
+  public final class ComplicationDataSourceInfoRetriever implements java.lang.AutoCloseable {
+    ctor public ComplicationDataSourceInfoRetriever(android.content.Context context);
+    method public void close();
+    method @kotlin.jvm.Throws(exceptionClasses=ServiceDisconnectedException::class) public suspend Object? retrieveComplicationDataSourceInfo(android.content.ComponentName watchFaceComponent, int[] watchFaceComplicationIds, kotlin.coroutines.Continuation<? super androidx.wear.watchface.complications.ComplicationDataSourceInfoRetriever.Result[]> p) throws androidx.wear.watchface.complications.ComplicationDataSourceInfoRetriever.ServiceDisconnectedException;
+    method @RequiresApi(android.os.Build.VERSION_CODES.R) @kotlin.jvm.Throws(exceptionClasses=ServiceDisconnectedException::class) public suspend Object? retrievePreviewComplicationData(android.content.ComponentName complicationDataSourceComponent, androidx.wear.watchface.complications.data.ComplicationType complicationType, kotlin.coroutines.Continuation<? super androidx.wear.watchface.complications.data.ComplicationData> p) throws androidx.wear.watchface.complications.ComplicationDataSourceInfoRetriever.ServiceDisconnectedException;
+  }
+
+  public static final class ComplicationDataSourceInfoRetriever.Result {
+    method public androidx.wear.watchface.complications.ComplicationDataSourceInfo? getInfo();
+    method public int getSlotId();
+    property public final androidx.wear.watchface.complications.ComplicationDataSourceInfo? info;
+    property public final int slotId;
+  }
+
+  public static final class ComplicationDataSourceInfoRetriever.ServiceDisconnectedException extends java.lang.Exception {
+    ctor public ComplicationDataSourceInfoRetriever.ServiceDisconnectedException();
+  }
+
+  public final class ComplicationDataSourceInfoRetrieverKt {
+  }
+
+  public final class ComplicationSlotBounds {
+    ctor public ComplicationSlotBounds(java.util.Map<androidx.wear.watchface.complications.data.ComplicationType,? extends android.graphics.RectF> perComplicationTypeBounds);
+    ctor public ComplicationSlotBounds(android.graphics.RectF bounds);
+    method public java.util.Map<androidx.wear.watchface.complications.data.ComplicationType,android.graphics.RectF> getPerComplicationTypeBounds();
+    property public final java.util.Map<androidx.wear.watchface.complications.data.ComplicationType,android.graphics.RectF> perComplicationTypeBounds;
+  }
+
+  public final class DefaultComplicationDataSourcePolicy {
+    ctor public DefaultComplicationDataSourcePolicy();
+    ctor public DefaultComplicationDataSourcePolicy(int systemProvider);
+    ctor public DefaultComplicationDataSourcePolicy(android.content.ComponentName dataSource, int systemDataSourceFallback);
+    ctor public DefaultComplicationDataSourcePolicy(android.content.ComponentName primaryDataSource, android.content.ComponentName secondaryDataSource, int systemDataSourceFallback);
+    method public android.content.ComponentName? getPrimaryDataSource();
+    method public android.content.ComponentName? getSecondaryDataSource();
+    method public int getSystemDataSourceFallback();
+    method public boolean isEmpty();
+    property public final android.content.ComponentName? primaryDataSource;
+    property public final android.content.ComponentName? secondaryDataSource;
+    property public final int systemDataSourceFallback;
+  }
+
+  public final class SystemDataSources {
+    field public static final androidx.wear.watchface.complications.SystemDataSources.Companion Companion;
+    field public static final int DATA_SOURCE_APP_SHORTCUT = 6; // 0x6
+    field public static final int DATA_SOURCE_DATE = 2; // 0x2
+    field public static final int DATA_SOURCE_DAY_AND_DATE = 16; // 0x10
+    field public static final int DATA_SOURCE_DAY_OF_WEEK = 13; // 0xd
+    field public static final int DATA_SOURCE_FAVORITE_CONTACT = 14; // 0xe
+    field public static final int DATA_SOURCE_NEXT_EVENT = 9; // 0x9
+    field public static final int DATA_SOURCE_STEP_COUNT = 4; // 0x4
+    field public static final int DATA_SOURCE_SUNRISE_SUNSET = 12; // 0xc
+    field public static final int DATA_SOURCE_TIME_AND_DATE = 3; // 0x3
+    field public static final int DATA_SOURCE_UNREAD_NOTIFICATION_COUNT = 7; // 0x7
+    field public static final int DATA_SOURCE_WATCH_BATTERY = 1; // 0x1
+    field public static final int DATA_SOURCE_WORLD_CLOCK = 5; // 0x5
+    field public static final int NO_DATA_SOURCE = -1; // 0xffffffff
+  }
+
+  public static final class SystemDataSources.Companion {
+  }
+
+}
+
diff --git a/wear/watchface/watchface-complications/api/public_plus_experimental_1.0.0-beta01.txt b/wear/watchface/watchface-complications/api/public_plus_experimental_1.0.0-beta01.txt
new file mode 100644
index 0000000..60a49fa
--- /dev/null
+++ b/wear/watchface/watchface-complications/api/public_plus_experimental_1.0.0-beta01.txt
@@ -0,0 +1,83 @@
+// Signature format: 4.0
+package androidx.wear.watchface.complications {
+
+  public final class ComplicationDataSourceInfo {
+    ctor public ComplicationDataSourceInfo(String appName, String name, android.graphics.drawable.Icon icon, androidx.wear.watchface.complications.data.ComplicationType type, android.content.ComponentName? componentName);
+    method public String getAppName();
+    method public android.content.ComponentName? getComponentName();
+    method public androidx.wear.watchface.complications.data.ComplicationData getFallbackPreviewData();
+    method public android.graphics.drawable.Icon getIcon();
+    method public String getName();
+    method public androidx.wear.watchface.complications.data.ComplicationType getType();
+    property public final String appName;
+    property public final android.content.ComponentName? componentName;
+    property public final androidx.wear.watchface.complications.data.ComplicationData fallbackPreviewData;
+    property public final android.graphics.drawable.Icon icon;
+    property public final String name;
+    property public final androidx.wear.watchface.complications.data.ComplicationType type;
+  }
+
+  public final class ComplicationDataSourceInfoRetriever implements java.lang.AutoCloseable {
+    ctor public ComplicationDataSourceInfoRetriever(android.content.Context context);
+    method public void close();
+    method @kotlin.jvm.Throws(exceptionClasses=ServiceDisconnectedException::class) public suspend Object? retrieveComplicationDataSourceInfo(android.content.ComponentName watchFaceComponent, int[] watchFaceComplicationIds, kotlin.coroutines.Continuation<? super androidx.wear.watchface.complications.ComplicationDataSourceInfoRetriever.Result[]> p) throws androidx.wear.watchface.complications.ComplicationDataSourceInfoRetriever.ServiceDisconnectedException;
+    method @RequiresApi(android.os.Build.VERSION_CODES.R) @kotlin.jvm.Throws(exceptionClasses=ServiceDisconnectedException::class) public suspend Object? retrievePreviewComplicationData(android.content.ComponentName complicationDataSourceComponent, androidx.wear.watchface.complications.data.ComplicationType complicationType, kotlin.coroutines.Continuation<? super androidx.wear.watchface.complications.data.ComplicationData> p) throws androidx.wear.watchface.complications.ComplicationDataSourceInfoRetriever.ServiceDisconnectedException;
+  }
+
+  public static final class ComplicationDataSourceInfoRetriever.Result {
+    method public androidx.wear.watchface.complications.ComplicationDataSourceInfo? getInfo();
+    method public int getSlotId();
+    property public final androidx.wear.watchface.complications.ComplicationDataSourceInfo? info;
+    property public final int slotId;
+  }
+
+  public static final class ComplicationDataSourceInfoRetriever.ServiceDisconnectedException extends java.lang.Exception {
+    ctor public ComplicationDataSourceInfoRetriever.ServiceDisconnectedException();
+  }
+
+  public final class ComplicationDataSourceInfoRetrieverKt {
+  }
+
+  public final class ComplicationSlotBounds {
+    ctor public ComplicationSlotBounds(java.util.Map<androidx.wear.watchface.complications.data.ComplicationType,? extends android.graphics.RectF> perComplicationTypeBounds);
+    ctor public ComplicationSlotBounds(android.graphics.RectF bounds);
+    method public java.util.Map<androidx.wear.watchface.complications.data.ComplicationType,android.graphics.RectF> getPerComplicationTypeBounds();
+    property public final java.util.Map<androidx.wear.watchface.complications.data.ComplicationType,android.graphics.RectF> perComplicationTypeBounds;
+  }
+
+  public final class DefaultComplicationDataSourcePolicy {
+    ctor public DefaultComplicationDataSourcePolicy();
+    ctor public DefaultComplicationDataSourcePolicy(int systemProvider);
+    ctor public DefaultComplicationDataSourcePolicy(android.content.ComponentName dataSource, int systemDataSourceFallback);
+    ctor public DefaultComplicationDataSourcePolicy(android.content.ComponentName primaryDataSource, android.content.ComponentName secondaryDataSource, int systemDataSourceFallback);
+    method public android.content.ComponentName? getPrimaryDataSource();
+    method public android.content.ComponentName? getSecondaryDataSource();
+    method public int getSystemDataSourceFallback();
+    method public boolean isEmpty();
+    property public final android.content.ComponentName? primaryDataSource;
+    property public final android.content.ComponentName? secondaryDataSource;
+    property public final int systemDataSourceFallback;
+  }
+
+  public final class SystemDataSources {
+    field public static final androidx.wear.watchface.complications.SystemDataSources.Companion Companion;
+    field public static final int DATA_SOURCE_APP_SHORTCUT = 6; // 0x6
+    field public static final int DATA_SOURCE_DATE = 2; // 0x2
+    field public static final int DATA_SOURCE_DAY_AND_DATE = 16; // 0x10
+    field public static final int DATA_SOURCE_DAY_OF_WEEK = 13; // 0xd
+    field public static final int DATA_SOURCE_FAVORITE_CONTACT = 14; // 0xe
+    field public static final int DATA_SOURCE_NEXT_EVENT = 9; // 0x9
+    field public static final int DATA_SOURCE_STEP_COUNT = 4; // 0x4
+    field public static final int DATA_SOURCE_SUNRISE_SUNSET = 12; // 0xc
+    field public static final int DATA_SOURCE_TIME_AND_DATE = 3; // 0x3
+    field public static final int DATA_SOURCE_UNREAD_NOTIFICATION_COUNT = 7; // 0x7
+    field public static final int DATA_SOURCE_WATCH_BATTERY = 1; // 0x1
+    field public static final int DATA_SOURCE_WORLD_CLOCK = 5; // 0x5
+    field public static final int NO_DATA_SOURCE = -1; // 0xffffffff
+  }
+
+  public static final class SystemDataSources.Companion {
+  }
+
+}
+
diff --git a/wear/watchface/watchface-complications/api/res-1.0.0-beta01.txt b/wear/watchface/watchface-complications/api/res-1.0.0-beta01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wear/watchface/watchface-complications/api/res-1.0.0-beta01.txt
diff --git a/wear/watchface/watchface-complications/api/restricted_1.0.0-beta01.txt b/wear/watchface/watchface-complications/api/restricted_1.0.0-beta01.txt
new file mode 100644
index 0000000..60a49fa
--- /dev/null
+++ b/wear/watchface/watchface-complications/api/restricted_1.0.0-beta01.txt
@@ -0,0 +1,83 @@
+// Signature format: 4.0
+package androidx.wear.watchface.complications {
+
+  public final class ComplicationDataSourceInfo {
+    ctor public ComplicationDataSourceInfo(String appName, String name, android.graphics.drawable.Icon icon, androidx.wear.watchface.complications.data.ComplicationType type, android.content.ComponentName? componentName);
+    method public String getAppName();
+    method public android.content.ComponentName? getComponentName();
+    method public androidx.wear.watchface.complications.data.ComplicationData getFallbackPreviewData();
+    method public android.graphics.drawable.Icon getIcon();
+    method public String getName();
+    method public androidx.wear.watchface.complications.data.ComplicationType getType();
+    property public final String appName;
+    property public final android.content.ComponentName? componentName;
+    property public final androidx.wear.watchface.complications.data.ComplicationData fallbackPreviewData;
+    property public final android.graphics.drawable.Icon icon;
+    property public final String name;
+    property public final androidx.wear.watchface.complications.data.ComplicationType type;
+  }
+
+  public final class ComplicationDataSourceInfoRetriever implements java.lang.AutoCloseable {
+    ctor public ComplicationDataSourceInfoRetriever(android.content.Context context);
+    method public void close();
+    method @kotlin.jvm.Throws(exceptionClasses=ServiceDisconnectedException::class) public suspend Object? retrieveComplicationDataSourceInfo(android.content.ComponentName watchFaceComponent, int[] watchFaceComplicationIds, kotlin.coroutines.Continuation<? super androidx.wear.watchface.complications.ComplicationDataSourceInfoRetriever.Result[]> p) throws androidx.wear.watchface.complications.ComplicationDataSourceInfoRetriever.ServiceDisconnectedException;
+    method @RequiresApi(android.os.Build.VERSION_CODES.R) @kotlin.jvm.Throws(exceptionClasses=ServiceDisconnectedException::class) public suspend Object? retrievePreviewComplicationData(android.content.ComponentName complicationDataSourceComponent, androidx.wear.watchface.complications.data.ComplicationType complicationType, kotlin.coroutines.Continuation<? super androidx.wear.watchface.complications.data.ComplicationData> p) throws androidx.wear.watchface.complications.ComplicationDataSourceInfoRetriever.ServiceDisconnectedException;
+  }
+
+  public static final class ComplicationDataSourceInfoRetriever.Result {
+    method public androidx.wear.watchface.complications.ComplicationDataSourceInfo? getInfo();
+    method public int getSlotId();
+    property public final androidx.wear.watchface.complications.ComplicationDataSourceInfo? info;
+    property public final int slotId;
+  }
+
+  public static final class ComplicationDataSourceInfoRetriever.ServiceDisconnectedException extends java.lang.Exception {
+    ctor public ComplicationDataSourceInfoRetriever.ServiceDisconnectedException();
+  }
+
+  public final class ComplicationDataSourceInfoRetrieverKt {
+  }
+
+  public final class ComplicationSlotBounds {
+    ctor public ComplicationSlotBounds(java.util.Map<androidx.wear.watchface.complications.data.ComplicationType,? extends android.graphics.RectF> perComplicationTypeBounds);
+    ctor public ComplicationSlotBounds(android.graphics.RectF bounds);
+    method public java.util.Map<androidx.wear.watchface.complications.data.ComplicationType,android.graphics.RectF> getPerComplicationTypeBounds();
+    property public final java.util.Map<androidx.wear.watchface.complications.data.ComplicationType,android.graphics.RectF> perComplicationTypeBounds;
+  }
+
+  public final class DefaultComplicationDataSourcePolicy {
+    ctor public DefaultComplicationDataSourcePolicy();
+    ctor public DefaultComplicationDataSourcePolicy(int systemProvider);
+    ctor public DefaultComplicationDataSourcePolicy(android.content.ComponentName dataSource, int systemDataSourceFallback);
+    ctor public DefaultComplicationDataSourcePolicy(android.content.ComponentName primaryDataSource, android.content.ComponentName secondaryDataSource, int systemDataSourceFallback);
+    method public android.content.ComponentName? getPrimaryDataSource();
+    method public android.content.ComponentName? getSecondaryDataSource();
+    method public int getSystemDataSourceFallback();
+    method public boolean isEmpty();
+    property public final android.content.ComponentName? primaryDataSource;
+    property public final android.content.ComponentName? secondaryDataSource;
+    property public final int systemDataSourceFallback;
+  }
+
+  public final class SystemDataSources {
+    field public static final androidx.wear.watchface.complications.SystemDataSources.Companion Companion;
+    field public static final int DATA_SOURCE_APP_SHORTCUT = 6; // 0x6
+    field public static final int DATA_SOURCE_DATE = 2; // 0x2
+    field public static final int DATA_SOURCE_DAY_AND_DATE = 16; // 0x10
+    field public static final int DATA_SOURCE_DAY_OF_WEEK = 13; // 0xd
+    field public static final int DATA_SOURCE_FAVORITE_CONTACT = 14; // 0xe
+    field public static final int DATA_SOURCE_NEXT_EVENT = 9; // 0x9
+    field public static final int DATA_SOURCE_STEP_COUNT = 4; // 0x4
+    field public static final int DATA_SOURCE_SUNRISE_SUNSET = 12; // 0xc
+    field public static final int DATA_SOURCE_TIME_AND_DATE = 3; // 0x3
+    field public static final int DATA_SOURCE_UNREAD_NOTIFICATION_COUNT = 7; // 0x7
+    field public static final int DATA_SOURCE_WATCH_BATTERY = 1; // 0x1
+    field public static final int DATA_SOURCE_WORLD_CLOCK = 5; // 0x5
+    field public static final int NO_DATA_SOURCE = -1; // 0xffffffff
+  }
+
+  public static final class SystemDataSources.Companion {
+  }
+
+}
+
diff --git a/wear/watchface/watchface-complications/lint-baseline.xml b/wear/watchface/watchface-complications/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/watchface/watchface-complications/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/watchface/watchface-data/api/1.0.0-beta01.txt b/wear/watchface/watchface-data/api/1.0.0-beta01.txt
new file mode 100644
index 0000000..e6f50d0
--- /dev/null
+++ b/wear/watchface/watchface-data/api/1.0.0-beta01.txt
@@ -0,0 +1 @@
+// Signature format: 4.0
diff --git a/wear/watchface/watchface-data/api/public_plus_experimental_1.0.0-beta01.txt b/wear/watchface/watchface-data/api/public_plus_experimental_1.0.0-beta01.txt
new file mode 100644
index 0000000..e6f50d0
--- /dev/null
+++ b/wear/watchface/watchface-data/api/public_plus_experimental_1.0.0-beta01.txt
@@ -0,0 +1 @@
+// Signature format: 4.0
diff --git a/wear/watchface/watchface-data/api/res-1.0.0-beta01.txt b/wear/watchface/watchface-data/api/res-1.0.0-beta01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wear/watchface/watchface-data/api/res-1.0.0-beta01.txt
diff --git a/wear/watchface/watchface-data/api/restricted_1.0.0-beta01.txt b/wear/watchface/watchface-data/api/restricted_1.0.0-beta01.txt
new file mode 100644
index 0000000..9342af9
--- /dev/null
+++ b/wear/watchface/watchface-data/api/restricted_1.0.0-beta01.txt
@@ -0,0 +1,339 @@
+// Signature format: 4.0
+package androidx.wear.watchface.control.data {
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class ComplicationRenderParams implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public ComplicationRenderParams(int, androidx.wear.watchface.data.RenderParametersWireFormat, long, android.support.wearable.complications.ComplicationData?, androidx.wear.watchface.style.data.UserStyleWireFormat?);
+    method public int describeContents();
+    method public long getCalendarTimeMillis();
+    method public android.support.wearable.complications.ComplicationData? getComplicationData();
+    method public int getComplicationSlotId();
+    method public androidx.wear.watchface.data.RenderParametersWireFormat getRenderParametersWireFormat();
+    method public androidx.wear.watchface.style.data.UserStyleWireFormat? getUserStyle();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.control.data.ComplicationRenderParams!>! CREATOR;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class CrashInfoParcel implements android.os.Parcelable {
+    ctor public CrashInfoParcel(Throwable);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.control.data.CrashInfoParcel!>! CREATOR;
+    field public final android.app.ApplicationErrorReport.CrashInfo crashInfo;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class DefaultProviderPoliciesParams implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public DefaultProviderPoliciesParams(android.content.ComponentName);
+    method public int describeContents();
+    method public android.content.ComponentName getWatchFaceName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.control.data.DefaultProviderPoliciesParams!>! CREATOR;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class GetComplicationSlotMetadataParams implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public GetComplicationSlotMetadataParams(android.content.ComponentName);
+    method public int describeContents();
+    method public android.content.ComponentName getWatchFaceName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.control.data.GetComplicationSlotMetadataParams!>! CREATOR;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class GetUserStyleSchemaParams implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public GetUserStyleSchemaParams(android.content.ComponentName);
+    method public int describeContents();
+    method public android.content.ComponentName getWatchFaceName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.control.data.GetUserStyleSchemaParams!>! CREATOR;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class HeadlessWatchFaceInstanceParams implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public HeadlessWatchFaceInstanceParams(android.content.ComponentName, androidx.wear.watchface.data.DeviceConfig, int, int);
+    method public int describeContents();
+    method public androidx.wear.watchface.data.DeviceConfig getDeviceConfig();
+    method public int getHeight();
+    method public android.content.ComponentName getWatchFaceName();
+    method public int getWidth();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.control.data.HeadlessWatchFaceInstanceParams!>! CREATOR;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public final class IdTypeAndDefaultProviderPolicyWireFormat implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public IdTypeAndDefaultProviderPolicyWireFormat(int, java.util.List<android.content.ComponentName!>?, int, @android.support.wearable.complications.ComplicationData.ComplicationType int);
+    method public int describeContents();
+    method @android.support.wearable.complications.ComplicationData.ComplicationType public int getDefaultProviderType();
+    method public java.util.List<android.content.ComponentName!>? getDefaultProvidersToTry();
+    method public int getFallbackSystemProvider();
+    method public int getId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.control.data.IdTypeAndDefaultProviderPolicyWireFormat!>! CREATOR;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize(allowSerialization=true) public class WallpaperInteractiveWatchFaceInstanceParams implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public WallpaperInteractiveWatchFaceInstanceParams(String, androidx.wear.watchface.data.DeviceConfig, androidx.wear.watchface.data.WatchUiState, androidx.wear.watchface.style.data.UserStyleWireFormat, java.util.List<androidx.wear.watchface.data.IdAndComplicationDataWireFormat!>?);
+    method public int describeContents();
+    method public androidx.wear.watchface.data.DeviceConfig getDeviceConfig();
+    method public java.util.List<androidx.wear.watchface.data.IdAndComplicationDataWireFormat!>? getIdAndComplicationDataWireFormats();
+    method public String getInstanceId();
+    method public androidx.wear.watchface.style.data.UserStyleWireFormat getUserStyle();
+    method public androidx.wear.watchface.data.WatchUiState getWatchUiState();
+    method public void setIdAndComplicationDataWireFormats(java.util.List<androidx.wear.watchface.data.IdAndComplicationDataWireFormat!>?);
+    method public void setUserStyle(androidx.wear.watchface.style.data.UserStyleWireFormat);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.control.data.WallpaperInteractiveWatchFaceInstanceParams!>! CREATOR;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class WatchFaceRenderParams implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public WatchFaceRenderParams(androidx.wear.watchface.data.RenderParametersWireFormat, long, androidx.wear.watchface.style.data.UserStyleWireFormat?, java.util.List<androidx.wear.watchface.data.IdAndComplicationDataWireFormat!>?);
+    method public int describeContents();
+    method public long getCalendarTimeMillis();
+    method public java.util.List<androidx.wear.watchface.data.IdAndComplicationDataWireFormat!>? getIdAndComplicationDatumWireFormats();
+    method public androidx.wear.watchface.data.RenderParametersWireFormat getRenderParametersWireFormat();
+    method public androidx.wear.watchface.style.data.UserStyleWireFormat? getUserStyle();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.control.data.WatchFaceRenderParams!>! CREATOR;
+  }
+
+}
+
+package androidx.wear.watchface.data {
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public final class ComplicationSlotMetadataWireFormat implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public ComplicationSlotMetadataWireFormat(int, int[], android.graphics.RectF![], int, @android.support.wearable.complications.ComplicationData.ComplicationType int[], java.util.List<android.content.ComponentName!>?, int, @android.support.wearable.complications.ComplicationData.ComplicationType int, boolean, boolean, android.os.Bundle);
+    method public int describeContents();
+    method public int getBoundsType();
+    method public android.graphics.RectF![] getComplicationBounds();
+    method public int[] getComplicationBoundsType();
+    method public android.os.Bundle getComplicationConfigExtras();
+    method @android.support.wearable.complications.ComplicationData.ComplicationType public int getDefaultDataSourceType();
+    method public java.util.List<android.content.ComponentName!>? getDefaultDataSourcesToTry();
+    method public int getFallbackSystemDataSource();
+    method public int getId();
+    method @android.support.wearable.complications.ComplicationData.ComplicationType public int[] getSupportedTypes();
+    method public boolean isFixedComplicationDataSource();
+    method public boolean isInitiallyEnabled();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.data.ComplicationSlotMetadataWireFormat!>! CREATOR;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public final class ComplicationStateWireFormat implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public ComplicationStateWireFormat(android.graphics.Rect, int, @android.support.wearable.complications.ComplicationData.ComplicationType int[], java.util.List<android.content.ComponentName!>?, int, @android.support.wearable.complications.ComplicationData.ComplicationType int, boolean, boolean, @android.support.wearable.complications.ComplicationData.ComplicationType int, boolean, android.os.Bundle);
+    method public int describeContents();
+    method public android.graphics.Rect getBounds();
+    method public int getBoundsType();
+    method public android.os.Bundle getComplicationConfigExtras();
+    method @android.support.wearable.complications.ComplicationData.ComplicationType public int getCurrentType();
+    method @android.support.wearable.complications.ComplicationData.ComplicationType public int getDefaultProviderType();
+    method public java.util.List<android.content.ComponentName!>? getDefaultProvidersToTry();
+    method public int getFallbackSystemProvider();
+    method @android.support.wearable.complications.ComplicationData.ComplicationType public int[] getSupportedTypes();
+    method public boolean isEnabled();
+    method public boolean isFixedComplicationProvider();
+    method public boolean isInitiallyEnabled();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.data.ComplicationStateWireFormat!>! CREATOR;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize(allowSerialization=true) public final class DeviceConfig implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public DeviceConfig(boolean, boolean, long, long);
+    method public int describeContents();
+    method public long getAnalogPreviewReferenceTimeMillis();
+    method public long getDigitalPreviewReferenceTimeMillis();
+    method public boolean getHasBurnInProtection();
+    method public boolean getHasLowBitAmbient();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.data.DeviceConfig!>! CREATOR;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public final class IdAndComplicationDataWireFormat implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public IdAndComplicationDataWireFormat(int, android.support.wearable.complications.ComplicationData);
+    method public int describeContents();
+    method public android.support.wearable.complications.ComplicationData getComplicationData();
+    method public int getId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.data.IdAndComplicationDataWireFormat!>! CREATOR;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public final class IdAndComplicationStateWireFormat implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public IdAndComplicationStateWireFormat(int, androidx.wear.watchface.data.ComplicationStateWireFormat);
+    method public int describeContents();
+    method public androidx.wear.watchface.data.ComplicationStateWireFormat getComplicationState();
+    method public int getId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.data.IdAndComplicationStateWireFormat!>! CREATOR;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize(allowSerialization=true) public final class IdAndTapEventWireFormat implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public IdAndTapEventWireFormat(int, int, int, long);
+    method public int describeContents();
+    method public long getCalendarTapTimeMillis();
+    method public int getId();
+    method public int getX();
+    method public int getY();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.data.IdAndTapEventWireFormat!>! CREATOR;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class LayerParameterWireFormat implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public LayerParameterWireFormat(int, int);
+    method public int describeContents();
+    method public int getLayer();
+    method public int getLayerMode();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.data.LayerParameterWireFormat!>! CREATOR;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class RenderParametersWireFormat implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public RenderParametersWireFormat(int, int, int, int, String?, @ColorInt int, @ColorInt int, java.util.List<androidx.wear.watchface.data.IdAndTapEventWireFormat!>);
+    method public int describeContents();
+    method @ColorInt public int getBackgroundTint();
+    method public int getDrawMode();
+    method public int getElementComplicationSlotId();
+    method public int getElementType();
+    method public String? getElementUserStyleSettingId();
+    method @ColorInt public int getHighlightTint();
+    method public java.util.List<androidx.wear.watchface.data.IdAndTapEventWireFormat!>? getIdAndTapEventWireFormat();
+    method public int getWatchFaceLayerSetBitfield();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.data.RenderParametersWireFormat!>! CREATOR;
+    field public static int ELEMENT_TYPE_ALL_COMPLICATIONS;
+    field public static int ELEMENT_TYPE_COMPLICATION;
+    field public static int ELEMENT_TYPE_NONE;
+    field public static int ELEMENT_TYPE_USER_STYLE;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize(allowSerialization=true) public final class WatchUiState implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public WatchUiState(boolean, int);
+    method public int describeContents();
+    method public boolean getInAmbientMode();
+    method public int getInterruptionFilter();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.data.WatchUiState!>! CREATOR;
+  }
+
+}
+
+package androidx.wear.watchface.editor.data {
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize(allowSerialization=true) public final class EditorStateWireFormat implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public EditorStateWireFormat(String?, androidx.wear.watchface.style.data.UserStyleWireFormat, java.util.List<androidx.wear.watchface.data.IdAndComplicationDataWireFormat!>, boolean, android.os.Bundle?);
+    method public int describeContents();
+    method public boolean getCommitChanges();
+    method public java.util.List<androidx.wear.watchface.data.IdAndComplicationDataWireFormat!> getPreviewComplicationData();
+    method public android.os.Bundle? getPreviewImageBundle();
+    method public androidx.wear.watchface.style.data.UserStyleWireFormat getUserStyle();
+    method public String? getWatchFaceInstanceId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.editor.data.EditorStateWireFormat!>! CREATOR;
+  }
+
+}
+
+package androidx.wear.watchface.style.data {
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class BooleanOptionWireFormat extends androidx.wear.watchface.style.data.OptionWireFormat {
+    ctor public BooleanOptionWireFormat(byte[]);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class BooleanUserStyleSettingWireFormat extends androidx.wear.watchface.style.data.UserStyleSettingWireFormat {
+    ctor public BooleanUserStyleSettingWireFormat(String, CharSequence, CharSequence, android.graphics.drawable.Icon?, java.util.List<androidx.wear.watchface.style.data.OptionWireFormat!>, int, java.util.List<java.lang.Integer!>);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class ComplicationOverlayWireFormat implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public ComplicationOverlayWireFormat(int, Boolean?, java.util.Map<java.lang.Integer!,android.graphics.RectF!>?, Integer?);
+    method public int describeContents();
+    method public Integer? getAccessibilityTraversalIndex();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.style.data.ComplicationOverlayWireFormat!>! CREATOR;
+    field public static final int ENABLED_NO = 0; // 0x0
+    field public static final int ENABLED_UNKNOWN = -1; // 0xffffffff
+    field public static final int ENABLED_YES = 1; // 0x1
+    field public static final long NULL_ACCESSIBILITY_TRAVERSAL_INDEX = 4294967296L; // 0x100000000L
+    field @androidx.versionedparcelable.ParcelField(1) public int mComplicationSlotId;
+    field @androidx.versionedparcelable.ParcelField(2) public int mEnabled;
+    field @androidx.versionedparcelable.ParcelField(3) public java.util.Map<java.lang.Integer!,android.graphics.RectF!>? mPerComplicationTypeBounds;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class ComplicationsOptionWireFormat extends androidx.wear.watchface.style.data.OptionWireFormat {
+    ctor public ComplicationsOptionWireFormat(byte[], CharSequence, android.graphics.drawable.Icon?, androidx.wear.watchface.style.data.ComplicationOverlayWireFormat![]);
+    field @androidx.versionedparcelable.ParcelField(100) public androidx.wear.watchface.style.data.ComplicationOverlayWireFormat![] mComplicationOverlays;
+    field @androidx.versionedparcelable.ParcelField(2) public CharSequence mDisplayName;
+    field @androidx.versionedparcelable.ParcelField(3) public android.graphics.drawable.Icon? mIcon;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class ComplicationsUserStyleSettingWireFormat extends androidx.wear.watchface.style.data.UserStyleSettingWireFormat {
+    ctor public ComplicationsUserStyleSettingWireFormat(String, CharSequence, CharSequence, android.graphics.drawable.Icon?, java.util.List<androidx.wear.watchface.style.data.OptionWireFormat!>, int, java.util.List<java.lang.Integer!>);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class CustomValueOptionWireFormat extends androidx.wear.watchface.style.data.OptionWireFormat {
+    ctor public CustomValueOptionWireFormat(byte[]);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class CustomValueUserStyleSettingWireFormat extends androidx.wear.watchface.style.data.UserStyleSettingWireFormat {
+    ctor public CustomValueUserStyleSettingWireFormat(String, CharSequence, CharSequence, android.graphics.drawable.Icon?, java.util.List<androidx.wear.watchface.style.data.OptionWireFormat!>, java.util.List<java.lang.Integer!>);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class DoubleRangeOptionWireFormat extends androidx.wear.watchface.style.data.OptionWireFormat {
+    ctor public DoubleRangeOptionWireFormat(byte[]);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class DoubleRangeUserStyleSettingWireFormat extends androidx.wear.watchface.style.data.UserStyleSettingWireFormat {
+    ctor public DoubleRangeUserStyleSettingWireFormat(String, CharSequence, CharSequence, android.graphics.drawable.Icon?, java.util.List<androidx.wear.watchface.style.data.OptionWireFormat!>, int, java.util.List<java.lang.Integer!>);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class ListOptionWireFormat extends androidx.wear.watchface.style.data.OptionWireFormat {
+    ctor public ListOptionWireFormat(byte[], CharSequence, android.graphics.drawable.Icon?);
+    field @androidx.versionedparcelable.ParcelField(2) public CharSequence mDisplayName;
+    field @androidx.versionedparcelable.ParcelField(3) public android.graphics.drawable.Icon? mIcon;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class ListUserStyleSettingWireFormat extends androidx.wear.watchface.style.data.UserStyleSettingWireFormat {
+    ctor public ListUserStyleSettingWireFormat(String, CharSequence, CharSequence, android.graphics.drawable.Icon?, java.util.List<androidx.wear.watchface.style.data.OptionWireFormat!>, int, java.util.List<java.lang.Integer!>);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class LongRangeOptionWireFormat extends androidx.wear.watchface.style.data.OptionWireFormat {
+    ctor public LongRangeOptionWireFormat(byte[]);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class LongRangeUserStyleSettingWireFormat extends androidx.wear.watchface.style.data.UserStyleSettingWireFormat {
+    ctor public LongRangeUserStyleSettingWireFormat(String, CharSequence, CharSequence, android.graphics.drawable.Icon?, java.util.List<androidx.wear.watchface.style.data.OptionWireFormat!>, int, java.util.List<java.lang.Integer!>);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class OptionWireFormat implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public OptionWireFormat(byte[]);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.style.data.OptionWireFormat!>! CREATOR;
+    field @androidx.versionedparcelable.ParcelField(1) public byte[] mId;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class UserStyleSchemaWireFormat implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public UserStyleSchemaWireFormat(java.util.List<androidx.wear.watchface.style.data.UserStyleSettingWireFormat!>);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.style.data.UserStyleSchemaWireFormat!>! CREATOR;
+    field @androidx.versionedparcelable.ParcelField(1) public java.util.List<androidx.wear.watchface.style.data.UserStyleSettingWireFormat!> mSchema;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize public class UserStyleSettingWireFormat implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public UserStyleSettingWireFormat(String, CharSequence, CharSequence, android.graphics.drawable.Icon?, java.util.List<androidx.wear.watchface.style.data.OptionWireFormat!>, int, java.util.List<java.lang.Integer!>);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.style.data.UserStyleSettingWireFormat!>! CREATOR;
+    field @androidx.versionedparcelable.ParcelField(6) public java.util.List<java.lang.Integer!> mAffectsLayers;
+    field @androidx.versionedparcelable.ParcelField(5) public int mDefaultOptionIndex;
+    field @androidx.versionedparcelable.ParcelField(3) public CharSequence mDescription;
+    field @androidx.versionedparcelable.ParcelField(2) public CharSequence mDisplayName;
+    field @androidx.versionedparcelable.ParcelField(4) public android.graphics.drawable.Icon? mIcon;
+    field @androidx.versionedparcelable.ParcelField(1) public String mId;
+    field @androidx.versionedparcelable.ParcelField(100) public java.util.List<androidx.wear.watchface.style.data.OptionWireFormat!> mOptions;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @androidx.versionedparcelable.VersionedParcelize(allowSerialization=true) public class UserStyleWireFormat implements android.os.Parcelable androidx.versionedparcelable.VersionedParcelable {
+    ctor public UserStyleWireFormat(java.util.Map<java.lang.String!,byte[]!>);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.wear.watchface.style.data.UserStyleWireFormat!>! CREATOR;
+    field @androidx.versionedparcelable.ParcelField(1) public java.util.Map<java.lang.String!,byte[]!> mUserStyle;
+  }
+
+}
+
diff --git a/wear/watchface/watchface-data/lint-baseline.xml b/wear/watchface/watchface-data/lint-baseline.xml
new file mode 100644
index 0000000..7246f82
--- /dev/null
+++ b/wear/watchface/watchface-data/lint-baseline.xml
@@ -0,0 +1,15 @@
+<?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">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(VERSION_CODES.KITKAT)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/android/support/wearable/watchface/accessibility/ContentDescriptionLabel.java"
+            line="46"
+            column="1"/>
+    </issue>
+
+</issues>
diff --git a/wear/watchface/watchface-editor-guava/api/1.0.0-beta01.txt b/wear/watchface/watchface-editor-guava/api/1.0.0-beta01.txt
new file mode 100644
index 0000000..5592a04
--- /dev/null
+++ b/wear/watchface/watchface-editor-guava/api/1.0.0-beta01.txt
@@ -0,0 +1,43 @@
+// Signature format: 4.0
+package androidx.wear.watchface.editor {
+
+  public final class ListenableEditorSession implements androidx.wear.watchface.editor.EditorSession {
+    ctor public ListenableEditorSession(androidx.wear.watchface.editor.EditorSession wrappedEditorSession);
+    method public void close();
+    method @RequiresApi(27) @UiThread public static androidx.wear.watchface.editor.ListenableEditorSession createHeadlessEditorSession(androidx.activity.ComponentActivity activity, android.content.Intent editIntent, androidx.wear.watchface.client.HeadlessWatchFaceClient headlessWatchFaceClient);
+    method public Integer? getBackgroundComplicationSlotId();
+    method public Integer? getComplicationSlotIdAt(int x, int y);
+    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState>> getComplicationSlotsState();
+    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.ComplicationDataSourceInfo>> getComplicationsDataSourceInfo();
+    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData>> getComplicationsPreviewData();
+    method public java.time.Instant getPreviewReferenceInstant();
+    method public kotlinx.coroutines.flow.MutableStateFlow<androidx.wear.watchface.style.UserStyle> getUserStyle();
+    method public androidx.wear.watchface.style.UserStyleSchema getUserStyleSchema();
+    method public android.content.ComponentName getWatchFaceComponentName();
+    method @RequiresApi(android.os.Build.VERSION_CODES.R) public androidx.wear.watchface.client.WatchFaceId getWatchFaceId();
+    method public boolean isCommitChangesOnClose();
+    method @UiThread public static com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.editor.ListenableEditorSession> listenableCreateOnWatchEditorSession(androidx.activity.ComponentActivity activity);
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.editor.ChosenComplicationDataSource> listenableOpenComplicationDataSourceChooser(int complicationSlotId);
+    method public suspend Object? openComplicationDataSourceChooser(int complicationSlotId, kotlin.coroutines.Continuation<? super androidx.wear.watchface.editor.ChosenComplicationDataSource> p);
+    method public android.graphics.Bitmap renderWatchFaceToBitmap(androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? slotIdToComplicationData);
+    method public void setCommitChangesOnClose(boolean commitChangesOnClose);
+    property public Integer? backgroundComplicationSlotId;
+    property public boolean commitChangesOnClose;
+    property public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState>> complicationSlotsState;
+    property public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.ComplicationDataSourceInfo>> complicationsDataSourceInfo;
+    property public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData>> complicationsPreviewData;
+    property public java.time.Instant previewReferenceInstant;
+    property public kotlinx.coroutines.flow.MutableStateFlow<androidx.wear.watchface.style.UserStyle> userStyle;
+    property public androidx.wear.watchface.style.UserStyleSchema userStyleSchema;
+    property public android.content.ComponentName watchFaceComponentName;
+    property @RequiresApi(android.os.Build.VERSION_CODES.R) public androidx.wear.watchface.client.WatchFaceId watchFaceId;
+    field public static final androidx.wear.watchface.editor.ListenableEditorSession.Companion Companion;
+  }
+
+  public static final class ListenableEditorSession.Companion {
+    method @RequiresApi(27) @UiThread public androidx.wear.watchface.editor.ListenableEditorSession createHeadlessEditorSession(androidx.activity.ComponentActivity activity, android.content.Intent editIntent, androidx.wear.watchface.client.HeadlessWatchFaceClient headlessWatchFaceClient);
+    method @UiThread public com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.editor.ListenableEditorSession> listenableCreateOnWatchEditorSession(androidx.activity.ComponentActivity activity);
+  }
+
+}
+
diff --git a/wear/watchface/watchface-editor-guava/api/public_plus_experimental_1.0.0-beta01.txt b/wear/watchface/watchface-editor-guava/api/public_plus_experimental_1.0.0-beta01.txt
new file mode 100644
index 0000000..5592a04
--- /dev/null
+++ b/wear/watchface/watchface-editor-guava/api/public_plus_experimental_1.0.0-beta01.txt
@@ -0,0 +1,43 @@
+// Signature format: 4.0
+package androidx.wear.watchface.editor {
+
+  public final class ListenableEditorSession implements androidx.wear.watchface.editor.EditorSession {
+    ctor public ListenableEditorSession(androidx.wear.watchface.editor.EditorSession wrappedEditorSession);
+    method public void close();
+    method @RequiresApi(27) @UiThread public static androidx.wear.watchface.editor.ListenableEditorSession createHeadlessEditorSession(androidx.activity.ComponentActivity activity, android.content.Intent editIntent, androidx.wear.watchface.client.HeadlessWatchFaceClient headlessWatchFaceClient);
+    method public Integer? getBackgroundComplicationSlotId();
+    method public Integer? getComplicationSlotIdAt(int x, int y);
+    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState>> getComplicationSlotsState();
+    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.ComplicationDataSourceInfo>> getComplicationsDataSourceInfo();
+    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData>> getComplicationsPreviewData();
+    method public java.time.Instant getPreviewReferenceInstant();
+    method public kotlinx.coroutines.flow.MutableStateFlow<androidx.wear.watchface.style.UserStyle> getUserStyle();
+    method public androidx.wear.watchface.style.UserStyleSchema getUserStyleSchema();
+    method public android.content.ComponentName getWatchFaceComponentName();
+    method @RequiresApi(android.os.Build.VERSION_CODES.R) public androidx.wear.watchface.client.WatchFaceId getWatchFaceId();
+    method public boolean isCommitChangesOnClose();
+    method @UiThread public static com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.editor.ListenableEditorSession> listenableCreateOnWatchEditorSession(androidx.activity.ComponentActivity activity);
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.editor.ChosenComplicationDataSource> listenableOpenComplicationDataSourceChooser(int complicationSlotId);
+    method public suspend Object? openComplicationDataSourceChooser(int complicationSlotId, kotlin.coroutines.Continuation<? super androidx.wear.watchface.editor.ChosenComplicationDataSource> p);
+    method public android.graphics.Bitmap renderWatchFaceToBitmap(androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? slotIdToComplicationData);
+    method public void setCommitChangesOnClose(boolean commitChangesOnClose);
+    property public Integer? backgroundComplicationSlotId;
+    property public boolean commitChangesOnClose;
+    property public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState>> complicationSlotsState;
+    property public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.ComplicationDataSourceInfo>> complicationsDataSourceInfo;
+    property public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData>> complicationsPreviewData;
+    property public java.time.Instant previewReferenceInstant;
+    property public kotlinx.coroutines.flow.MutableStateFlow<androidx.wear.watchface.style.UserStyle> userStyle;
+    property public androidx.wear.watchface.style.UserStyleSchema userStyleSchema;
+    property public android.content.ComponentName watchFaceComponentName;
+    property @RequiresApi(android.os.Build.VERSION_CODES.R) public androidx.wear.watchface.client.WatchFaceId watchFaceId;
+    field public static final androidx.wear.watchface.editor.ListenableEditorSession.Companion Companion;
+  }
+
+  public static final class ListenableEditorSession.Companion {
+    method @RequiresApi(27) @UiThread public androidx.wear.watchface.editor.ListenableEditorSession createHeadlessEditorSession(androidx.activity.ComponentActivity activity, android.content.Intent editIntent, androidx.wear.watchface.client.HeadlessWatchFaceClient headlessWatchFaceClient);
+    method @UiThread public com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.editor.ListenableEditorSession> listenableCreateOnWatchEditorSession(androidx.activity.ComponentActivity activity);
+  }
+
+}
+
diff --git a/wear/watchface/watchface-editor-guava/api/res-1.0.0-beta01.txt b/wear/watchface/watchface-editor-guava/api/res-1.0.0-beta01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wear/watchface/watchface-editor-guava/api/res-1.0.0-beta01.txt
diff --git a/wear/watchface/watchface-editor-guava/api/restricted_1.0.0-beta01.txt b/wear/watchface/watchface-editor-guava/api/restricted_1.0.0-beta01.txt
new file mode 100644
index 0000000..5592a04
--- /dev/null
+++ b/wear/watchface/watchface-editor-guava/api/restricted_1.0.0-beta01.txt
@@ -0,0 +1,43 @@
+// Signature format: 4.0
+package androidx.wear.watchface.editor {
+
+  public final class ListenableEditorSession implements androidx.wear.watchface.editor.EditorSession {
+    ctor public ListenableEditorSession(androidx.wear.watchface.editor.EditorSession wrappedEditorSession);
+    method public void close();
+    method @RequiresApi(27) @UiThread public static androidx.wear.watchface.editor.ListenableEditorSession createHeadlessEditorSession(androidx.activity.ComponentActivity activity, android.content.Intent editIntent, androidx.wear.watchface.client.HeadlessWatchFaceClient headlessWatchFaceClient);
+    method public Integer? getBackgroundComplicationSlotId();
+    method public Integer? getComplicationSlotIdAt(int x, int y);
+    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState>> getComplicationSlotsState();
+    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.ComplicationDataSourceInfo>> getComplicationsDataSourceInfo();
+    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData>> getComplicationsPreviewData();
+    method public java.time.Instant getPreviewReferenceInstant();
+    method public kotlinx.coroutines.flow.MutableStateFlow<androidx.wear.watchface.style.UserStyle> getUserStyle();
+    method public androidx.wear.watchface.style.UserStyleSchema getUserStyleSchema();
+    method public android.content.ComponentName getWatchFaceComponentName();
+    method @RequiresApi(android.os.Build.VERSION_CODES.R) public androidx.wear.watchface.client.WatchFaceId getWatchFaceId();
+    method public boolean isCommitChangesOnClose();
+    method @UiThread public static com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.editor.ListenableEditorSession> listenableCreateOnWatchEditorSession(androidx.activity.ComponentActivity activity);
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.editor.ChosenComplicationDataSource> listenableOpenComplicationDataSourceChooser(int complicationSlotId);
+    method public suspend Object? openComplicationDataSourceChooser(int complicationSlotId, kotlin.coroutines.Continuation<? super androidx.wear.watchface.editor.ChosenComplicationDataSource> p);
+    method public android.graphics.Bitmap renderWatchFaceToBitmap(androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? slotIdToComplicationData);
+    method public void setCommitChangesOnClose(boolean commitChangesOnClose);
+    property public Integer? backgroundComplicationSlotId;
+    property public boolean commitChangesOnClose;
+    property public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState>> complicationSlotsState;
+    property public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.ComplicationDataSourceInfo>> complicationsDataSourceInfo;
+    property public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData>> complicationsPreviewData;
+    property public java.time.Instant previewReferenceInstant;
+    property public kotlinx.coroutines.flow.MutableStateFlow<androidx.wear.watchface.style.UserStyle> userStyle;
+    property public androidx.wear.watchface.style.UserStyleSchema userStyleSchema;
+    property public android.content.ComponentName watchFaceComponentName;
+    property @RequiresApi(android.os.Build.VERSION_CODES.R) public androidx.wear.watchface.client.WatchFaceId watchFaceId;
+    field public static final androidx.wear.watchface.editor.ListenableEditorSession.Companion Companion;
+  }
+
+  public static final class ListenableEditorSession.Companion {
+    method @RequiresApi(27) @UiThread public androidx.wear.watchface.editor.ListenableEditorSession createHeadlessEditorSession(androidx.activity.ComponentActivity activity, android.content.Intent editIntent, androidx.wear.watchface.client.HeadlessWatchFaceClient headlessWatchFaceClient);
+    method @UiThread public com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.editor.ListenableEditorSession> listenableCreateOnWatchEditorSession(androidx.activity.ComponentActivity activity);
+  }
+
+}
+
diff --git a/wear/watchface/watchface-editor-guava/lint-baseline.xml b/wear/watchface/watchface-editor-guava/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/watchface/watchface-editor-guava/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/watchface/watchface-editor/api/1.0.0-beta01.txt b/wear/watchface/watchface-editor/api/1.0.0-beta01.txt
new file mode 100644
index 0000000..29c54f0
--- /dev/null
+++ b/wear/watchface/watchface-editor/api/1.0.0-beta01.txt
@@ -0,0 +1,100 @@
+// Signature format: 4.0
+package androidx.wear.watchface.editor {
+
+  public final class ChosenComplicationDataSource {
+    ctor public ChosenComplicationDataSource(int complicationSlotId, androidx.wear.watchface.complications.ComplicationDataSourceInfo? complicationDataSourceInfo, android.os.Bundle extras);
+    method public androidx.wear.watchface.complications.ComplicationDataSourceInfo? getComplicationDataSourceInfo();
+    method public int getComplicationSlotId();
+    method public android.os.Bundle getExtras();
+    property public final androidx.wear.watchface.complications.ComplicationDataSourceInfo? complicationDataSourceInfo;
+    property public final int complicationSlotId;
+    property public final android.os.Bundle extras;
+  }
+
+  public final class EditorRequest {
+    ctor @RequiresApi(android.os.Build.VERSION_CODES.R) public EditorRequest(android.content.ComponentName watchFaceComponentName, String editorPackageName, androidx.wear.watchface.style.UserStyleData? initialUserStyle, @RequiresApi androidx.wear.watchface.client.WatchFaceId watchFaceId, androidx.wear.watchface.client.DeviceConfig? headlessDeviceConfig, androidx.wear.watchface.editor.PreviewScreenshotParams? previewScreenshotParams);
+    ctor public EditorRequest(android.content.ComponentName watchFaceComponentName, String editorPackageName, androidx.wear.watchface.style.UserStyleData? initialUserStyle);
+    method @kotlin.jvm.Throws(exceptionClasses=TimeoutCancellationException::class) public static androidx.wear.watchface.editor.EditorRequest createFromIntent(android.content.Intent intent) throws kotlinx.coroutines.TimeoutCancellationException;
+    method public String getEditorPackageName();
+    method public androidx.wear.watchface.client.DeviceConfig? getHeadlessDeviceConfig();
+    method public androidx.wear.watchface.style.UserStyleData? getInitialUserStyle();
+    method public androidx.wear.watchface.editor.PreviewScreenshotParams? getPreviewScreenshotParams();
+    method public android.content.ComponentName getWatchFaceComponentName();
+    method @RequiresApi(android.os.Build.VERSION_CODES.R) public androidx.wear.watchface.client.WatchFaceId getWatchFaceId();
+    property public final String editorPackageName;
+    property public final androidx.wear.watchface.client.DeviceConfig? headlessDeviceConfig;
+    property public final androidx.wear.watchface.style.UserStyleData? initialUserStyle;
+    property public final androidx.wear.watchface.editor.PreviewScreenshotParams? previewScreenshotParams;
+    property public final android.content.ComponentName watchFaceComponentName;
+    property @RequiresApi(android.os.Build.VERSION_CODES.R) public final androidx.wear.watchface.client.WatchFaceId watchFaceId;
+    field public static final androidx.wear.watchface.editor.EditorRequest.Companion Companion;
+  }
+
+  public static final class EditorRequest.Companion {
+    method @kotlin.jvm.Throws(exceptionClasses=TimeoutCancellationException::class) public androidx.wear.watchface.editor.EditorRequest createFromIntent(android.content.Intent intent) throws kotlinx.coroutines.TimeoutCancellationException;
+  }
+
+  public interface EditorSession extends java.lang.AutoCloseable {
+    method @RequiresApi(27) @UiThread public default static androidx.wear.watchface.editor.EditorSession createHeadlessEditorSession(androidx.activity.ComponentActivity activity, android.content.Intent editIntent, androidx.wear.watchface.client.HeadlessWatchFaceClient headlessWatchFaceClient);
+    method @UiThread @kotlin.jvm.Throws(exceptionClasses=TimeoutCancellationException::class) public default static suspend Object? createOnWatchEditorSession(androidx.activity.ComponentActivity activity, kotlin.coroutines.Continuation<? super androidx.wear.watchface.editor.EditorSession> p) throws kotlinx.coroutines.TimeoutCancellationException;
+    method public Integer? getBackgroundComplicationSlotId();
+    method @UiThread public Integer? getComplicationSlotIdAt(@Px int x, @Px int y);
+    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState>> getComplicationSlotsState();
+    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.ComplicationDataSourceInfo>> getComplicationsDataSourceInfo();
+    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData>> getComplicationsPreviewData();
+    method public java.time.Instant getPreviewReferenceInstant();
+    method public kotlinx.coroutines.flow.MutableStateFlow<androidx.wear.watchface.style.UserStyle> getUserStyle();
+    method public androidx.wear.watchface.style.UserStyleSchema getUserStyleSchema();
+    method public android.content.ComponentName getWatchFaceComponentName();
+    method @RequiresApi(android.os.Build.VERSION_CODES.R) public androidx.wear.watchface.client.WatchFaceId getWatchFaceId();
+    method @UiThread public boolean isCommitChangesOnClose();
+    method @UiThread public suspend Object? openComplicationDataSourceChooser(int complicationSlotId, kotlin.coroutines.Continuation<? super androidx.wear.watchface.editor.ChosenComplicationDataSource> p);
+    method @UiThread public android.graphics.Bitmap renderWatchFaceToBitmap(androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? slotIdToComplicationData);
+    method @UiThread public void setCommitChangesOnClose(boolean commitChangesOnClose);
+    property public abstract Integer? backgroundComplicationSlotId;
+    property @UiThread public abstract boolean commitChangesOnClose;
+    property public abstract kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState>> complicationSlotsState;
+    property public abstract kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.ComplicationDataSourceInfo>> complicationsDataSourceInfo;
+    property public abstract kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData>> complicationsPreviewData;
+    property public abstract java.time.Instant previewReferenceInstant;
+    property public abstract kotlinx.coroutines.flow.MutableStateFlow<androidx.wear.watchface.style.UserStyle> userStyle;
+    property public abstract androidx.wear.watchface.style.UserStyleSchema userStyleSchema;
+    property public abstract android.content.ComponentName watchFaceComponentName;
+    property @RequiresApi(android.os.Build.VERSION_CODES.R) public abstract androidx.wear.watchface.client.WatchFaceId watchFaceId;
+    field public static final androidx.wear.watchface.editor.EditorSession.Companion Companion;
+    field public static final java.time.Instant DEFAULT_PREVIEW_INSTANT;
+    field public static final java.time.Duration EDITING_SESSION_TIMEOUT;
+  }
+
+  public static final class EditorSession.Companion {
+    method @RequiresApi(27) @UiThread public androidx.wear.watchface.editor.EditorSession createHeadlessEditorSession(androidx.activity.ComponentActivity activity, android.content.Intent editIntent, androidx.wear.watchface.client.HeadlessWatchFaceClient headlessWatchFaceClient);
+    method @UiThread @kotlin.jvm.Throws(exceptionClasses=TimeoutCancellationException::class) public suspend Object? createOnWatchEditorSession(androidx.activity.ComponentActivity activity, kotlin.coroutines.Continuation<? super androidx.wear.watchface.editor.EditorSession> p) throws kotlinx.coroutines.TimeoutCancellationException;
+  }
+
+  public final class EditorSessionKt {
+  }
+
+  public final class PreviewScreenshotParams {
+    ctor public PreviewScreenshotParams(androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant);
+    method public java.time.Instant getInstant();
+    method public androidx.wear.watchface.RenderParameters getRenderParameters();
+    property public final java.time.Instant instant;
+    property public final androidx.wear.watchface.RenderParameters renderParameters;
+  }
+
+  public class WatchFaceEditorContract extends androidx.activity.result.contract.ActivityResultContract<androidx.wear.watchface.editor.EditorRequest,kotlin.Unit> {
+    ctor public WatchFaceEditorContract();
+    method public android.content.Intent createIntent(android.content.Context context, androidx.wear.watchface.editor.EditorRequest input);
+    method public void parseResult(int resultCode, android.content.Intent? intent);
+    field public static final String ACTION_WATCH_FACE_EDITOR = "androidx.wear.watchface.editor.action.WATCH_FACE_EDITOR";
+    field public static final androidx.wear.watchface.editor.WatchFaceEditorContract.Companion Companion;
+  }
+
+  public static final class WatchFaceEditorContract.Companion {
+  }
+
+  public final class WatchFaceEditorContractKt {
+  }
+
+}
+
diff --git a/wear/watchface/watchface-editor/api/public_plus_experimental_1.0.0-beta01.txt b/wear/watchface/watchface-editor/api/public_plus_experimental_1.0.0-beta01.txt
new file mode 100644
index 0000000..29c54f0
--- /dev/null
+++ b/wear/watchface/watchface-editor/api/public_plus_experimental_1.0.0-beta01.txt
@@ -0,0 +1,100 @@
+// Signature format: 4.0
+package androidx.wear.watchface.editor {
+
+  public final class ChosenComplicationDataSource {
+    ctor public ChosenComplicationDataSource(int complicationSlotId, androidx.wear.watchface.complications.ComplicationDataSourceInfo? complicationDataSourceInfo, android.os.Bundle extras);
+    method public androidx.wear.watchface.complications.ComplicationDataSourceInfo? getComplicationDataSourceInfo();
+    method public int getComplicationSlotId();
+    method public android.os.Bundle getExtras();
+    property public final androidx.wear.watchface.complications.ComplicationDataSourceInfo? complicationDataSourceInfo;
+    property public final int complicationSlotId;
+    property public final android.os.Bundle extras;
+  }
+
+  public final class EditorRequest {
+    ctor @RequiresApi(android.os.Build.VERSION_CODES.R) public EditorRequest(android.content.ComponentName watchFaceComponentName, String editorPackageName, androidx.wear.watchface.style.UserStyleData? initialUserStyle, @RequiresApi androidx.wear.watchface.client.WatchFaceId watchFaceId, androidx.wear.watchface.client.DeviceConfig? headlessDeviceConfig, androidx.wear.watchface.editor.PreviewScreenshotParams? previewScreenshotParams);
+    ctor public EditorRequest(android.content.ComponentName watchFaceComponentName, String editorPackageName, androidx.wear.watchface.style.UserStyleData? initialUserStyle);
+    method @kotlin.jvm.Throws(exceptionClasses=TimeoutCancellationException::class) public static androidx.wear.watchface.editor.EditorRequest createFromIntent(android.content.Intent intent) throws kotlinx.coroutines.TimeoutCancellationException;
+    method public String getEditorPackageName();
+    method public androidx.wear.watchface.client.DeviceConfig? getHeadlessDeviceConfig();
+    method public androidx.wear.watchface.style.UserStyleData? getInitialUserStyle();
+    method public androidx.wear.watchface.editor.PreviewScreenshotParams? getPreviewScreenshotParams();
+    method public android.content.ComponentName getWatchFaceComponentName();
+    method @RequiresApi(android.os.Build.VERSION_CODES.R) public androidx.wear.watchface.client.WatchFaceId getWatchFaceId();
+    property public final String editorPackageName;
+    property public final androidx.wear.watchface.client.DeviceConfig? headlessDeviceConfig;
+    property public final androidx.wear.watchface.style.UserStyleData? initialUserStyle;
+    property public final androidx.wear.watchface.editor.PreviewScreenshotParams? previewScreenshotParams;
+    property public final android.content.ComponentName watchFaceComponentName;
+    property @RequiresApi(android.os.Build.VERSION_CODES.R) public final androidx.wear.watchface.client.WatchFaceId watchFaceId;
+    field public static final androidx.wear.watchface.editor.EditorRequest.Companion Companion;
+  }
+
+  public static final class EditorRequest.Companion {
+    method @kotlin.jvm.Throws(exceptionClasses=TimeoutCancellationException::class) public androidx.wear.watchface.editor.EditorRequest createFromIntent(android.content.Intent intent) throws kotlinx.coroutines.TimeoutCancellationException;
+  }
+
+  public interface EditorSession extends java.lang.AutoCloseable {
+    method @RequiresApi(27) @UiThread public default static androidx.wear.watchface.editor.EditorSession createHeadlessEditorSession(androidx.activity.ComponentActivity activity, android.content.Intent editIntent, androidx.wear.watchface.client.HeadlessWatchFaceClient headlessWatchFaceClient);
+    method @UiThread @kotlin.jvm.Throws(exceptionClasses=TimeoutCancellationException::class) public default static suspend Object? createOnWatchEditorSession(androidx.activity.ComponentActivity activity, kotlin.coroutines.Continuation<? super androidx.wear.watchface.editor.EditorSession> p) throws kotlinx.coroutines.TimeoutCancellationException;
+    method public Integer? getBackgroundComplicationSlotId();
+    method @UiThread public Integer? getComplicationSlotIdAt(@Px int x, @Px int y);
+    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState>> getComplicationSlotsState();
+    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.ComplicationDataSourceInfo>> getComplicationsDataSourceInfo();
+    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData>> getComplicationsPreviewData();
+    method public java.time.Instant getPreviewReferenceInstant();
+    method public kotlinx.coroutines.flow.MutableStateFlow<androidx.wear.watchface.style.UserStyle> getUserStyle();
+    method public androidx.wear.watchface.style.UserStyleSchema getUserStyleSchema();
+    method public android.content.ComponentName getWatchFaceComponentName();
+    method @RequiresApi(android.os.Build.VERSION_CODES.R) public androidx.wear.watchface.client.WatchFaceId getWatchFaceId();
+    method @UiThread public boolean isCommitChangesOnClose();
+    method @UiThread public suspend Object? openComplicationDataSourceChooser(int complicationSlotId, kotlin.coroutines.Continuation<? super androidx.wear.watchface.editor.ChosenComplicationDataSource> p);
+    method @UiThread public android.graphics.Bitmap renderWatchFaceToBitmap(androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? slotIdToComplicationData);
+    method @UiThread public void setCommitChangesOnClose(boolean commitChangesOnClose);
+    property public abstract Integer? backgroundComplicationSlotId;
+    property @UiThread public abstract boolean commitChangesOnClose;
+    property public abstract kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState>> complicationSlotsState;
+    property public abstract kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.ComplicationDataSourceInfo>> complicationsDataSourceInfo;
+    property public abstract kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData>> complicationsPreviewData;
+    property public abstract java.time.Instant previewReferenceInstant;
+    property public abstract kotlinx.coroutines.flow.MutableStateFlow<androidx.wear.watchface.style.UserStyle> userStyle;
+    property public abstract androidx.wear.watchface.style.UserStyleSchema userStyleSchema;
+    property public abstract android.content.ComponentName watchFaceComponentName;
+    property @RequiresApi(android.os.Build.VERSION_CODES.R) public abstract androidx.wear.watchface.client.WatchFaceId watchFaceId;
+    field public static final androidx.wear.watchface.editor.EditorSession.Companion Companion;
+    field public static final java.time.Instant DEFAULT_PREVIEW_INSTANT;
+    field public static final java.time.Duration EDITING_SESSION_TIMEOUT;
+  }
+
+  public static final class EditorSession.Companion {
+    method @RequiresApi(27) @UiThread public androidx.wear.watchface.editor.EditorSession createHeadlessEditorSession(androidx.activity.ComponentActivity activity, android.content.Intent editIntent, androidx.wear.watchface.client.HeadlessWatchFaceClient headlessWatchFaceClient);
+    method @UiThread @kotlin.jvm.Throws(exceptionClasses=TimeoutCancellationException::class) public suspend Object? createOnWatchEditorSession(androidx.activity.ComponentActivity activity, kotlin.coroutines.Continuation<? super androidx.wear.watchface.editor.EditorSession> p) throws kotlinx.coroutines.TimeoutCancellationException;
+  }
+
+  public final class EditorSessionKt {
+  }
+
+  public final class PreviewScreenshotParams {
+    ctor public PreviewScreenshotParams(androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant);
+    method public java.time.Instant getInstant();
+    method public androidx.wear.watchface.RenderParameters getRenderParameters();
+    property public final java.time.Instant instant;
+    property public final androidx.wear.watchface.RenderParameters renderParameters;
+  }
+
+  public class WatchFaceEditorContract extends androidx.activity.result.contract.ActivityResultContract<androidx.wear.watchface.editor.EditorRequest,kotlin.Unit> {
+    ctor public WatchFaceEditorContract();
+    method public android.content.Intent createIntent(android.content.Context context, androidx.wear.watchface.editor.EditorRequest input);
+    method public void parseResult(int resultCode, android.content.Intent? intent);
+    field public static final String ACTION_WATCH_FACE_EDITOR = "androidx.wear.watchface.editor.action.WATCH_FACE_EDITOR";
+    field public static final androidx.wear.watchface.editor.WatchFaceEditorContract.Companion Companion;
+  }
+
+  public static final class WatchFaceEditorContract.Companion {
+  }
+
+  public final class WatchFaceEditorContractKt {
+  }
+
+}
+
diff --git a/wear/watchface/watchface-editor/api/res-1.0.0-beta01.txt b/wear/watchface/watchface-editor/api/res-1.0.0-beta01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wear/watchface/watchface-editor/api/res-1.0.0-beta01.txt
diff --git a/wear/watchface/watchface-editor/api/restricted_1.0.0-beta01.txt b/wear/watchface/watchface-editor/api/restricted_1.0.0-beta01.txt
new file mode 100644
index 0000000..29c54f0
--- /dev/null
+++ b/wear/watchface/watchface-editor/api/restricted_1.0.0-beta01.txt
@@ -0,0 +1,100 @@
+// Signature format: 4.0
+package androidx.wear.watchface.editor {
+
+  public final class ChosenComplicationDataSource {
+    ctor public ChosenComplicationDataSource(int complicationSlotId, androidx.wear.watchface.complications.ComplicationDataSourceInfo? complicationDataSourceInfo, android.os.Bundle extras);
+    method public androidx.wear.watchface.complications.ComplicationDataSourceInfo? getComplicationDataSourceInfo();
+    method public int getComplicationSlotId();
+    method public android.os.Bundle getExtras();
+    property public final androidx.wear.watchface.complications.ComplicationDataSourceInfo? complicationDataSourceInfo;
+    property public final int complicationSlotId;
+    property public final android.os.Bundle extras;
+  }
+
+  public final class EditorRequest {
+    ctor @RequiresApi(android.os.Build.VERSION_CODES.R) public EditorRequest(android.content.ComponentName watchFaceComponentName, String editorPackageName, androidx.wear.watchface.style.UserStyleData? initialUserStyle, @RequiresApi androidx.wear.watchface.client.WatchFaceId watchFaceId, androidx.wear.watchface.client.DeviceConfig? headlessDeviceConfig, androidx.wear.watchface.editor.PreviewScreenshotParams? previewScreenshotParams);
+    ctor public EditorRequest(android.content.ComponentName watchFaceComponentName, String editorPackageName, androidx.wear.watchface.style.UserStyleData? initialUserStyle);
+    method @kotlin.jvm.Throws(exceptionClasses=TimeoutCancellationException::class) public static androidx.wear.watchface.editor.EditorRequest createFromIntent(android.content.Intent intent) throws kotlinx.coroutines.TimeoutCancellationException;
+    method public String getEditorPackageName();
+    method public androidx.wear.watchface.client.DeviceConfig? getHeadlessDeviceConfig();
+    method public androidx.wear.watchface.style.UserStyleData? getInitialUserStyle();
+    method public androidx.wear.watchface.editor.PreviewScreenshotParams? getPreviewScreenshotParams();
+    method public android.content.ComponentName getWatchFaceComponentName();
+    method @RequiresApi(android.os.Build.VERSION_CODES.R) public androidx.wear.watchface.client.WatchFaceId getWatchFaceId();
+    property public final String editorPackageName;
+    property public final androidx.wear.watchface.client.DeviceConfig? headlessDeviceConfig;
+    property public final androidx.wear.watchface.style.UserStyleData? initialUserStyle;
+    property public final androidx.wear.watchface.editor.PreviewScreenshotParams? previewScreenshotParams;
+    property public final android.content.ComponentName watchFaceComponentName;
+    property @RequiresApi(android.os.Build.VERSION_CODES.R) public final androidx.wear.watchface.client.WatchFaceId watchFaceId;
+    field public static final androidx.wear.watchface.editor.EditorRequest.Companion Companion;
+  }
+
+  public static final class EditorRequest.Companion {
+    method @kotlin.jvm.Throws(exceptionClasses=TimeoutCancellationException::class) public androidx.wear.watchface.editor.EditorRequest createFromIntent(android.content.Intent intent) throws kotlinx.coroutines.TimeoutCancellationException;
+  }
+
+  public interface EditorSession extends java.lang.AutoCloseable {
+    method @RequiresApi(27) @UiThread public default static androidx.wear.watchface.editor.EditorSession createHeadlessEditorSession(androidx.activity.ComponentActivity activity, android.content.Intent editIntent, androidx.wear.watchface.client.HeadlessWatchFaceClient headlessWatchFaceClient);
+    method @UiThread @kotlin.jvm.Throws(exceptionClasses=TimeoutCancellationException::class) public default static suspend Object? createOnWatchEditorSession(androidx.activity.ComponentActivity activity, kotlin.coroutines.Continuation<? super androidx.wear.watchface.editor.EditorSession> p) throws kotlinx.coroutines.TimeoutCancellationException;
+    method public Integer? getBackgroundComplicationSlotId();
+    method @UiThread public Integer? getComplicationSlotIdAt(@Px int x, @Px int y);
+    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState>> getComplicationSlotsState();
+    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.ComplicationDataSourceInfo>> getComplicationsDataSourceInfo();
+    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData>> getComplicationsPreviewData();
+    method public java.time.Instant getPreviewReferenceInstant();
+    method public kotlinx.coroutines.flow.MutableStateFlow<androidx.wear.watchface.style.UserStyle> getUserStyle();
+    method public androidx.wear.watchface.style.UserStyleSchema getUserStyleSchema();
+    method public android.content.ComponentName getWatchFaceComponentName();
+    method @RequiresApi(android.os.Build.VERSION_CODES.R) public androidx.wear.watchface.client.WatchFaceId getWatchFaceId();
+    method @UiThread public boolean isCommitChangesOnClose();
+    method @UiThread public suspend Object? openComplicationDataSourceChooser(int complicationSlotId, kotlin.coroutines.Continuation<? super androidx.wear.watchface.editor.ChosenComplicationDataSource> p);
+    method @UiThread public android.graphics.Bitmap renderWatchFaceToBitmap(androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? slotIdToComplicationData);
+    method @UiThread public void setCommitChangesOnClose(boolean commitChangesOnClose);
+    property public abstract Integer? backgroundComplicationSlotId;
+    property @UiThread public abstract boolean commitChangesOnClose;
+    property public abstract kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState>> complicationSlotsState;
+    property public abstract kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.ComplicationDataSourceInfo>> complicationsDataSourceInfo;
+    property public abstract kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData>> complicationsPreviewData;
+    property public abstract java.time.Instant previewReferenceInstant;
+    property public abstract kotlinx.coroutines.flow.MutableStateFlow<androidx.wear.watchface.style.UserStyle> userStyle;
+    property public abstract androidx.wear.watchface.style.UserStyleSchema userStyleSchema;
+    property public abstract android.content.ComponentName watchFaceComponentName;
+    property @RequiresApi(android.os.Build.VERSION_CODES.R) public abstract androidx.wear.watchface.client.WatchFaceId watchFaceId;
+    field public static final androidx.wear.watchface.editor.EditorSession.Companion Companion;
+    field public static final java.time.Instant DEFAULT_PREVIEW_INSTANT;
+    field public static final java.time.Duration EDITING_SESSION_TIMEOUT;
+  }
+
+  public static final class EditorSession.Companion {
+    method @RequiresApi(27) @UiThread public androidx.wear.watchface.editor.EditorSession createHeadlessEditorSession(androidx.activity.ComponentActivity activity, android.content.Intent editIntent, androidx.wear.watchface.client.HeadlessWatchFaceClient headlessWatchFaceClient);
+    method @UiThread @kotlin.jvm.Throws(exceptionClasses=TimeoutCancellationException::class) public suspend Object? createOnWatchEditorSession(androidx.activity.ComponentActivity activity, kotlin.coroutines.Continuation<? super androidx.wear.watchface.editor.EditorSession> p) throws kotlinx.coroutines.TimeoutCancellationException;
+  }
+
+  public final class EditorSessionKt {
+  }
+
+  public final class PreviewScreenshotParams {
+    ctor public PreviewScreenshotParams(androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant);
+    method public java.time.Instant getInstant();
+    method public androidx.wear.watchface.RenderParameters getRenderParameters();
+    property public final java.time.Instant instant;
+    property public final androidx.wear.watchface.RenderParameters renderParameters;
+  }
+
+  public class WatchFaceEditorContract extends androidx.activity.result.contract.ActivityResultContract<androidx.wear.watchface.editor.EditorRequest,kotlin.Unit> {
+    ctor public WatchFaceEditorContract();
+    method public android.content.Intent createIntent(android.content.Context context, androidx.wear.watchface.editor.EditorRequest input);
+    method public void parseResult(int resultCode, android.content.Intent? intent);
+    field public static final String ACTION_WATCH_FACE_EDITOR = "androidx.wear.watchface.editor.action.WATCH_FACE_EDITOR";
+    field public static final androidx.wear.watchface.editor.WatchFaceEditorContract.Companion Companion;
+  }
+
+  public static final class WatchFaceEditorContract.Companion {
+  }
+
+  public final class WatchFaceEditorContractKt {
+  }
+
+}
+
diff --git a/wear/watchface/watchface-editor/lint-baseline.xml b/wear/watchface/watchface-editor/lint-baseline.xml
new file mode 100644
index 0000000..90efb17
--- /dev/null
+++ b/wear/watchface/watchface-editor/lint-baseline.xml
@@ -0,0 +1,59 @@
+<?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">
+
+    <issue
+        id="NewApi"
+        message="Field requires API level 30 (current min is 26): `getWatchFaceId`"
+        errorLine1="                    watchFaceId.id"
+        errorLine2="                    ~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/watchface/editor/EditorSession.kt"
+            line="507"
+            column="21"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Field requires API level 30 (current min is 26): `getWatchFaceId`"
+        errorLine1="                            watchFaceId.id,"
+        errorLine2="                            ~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/watchface/editor/EditorSession.kt"
+            line="688"
+            column="29"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Field requires API level 30 (current min is 26): `getWatchFaceId`"
+        errorLine1="            assertThat(it.editorSession.watchFaceId.id).isEqualTo(testInstanceId.id)"
+        errorLine2="                                        ~~~~~~~~~~~">
+        <location
+            file="src/androidTest/java/androidx/wear/watchface/editor/EditorSessionTest.kt"
+            line="675"
+            column="41"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Field requires API level 30 (current min is 26): `getWatchFaceId`"
+        errorLine1="        assertThat(activity.editorSession.watchFaceId.id).isEqualTo(testInstanceId.id)"
+        errorLine2="                                          ~~~~~~~~~~~">
+        <location
+            file="src/androidTest/java/androidx/wear/watchface/editor/EditorSessionTest.kt"
+            line="694"
+            column="43"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 30 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.R)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/watchface/editor/WatchFaceEditorContract.kt"
+            line="107"
+            column="5"/>
+    </issue>
+
+</issues>
diff --git a/wear/watchface/watchface-editor/samples/lint-baseline.xml b/wear/watchface/watchface-editor/samples/lint-baseline.xml
index 68653f9..66b5be4 100644
--- a/wear/watchface/watchface-editor/samples/lint-baseline.xml
+++ b/wear/watchface/watchface-editor/samples/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha08" type="baseline" client="gradle" dependencies="true" name="AGP (7.1.0-alpha08)" variant="all" version="7.1.0-alpha08">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="MissingClass"
@@ -79,6 +79,39 @@
     </issue>
 
     <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.N)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/watchface/ComplicationHelperActivity.java"
+            line="62"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(VERSION_CODES.KITKAT)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/android/support/wearable/watchface/accessibility/ContentDescriptionLabel.java"
+            line="46"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 30 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.R)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/watchface/editor/WatchFaceEditorContract.kt"
+            line="107"
+            column="5"/>
+    </issue>
+
+    <issue
         id="MissingQuantity"
         message="For locale &quot;fr&quot; (French) the following quantities should also be defined: `many`"
         errorLine1="    &lt;plurals name=&quot;time_difference_short_days&quot; formatted=&quot;false&quot; msgid=&quot;3878057769320887026&quot;>"
diff --git a/wear/watchface/watchface-guava/api/1.0.0-beta01.txt b/wear/watchface/watchface-guava/api/1.0.0-beta01.txt
new file mode 100644
index 0000000..a01ac28
--- /dev/null
+++ b/wear/watchface/watchface-guava/api/1.0.0-beta01.txt
@@ -0,0 +1,30 @@
+// Signature format: 4.0
+package androidx.wear.watchface {
+
+  public abstract class ListenableCanvasRenderer extends androidx.wear.watchface.Renderer.CanvasRenderer {
+    ctor public ListenableCanvasRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, androidx.wear.watchface.WatchState watchState, @androidx.wear.watchface.CanvasType int canvasType, @IntRange(from=0, to=60000) long interactiveDrawModeUpdateDelayMillis);
+    method public suspend Object? init(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method @UiThread public com.google.common.util.concurrent.ListenableFuture<kotlin.Unit> initFuture();
+  }
+
+  public abstract class ListenableGlesRenderer extends androidx.wear.watchface.Renderer.GlesRenderer {
+    ctor public ListenableGlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=60000) long interactiveDrawModeUpdateDelayMillis, optional int[] eglConfigAttribList, optional int[] eglSurfaceAttribList);
+    method public suspend Object? onBackgroundThreadGlContextCreated(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method protected com.google.common.util.concurrent.ListenableFuture<kotlin.Unit> onBackgroundThreadGlContextCreatedFuture();
+    method public suspend Object? onUiThreadGlSurfaceCreated(@Px int width, @Px int height, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method @UiThread protected com.google.common.util.concurrent.ListenableFuture<kotlin.Unit> onUiThreadGlSurfaceCreatedFuture(@Px int width, @Px int height);
+    method @WorkerThread public final void runBackgroundThreadGlCommands(Runnable runnable);
+    method @UiThread public final void runUiThreadGlCommands(Runnable runnable);
+  }
+
+  public final class ListenableGlesRendererKt {
+  }
+
+  public abstract class ListenableWatchFaceService extends androidx.wear.watchface.WatchFaceService {
+    ctor public ListenableWatchFaceService();
+    method protected suspend Object? createWatchFace(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.WatchState watchState, androidx.wear.watchface.ComplicationSlotsManager complicationSlotsManager, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, kotlin.coroutines.Continuation<? super androidx.wear.watchface.WatchFace> p);
+    method protected abstract com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.WatchFace> createWatchFaceFuture(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.WatchState watchState, androidx.wear.watchface.ComplicationSlotsManager complicationSlotsManager, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository);
+  }
+
+}
+
diff --git a/wear/watchface/watchface-guava/api/public_plus_experimental_1.0.0-beta01.txt b/wear/watchface/watchface-guava/api/public_plus_experimental_1.0.0-beta01.txt
new file mode 100644
index 0000000..a01ac28
--- /dev/null
+++ b/wear/watchface/watchface-guava/api/public_plus_experimental_1.0.0-beta01.txt
@@ -0,0 +1,30 @@
+// Signature format: 4.0
+package androidx.wear.watchface {
+
+  public abstract class ListenableCanvasRenderer extends androidx.wear.watchface.Renderer.CanvasRenderer {
+    ctor public ListenableCanvasRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, androidx.wear.watchface.WatchState watchState, @androidx.wear.watchface.CanvasType int canvasType, @IntRange(from=0, to=60000) long interactiveDrawModeUpdateDelayMillis);
+    method public suspend Object? init(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method @UiThread public com.google.common.util.concurrent.ListenableFuture<kotlin.Unit> initFuture();
+  }
+
+  public abstract class ListenableGlesRenderer extends androidx.wear.watchface.Renderer.GlesRenderer {
+    ctor public ListenableGlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=60000) long interactiveDrawModeUpdateDelayMillis, optional int[] eglConfigAttribList, optional int[] eglSurfaceAttribList);
+    method public suspend Object? onBackgroundThreadGlContextCreated(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method protected com.google.common.util.concurrent.ListenableFuture<kotlin.Unit> onBackgroundThreadGlContextCreatedFuture();
+    method public suspend Object? onUiThreadGlSurfaceCreated(@Px int width, @Px int height, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method @UiThread protected com.google.common.util.concurrent.ListenableFuture<kotlin.Unit> onUiThreadGlSurfaceCreatedFuture(@Px int width, @Px int height);
+    method @WorkerThread public final void runBackgroundThreadGlCommands(Runnable runnable);
+    method @UiThread public final void runUiThreadGlCommands(Runnable runnable);
+  }
+
+  public final class ListenableGlesRendererKt {
+  }
+
+  public abstract class ListenableWatchFaceService extends androidx.wear.watchface.WatchFaceService {
+    ctor public ListenableWatchFaceService();
+    method protected suspend Object? createWatchFace(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.WatchState watchState, androidx.wear.watchface.ComplicationSlotsManager complicationSlotsManager, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, kotlin.coroutines.Continuation<? super androidx.wear.watchface.WatchFace> p);
+    method protected abstract com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.WatchFace> createWatchFaceFuture(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.WatchState watchState, androidx.wear.watchface.ComplicationSlotsManager complicationSlotsManager, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository);
+  }
+
+}
+
diff --git a/wear/watchface/watchface-guava/api/res-1.0.0-beta01.txt b/wear/watchface/watchface-guava/api/res-1.0.0-beta01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wear/watchface/watchface-guava/api/res-1.0.0-beta01.txt
diff --git a/wear/watchface/watchface-guava/api/restricted_1.0.0-beta01.txt b/wear/watchface/watchface-guava/api/restricted_1.0.0-beta01.txt
new file mode 100644
index 0000000..a01ac28
--- /dev/null
+++ b/wear/watchface/watchface-guava/api/restricted_1.0.0-beta01.txt
@@ -0,0 +1,30 @@
+// Signature format: 4.0
+package androidx.wear.watchface {
+
+  public abstract class ListenableCanvasRenderer extends androidx.wear.watchface.Renderer.CanvasRenderer {
+    ctor public ListenableCanvasRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, androidx.wear.watchface.WatchState watchState, @androidx.wear.watchface.CanvasType int canvasType, @IntRange(from=0, to=60000) long interactiveDrawModeUpdateDelayMillis);
+    method public suspend Object? init(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method @UiThread public com.google.common.util.concurrent.ListenableFuture<kotlin.Unit> initFuture();
+  }
+
+  public abstract class ListenableGlesRenderer extends androidx.wear.watchface.Renderer.GlesRenderer {
+    ctor public ListenableGlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=60000) long interactiveDrawModeUpdateDelayMillis, optional int[] eglConfigAttribList, optional int[] eglSurfaceAttribList);
+    method public suspend Object? onBackgroundThreadGlContextCreated(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method protected com.google.common.util.concurrent.ListenableFuture<kotlin.Unit> onBackgroundThreadGlContextCreatedFuture();
+    method public suspend Object? onUiThreadGlSurfaceCreated(@Px int width, @Px int height, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method @UiThread protected com.google.common.util.concurrent.ListenableFuture<kotlin.Unit> onUiThreadGlSurfaceCreatedFuture(@Px int width, @Px int height);
+    method @WorkerThread public final void runBackgroundThreadGlCommands(Runnable runnable);
+    method @UiThread public final void runUiThreadGlCommands(Runnable runnable);
+  }
+
+  public final class ListenableGlesRendererKt {
+  }
+
+  public abstract class ListenableWatchFaceService extends androidx.wear.watchface.WatchFaceService {
+    ctor public ListenableWatchFaceService();
+    method protected suspend Object? createWatchFace(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.WatchState watchState, androidx.wear.watchface.ComplicationSlotsManager complicationSlotsManager, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, kotlin.coroutines.Continuation<? super androidx.wear.watchface.WatchFace> p);
+    method protected abstract com.google.common.util.concurrent.ListenableFuture<androidx.wear.watchface.WatchFace> createWatchFaceFuture(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.WatchState watchState, androidx.wear.watchface.ComplicationSlotsManager complicationSlotsManager, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository);
+  }
+
+}
+
diff --git a/wear/watchface/watchface-guava/lint-baseline.xml b/wear/watchface/watchface-guava/lint-baseline.xml
new file mode 100644
index 0000000..2228767
--- /dev/null
+++ b/wear/watchface/watchface-guava/lint-baseline.xml
@@ -0,0 +1,48 @@
+<?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">
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 27 (current min is 26): `WatchFaceControlService`"
+        errorLine1="    private val realService = object : WatchFaceControlService() {"
+        errorLine2="                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceControlTestService.kt"
+            line="62"
+            column="31"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Extending WatchFaceControlService requires API level 27 (current min is 26): `WatchFaceControlService`"
+        errorLine1="    private val realService = object : WatchFaceControlService() {"
+        errorLine2="                                       ~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceControlTestService.kt"
+            line="62"
+            column="40"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 27 (current min is 26): `IWatchFaceInstanceServiceStub`"
+        errorLine1="            object : IWatchFaceInstanceServiceStub(this, Handler(Looper.getMainLooper())) {"
+        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceControlTestService.kt"
+            line="64"
+            column="13"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Extending IWatchFaceInstanceServiceStub requires API level 27 (current min is 26): `IWatchFaceInstanceServiceStub`"
+        errorLine1="            object : IWatchFaceInstanceServiceStub(this, Handler(Looper.getMainLooper())) {"
+        errorLine2="                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/androidTest/java/androidx/wear/watchface/test/WatchFaceControlTestService.kt"
+            line="64"
+            column="22"/>
+    </issue>
+
+</issues>
diff --git a/wear/watchface/watchface-samples-minimal-complications/lint-baseline.xml b/wear/watchface/watchface-samples-minimal-complications/lint-baseline.xml
index 68653f9..66b5be4 100644
--- a/wear/watchface/watchface-samples-minimal-complications/lint-baseline.xml
+++ b/wear/watchface/watchface-samples-minimal-complications/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha08" type="baseline" client="gradle" dependencies="true" name="AGP (7.1.0-alpha08)" variant="all" version="7.1.0-alpha08">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="MissingClass"
@@ -79,6 +79,39 @@
     </issue>
 
     <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.N)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/watchface/ComplicationHelperActivity.java"
+            line="62"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(VERSION_CODES.KITKAT)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/android/support/wearable/watchface/accessibility/ContentDescriptionLabel.java"
+            line="46"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 30 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.R)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/watchface/editor/WatchFaceEditorContract.kt"
+            line="107"
+            column="5"/>
+    </issue>
+
+    <issue
         id="MissingQuantity"
         message="For locale &quot;fr&quot; (French) the following quantities should also be defined: `many`"
         errorLine1="    &lt;plurals name=&quot;time_difference_short_days&quot; formatted=&quot;false&quot; msgid=&quot;3878057769320887026&quot;>"
diff --git a/wear/watchface/watchface-samples-minimal-style/lint-baseline.xml b/wear/watchface/watchface-samples-minimal-style/lint-baseline.xml
index 68653f9..66b5be4 100644
--- a/wear/watchface/watchface-samples-minimal-style/lint-baseline.xml
+++ b/wear/watchface/watchface-samples-minimal-style/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha08" type="baseline" client="gradle" dependencies="true" name="AGP (7.1.0-alpha08)" variant="all" version="7.1.0-alpha08">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="MissingClass"
@@ -79,6 +79,39 @@
     </issue>
 
     <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.N)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/watchface/ComplicationHelperActivity.java"
+            line="62"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(VERSION_CODES.KITKAT)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/android/support/wearable/watchface/accessibility/ContentDescriptionLabel.java"
+            line="46"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 30 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.R)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/watchface/editor/WatchFaceEditorContract.kt"
+            line="107"
+            column="5"/>
+    </issue>
+
+    <issue
         id="MissingQuantity"
         message="For locale &quot;fr&quot; (French) the following quantities should also be defined: `many`"
         errorLine1="    &lt;plurals name=&quot;time_difference_short_days&quot; formatted=&quot;false&quot; msgid=&quot;3878057769320887026&quot;>"
diff --git a/wear/watchface/watchface-style/api/1.0.0-beta01.txt b/wear/watchface/watchface-style/api/1.0.0-beta01.txt
new file mode 100644
index 0000000..f689efb
--- /dev/null
+++ b/wear/watchface/watchface-style/api/1.0.0-beta01.txt
@@ -0,0 +1,236 @@
+// Signature format: 4.0
+package androidx.wear.watchface.style {
+
+  public final class CurrentUserStyleRepository {
+    ctor public CurrentUserStyleRepository(androidx.wear.watchface.style.UserStyleSchema schema);
+    method public androidx.wear.watchface.style.UserStyleSchema getSchema();
+    method public kotlinx.coroutines.flow.StateFlow<androidx.wear.watchface.style.UserStyle> getUserStyle();
+    property public final androidx.wear.watchface.style.UserStyleSchema schema;
+    property public final kotlinx.coroutines.flow.StateFlow<androidx.wear.watchface.style.UserStyle> userStyle;
+  }
+
+  public final class MutableUserStyle implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.wear.watchface.style.UserStyleSetting,? extends androidx.wear.watchface.style.UserStyleSetting.Option>> kotlin.jvm.internal.markers.KMappedMarker {
+    method public operator androidx.wear.watchface.style.UserStyleSetting.Option? get(androidx.wear.watchface.style.UserStyleSetting setting);
+    method public operator androidx.wear.watchface.style.UserStyleSetting.Option? get(androidx.wear.watchface.style.UserStyleSetting.Id settingId);
+    method public int getSize();
+    method public java.util.Iterator<java.util.Map.Entry<androidx.wear.watchface.style.UserStyleSetting,androidx.wear.watchface.style.UserStyleSetting.Option>> iterator();
+    method public operator void set(androidx.wear.watchface.style.UserStyleSetting setting, androidx.wear.watchface.style.UserStyleSetting.Option option);
+    method public operator void set(androidx.wear.watchface.style.UserStyleSetting.Id settingId, androidx.wear.watchface.style.UserStyleSetting.Option option);
+    method public operator void set(androidx.wear.watchface.style.UserStyleSetting setting, androidx.wear.watchface.style.UserStyleSetting.Option.Id optionId);
+    method public operator void set(androidx.wear.watchface.style.UserStyleSetting.Id settingId, androidx.wear.watchface.style.UserStyleSetting.Option.Id optionId);
+    method public androidx.wear.watchface.style.UserStyle toUserStyle();
+    property public final int size;
+  }
+
+  public final class UserStyle implements kotlin.jvm.internal.markers.KMappedMarker java.util.Map<androidx.wear.watchface.style.UserStyleSetting,androidx.wear.watchface.style.UserStyleSetting.Option> {
+    ctor public UserStyle(androidx.wear.watchface.style.UserStyle userStyle);
+    ctor public UserStyle(java.util.Map<androidx.wear.watchface.style.UserStyleSetting,? extends androidx.wear.watchface.style.UserStyleSetting.Option> selectedOptions);
+    ctor public UserStyle(androidx.wear.watchface.style.UserStyleData userStyle, androidx.wear.watchface.style.UserStyleSchema styleSchema);
+    method public boolean containsKey(androidx.wear.watchface.style.UserStyleSetting key);
+    method public boolean containsValue(androidx.wear.watchface.style.UserStyleSetting.Option value);
+    method public operator androidx.wear.watchface.style.UserStyleSetting.Option? get(androidx.wear.watchface.style.UserStyleSetting key);
+    method public operator androidx.wear.watchface.style.UserStyleSetting.Option? get(androidx.wear.watchface.style.UserStyleSetting.Id settingId);
+    method public java.util.Set<java.util.Map.Entry<androidx.wear.watchface.style.UserStyleSetting,androidx.wear.watchface.style.UserStyleSetting.Option>> getEntries();
+    method public java.util.Set<androidx.wear.watchface.style.UserStyleSetting> getKeys();
+    method public int getSize();
+    method public java.util.Collection<androidx.wear.watchface.style.UserStyleSetting.Option> getValues();
+    method public boolean isEmpty();
+    method public androidx.wear.watchface.style.MutableUserStyle toMutableUserStyle();
+    method public androidx.wear.watchface.style.UserStyleData toUserStyleData();
+    property public java.util.Set<java.util.Map.Entry<androidx.wear.watchface.style.UserStyleSetting,androidx.wear.watchface.style.UserStyleSetting.Option>> entries;
+    property public java.util.Set<androidx.wear.watchface.style.UserStyleSetting> keys;
+    property public int size;
+    property public java.util.Collection<androidx.wear.watchface.style.UserStyleSetting.Option> values;
+  }
+
+  public final class UserStyleData {
+    ctor public UserStyleData(java.util.Map<java.lang.String,byte[]> userStyleMap);
+    method public java.util.Map<java.lang.String,byte[]> getUserStyleMap();
+    property public final java.util.Map<java.lang.String,byte[]> userStyleMap;
+  }
+
+  public final class UserStyleSchema {
+    ctor public UserStyleSchema(java.util.List<? extends androidx.wear.watchface.style.UserStyleSetting> userStyleSettings);
+    method public java.util.List<androidx.wear.watchface.style.UserStyleSetting> getUserStyleSettings();
+    property public final java.util.List<androidx.wear.watchface.style.UserStyleSetting> userStyleSettings;
+  }
+
+  public abstract sealed class UserStyleSetting {
+    method public final java.util.Collection<androidx.wear.watchface.style.WatchFaceLayer> getAffectedWatchFaceLayers();
+    method public final androidx.wear.watchface.style.UserStyleSetting.Option getDefaultOption();
+    method public final int getDefaultOptionIndex();
+    method public final CharSequence getDescription();
+    method public final CharSequence getDisplayName();
+    method public final android.graphics.drawable.Icon? getIcon();
+    method public final androidx.wear.watchface.style.UserStyleSetting.Id getId();
+    method public androidx.wear.watchface.style.UserStyleSetting.Option getOptionForId(androidx.wear.watchface.style.UserStyleSetting.Option.Id optionId);
+    method public final java.util.List<androidx.wear.watchface.style.UserStyleSetting.Option> getOptions();
+    property public final java.util.Collection<androidx.wear.watchface.style.WatchFaceLayer> affectedWatchFaceLayers;
+    property public final androidx.wear.watchface.style.UserStyleSetting.Option defaultOption;
+    property public final int defaultOptionIndex;
+    property public final CharSequence description;
+    property public final CharSequence displayName;
+    property public final android.graphics.drawable.Icon? icon;
+    property public final androidx.wear.watchface.style.UserStyleSetting.Id id;
+    property public final java.util.List<androidx.wear.watchface.style.UserStyleSetting.Option> options;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.Companion Companion;
+  }
+
+  public static final class UserStyleSetting.BooleanUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
+    ctor public UserStyleSetting.BooleanUserStyleSetting(androidx.wear.watchface.style.UserStyleSetting.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, @StringRes int descriptionResourceId, android.graphics.drawable.Icon? icon, java.util.Collection<? extends androidx.wear.watchface.style.WatchFaceLayer> affectsWatchFaceLayers, boolean defaultValue);
+    method public boolean getDefaultValue();
+  }
+
+  public static final class UserStyleSetting.BooleanUserStyleSetting.BooleanOption extends androidx.wear.watchface.style.UserStyleSetting.Option {
+    method public static androidx.wear.watchface.style.UserStyleSetting.BooleanUserStyleSetting.BooleanOption from(boolean value);
+    method public boolean getValue();
+    property public final boolean value;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.BooleanUserStyleSetting.BooleanOption.Companion Companion;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.BooleanUserStyleSetting.BooleanOption FALSE;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.BooleanUserStyleSetting.BooleanOption TRUE;
+  }
+
+  public static final class UserStyleSetting.BooleanUserStyleSetting.BooleanOption.Companion {
+    method public androidx.wear.watchface.style.UserStyleSetting.BooleanUserStyleSetting.BooleanOption from(boolean value);
+  }
+
+  public static final class UserStyleSetting.Companion {
+  }
+
+  public static final class UserStyleSetting.ComplicationSlotsUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
+    ctor public UserStyleSetting.ComplicationSlotsUserStyleSetting(androidx.wear.watchface.style.UserStyleSetting.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, @StringRes int descriptionResourceId, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption> complicationConfig, java.util.Collection<? extends androidx.wear.watchface.style.WatchFaceLayer> affectsWatchFaceLayers, optional androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption defaultOption);
+  }
+
+  public static final class UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay {
+    ctor public UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay(int complicationSlotId, optional Boolean? enabled, optional androidx.wear.watchface.complications.ComplicationSlotBounds? complicationSlotBounds, optional Integer? accessibilityTraversalIndex);
+    method public Integer? getAccessibilityTraversalIndex();
+    method public androidx.wear.watchface.complications.ComplicationSlotBounds? getComplicationSlotBounds();
+    method public int getComplicationSlotId();
+    method public Boolean? getEnabled();
+    property public final Integer? accessibilityTraversalIndex;
+    property public final androidx.wear.watchface.complications.ComplicationSlotBounds? complicationSlotBounds;
+    property public final int complicationSlotId;
+    property public final Boolean? enabled;
+  }
+
+  public static final class UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay.Builder {
+    ctor public UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay.Builder(int complicationSlotId);
+    method public androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay build();
+    method public androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay.Builder setAccessibilityTraversalIndex(int accessibilityTraversalIndex);
+    method public androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay.Builder setComplicationSlotBounds(androidx.wear.watchface.complications.ComplicationSlotBounds complicationSlotBounds);
+    method public androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay.Builder setEnabled(boolean enabled);
+  }
+
+  public static final class UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption extends androidx.wear.watchface.style.UserStyleSetting.Option {
+    ctor public UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption(androidx.wear.watchface.style.UserStyleSetting.Option.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, android.graphics.drawable.Icon? icon, java.util.Collection<androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay> complicationSlotOverlays);
+    method public java.util.Collection<androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay> getComplicationSlotOverlays();
+    method public CharSequence getDisplayName();
+    method public android.graphics.drawable.Icon? getIcon();
+    property public final java.util.Collection<androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay> complicationSlotOverlays;
+    property public final CharSequence displayName;
+    property public final android.graphics.drawable.Icon? icon;
+  }
+
+  public static final class UserStyleSetting.CustomValueUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
+    ctor public UserStyleSetting.CustomValueUserStyleSetting(java.util.Collection<? extends androidx.wear.watchface.style.WatchFaceLayer> affectsWatchFaceLayers, byte[] defaultValue);
+  }
+
+  public static final class UserStyleSetting.CustomValueUserStyleSetting.CustomValueOption extends androidx.wear.watchface.style.UserStyleSetting.Option {
+    ctor public UserStyleSetting.CustomValueUserStyleSetting.CustomValueOption(byte[] customValue);
+    method public byte[] getCustomValue();
+    property public final byte[] customValue;
+  }
+
+  public static final class UserStyleSetting.DoubleRangeUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
+    ctor public UserStyleSetting.DoubleRangeUserStyleSetting(androidx.wear.watchface.style.UserStyleSetting.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, @StringRes int descriptionResourceId, android.graphics.drawable.Icon? icon, double minimumValue, double maximumValue, java.util.Collection<? extends androidx.wear.watchface.style.WatchFaceLayer> affectsWatchFaceLayers, double defaultValue);
+    method public double getDefaultValue();
+    method public double getMaximumValue();
+    method public double getMinimumValue();
+    property public final double defaultValue;
+    property public final double maximumValue;
+    property public final double minimumValue;
+  }
+
+  public static final class UserStyleSetting.DoubleRangeUserStyleSetting.DoubleRangeOption extends androidx.wear.watchface.style.UserStyleSetting.Option {
+    ctor public UserStyleSetting.DoubleRangeUserStyleSetting.DoubleRangeOption(double value);
+    method public double getValue();
+    property public final double value;
+  }
+
+  public static final class UserStyleSetting.Id {
+    ctor public UserStyleSetting.Id(String value);
+    method public String getValue();
+    property public final String value;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.Id.Companion Companion;
+    field public static final int MAX_LENGTH = 40; // 0x28
+  }
+
+  public static final class UserStyleSetting.Id.Companion {
+  }
+
+  public static class UserStyleSetting.ListUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
+    ctor public UserStyleSetting.ListUserStyleSetting(androidx.wear.watchface.style.UserStyleSetting.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, @StringRes int descriptionResourceId, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption> options, java.util.Collection<? extends androidx.wear.watchface.style.WatchFaceLayer> affectsWatchFaceLayers, optional androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption defaultOption);
+  }
+
+  public static final class UserStyleSetting.ListUserStyleSetting.ListOption extends androidx.wear.watchface.style.UserStyleSetting.Option {
+    ctor public UserStyleSetting.ListUserStyleSetting.ListOption(androidx.wear.watchface.style.UserStyleSetting.Option.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, android.graphics.drawable.Icon? icon);
+    method public CharSequence getDisplayName();
+    method public android.graphics.drawable.Icon? getIcon();
+    property public final CharSequence displayName;
+    property public final android.graphics.drawable.Icon? icon;
+  }
+
+  public static final class UserStyleSetting.LongRangeUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
+    ctor public UserStyleSetting.LongRangeUserStyleSetting(androidx.wear.watchface.style.UserStyleSetting.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, @StringRes int descriptionResourceId, android.graphics.drawable.Icon? icon, long minimumValue, long maximumValue, java.util.Collection<? extends androidx.wear.watchface.style.WatchFaceLayer> affectsWatchFaceLayers, long defaultValue);
+    method public long getDefaultValue();
+    method public long getMaximumValue();
+    method public long getMinimumValue();
+    property public final long defaultValue;
+    property public final long maximumValue;
+    property public final long minimumValue;
+  }
+
+  public static final class UserStyleSetting.LongRangeUserStyleSetting.LongRangeOption extends androidx.wear.watchface.style.UserStyleSetting.Option {
+    ctor public UserStyleSetting.LongRangeUserStyleSetting.LongRangeOption(long value);
+    method public long getValue();
+    property public final long value;
+  }
+
+  public abstract static class UserStyleSetting.Option {
+    ctor public UserStyleSetting.Option(androidx.wear.watchface.style.UserStyleSetting.Option.Id id);
+    method public final androidx.wear.watchface.style.UserStyleSetting.Option.Id getId();
+    property public final androidx.wear.watchface.style.UserStyleSetting.Option.Id id;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.Option.Companion Companion;
+  }
+
+  public static final class UserStyleSetting.Option.Companion {
+  }
+
+  public static final class UserStyleSetting.Option.Id {
+    ctor public UserStyleSetting.Option.Id(byte[] value);
+    ctor public UserStyleSetting.Option.Id(String value);
+    method public byte[] getValue();
+    property public final byte[] value;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.Option.Id.Companion Companion;
+    field public static final int MAX_LENGTH = 1024; // 0x400
+  }
+
+  public static final class UserStyleSetting.Option.Id.Companion {
+  }
+
+  public final class UserStyleSettingKt {
+  }
+
+  public enum WatchFaceLayer {
+    enum_constant public static final androidx.wear.watchface.style.WatchFaceLayer BASE;
+    enum_constant public static final androidx.wear.watchface.style.WatchFaceLayer COMPLICATIONS;
+    enum_constant public static final androidx.wear.watchface.style.WatchFaceLayer COMPLICATIONS_OVERLAY;
+    field public static final java.util.Set<androidx.wear.watchface.style.WatchFaceLayer> ALL_WATCH_FACE_LAYERS;
+    field public static final androidx.wear.watchface.style.WatchFaceLayer.Companion Companion;
+  }
+
+  public static final class WatchFaceLayer.Companion {
+  }
+
+}
+
diff --git a/wear/watchface/watchface-style/api/public_plus_experimental_1.0.0-beta01.txt b/wear/watchface/watchface-style/api/public_plus_experimental_1.0.0-beta01.txt
new file mode 100644
index 0000000..f689efb
--- /dev/null
+++ b/wear/watchface/watchface-style/api/public_plus_experimental_1.0.0-beta01.txt
@@ -0,0 +1,236 @@
+// Signature format: 4.0
+package androidx.wear.watchface.style {
+
+  public final class CurrentUserStyleRepository {
+    ctor public CurrentUserStyleRepository(androidx.wear.watchface.style.UserStyleSchema schema);
+    method public androidx.wear.watchface.style.UserStyleSchema getSchema();
+    method public kotlinx.coroutines.flow.StateFlow<androidx.wear.watchface.style.UserStyle> getUserStyle();
+    property public final androidx.wear.watchface.style.UserStyleSchema schema;
+    property public final kotlinx.coroutines.flow.StateFlow<androidx.wear.watchface.style.UserStyle> userStyle;
+  }
+
+  public final class MutableUserStyle implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.wear.watchface.style.UserStyleSetting,? extends androidx.wear.watchface.style.UserStyleSetting.Option>> kotlin.jvm.internal.markers.KMappedMarker {
+    method public operator androidx.wear.watchface.style.UserStyleSetting.Option? get(androidx.wear.watchface.style.UserStyleSetting setting);
+    method public operator androidx.wear.watchface.style.UserStyleSetting.Option? get(androidx.wear.watchface.style.UserStyleSetting.Id settingId);
+    method public int getSize();
+    method public java.util.Iterator<java.util.Map.Entry<androidx.wear.watchface.style.UserStyleSetting,androidx.wear.watchface.style.UserStyleSetting.Option>> iterator();
+    method public operator void set(androidx.wear.watchface.style.UserStyleSetting setting, androidx.wear.watchface.style.UserStyleSetting.Option option);
+    method public operator void set(androidx.wear.watchface.style.UserStyleSetting.Id settingId, androidx.wear.watchface.style.UserStyleSetting.Option option);
+    method public operator void set(androidx.wear.watchface.style.UserStyleSetting setting, androidx.wear.watchface.style.UserStyleSetting.Option.Id optionId);
+    method public operator void set(androidx.wear.watchface.style.UserStyleSetting.Id settingId, androidx.wear.watchface.style.UserStyleSetting.Option.Id optionId);
+    method public androidx.wear.watchface.style.UserStyle toUserStyle();
+    property public final int size;
+  }
+
+  public final class UserStyle implements kotlin.jvm.internal.markers.KMappedMarker java.util.Map<androidx.wear.watchface.style.UserStyleSetting,androidx.wear.watchface.style.UserStyleSetting.Option> {
+    ctor public UserStyle(androidx.wear.watchface.style.UserStyle userStyle);
+    ctor public UserStyle(java.util.Map<androidx.wear.watchface.style.UserStyleSetting,? extends androidx.wear.watchface.style.UserStyleSetting.Option> selectedOptions);
+    ctor public UserStyle(androidx.wear.watchface.style.UserStyleData userStyle, androidx.wear.watchface.style.UserStyleSchema styleSchema);
+    method public boolean containsKey(androidx.wear.watchface.style.UserStyleSetting key);
+    method public boolean containsValue(androidx.wear.watchface.style.UserStyleSetting.Option value);
+    method public operator androidx.wear.watchface.style.UserStyleSetting.Option? get(androidx.wear.watchface.style.UserStyleSetting key);
+    method public operator androidx.wear.watchface.style.UserStyleSetting.Option? get(androidx.wear.watchface.style.UserStyleSetting.Id settingId);
+    method public java.util.Set<java.util.Map.Entry<androidx.wear.watchface.style.UserStyleSetting,androidx.wear.watchface.style.UserStyleSetting.Option>> getEntries();
+    method public java.util.Set<androidx.wear.watchface.style.UserStyleSetting> getKeys();
+    method public int getSize();
+    method public java.util.Collection<androidx.wear.watchface.style.UserStyleSetting.Option> getValues();
+    method public boolean isEmpty();
+    method public androidx.wear.watchface.style.MutableUserStyle toMutableUserStyle();
+    method public androidx.wear.watchface.style.UserStyleData toUserStyleData();
+    property public java.util.Set<java.util.Map.Entry<androidx.wear.watchface.style.UserStyleSetting,androidx.wear.watchface.style.UserStyleSetting.Option>> entries;
+    property public java.util.Set<androidx.wear.watchface.style.UserStyleSetting> keys;
+    property public int size;
+    property public java.util.Collection<androidx.wear.watchface.style.UserStyleSetting.Option> values;
+  }
+
+  public final class UserStyleData {
+    ctor public UserStyleData(java.util.Map<java.lang.String,byte[]> userStyleMap);
+    method public java.util.Map<java.lang.String,byte[]> getUserStyleMap();
+    property public final java.util.Map<java.lang.String,byte[]> userStyleMap;
+  }
+
+  public final class UserStyleSchema {
+    ctor public UserStyleSchema(java.util.List<? extends androidx.wear.watchface.style.UserStyleSetting> userStyleSettings);
+    method public java.util.List<androidx.wear.watchface.style.UserStyleSetting> getUserStyleSettings();
+    property public final java.util.List<androidx.wear.watchface.style.UserStyleSetting> userStyleSettings;
+  }
+
+  public abstract sealed class UserStyleSetting {
+    method public final java.util.Collection<androidx.wear.watchface.style.WatchFaceLayer> getAffectedWatchFaceLayers();
+    method public final androidx.wear.watchface.style.UserStyleSetting.Option getDefaultOption();
+    method public final int getDefaultOptionIndex();
+    method public final CharSequence getDescription();
+    method public final CharSequence getDisplayName();
+    method public final android.graphics.drawable.Icon? getIcon();
+    method public final androidx.wear.watchface.style.UserStyleSetting.Id getId();
+    method public androidx.wear.watchface.style.UserStyleSetting.Option getOptionForId(androidx.wear.watchface.style.UserStyleSetting.Option.Id optionId);
+    method public final java.util.List<androidx.wear.watchface.style.UserStyleSetting.Option> getOptions();
+    property public final java.util.Collection<androidx.wear.watchface.style.WatchFaceLayer> affectedWatchFaceLayers;
+    property public final androidx.wear.watchface.style.UserStyleSetting.Option defaultOption;
+    property public final int defaultOptionIndex;
+    property public final CharSequence description;
+    property public final CharSequence displayName;
+    property public final android.graphics.drawable.Icon? icon;
+    property public final androidx.wear.watchface.style.UserStyleSetting.Id id;
+    property public final java.util.List<androidx.wear.watchface.style.UserStyleSetting.Option> options;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.Companion Companion;
+  }
+
+  public static final class UserStyleSetting.BooleanUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
+    ctor public UserStyleSetting.BooleanUserStyleSetting(androidx.wear.watchface.style.UserStyleSetting.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, @StringRes int descriptionResourceId, android.graphics.drawable.Icon? icon, java.util.Collection<? extends androidx.wear.watchface.style.WatchFaceLayer> affectsWatchFaceLayers, boolean defaultValue);
+    method public boolean getDefaultValue();
+  }
+
+  public static final class UserStyleSetting.BooleanUserStyleSetting.BooleanOption extends androidx.wear.watchface.style.UserStyleSetting.Option {
+    method public static androidx.wear.watchface.style.UserStyleSetting.BooleanUserStyleSetting.BooleanOption from(boolean value);
+    method public boolean getValue();
+    property public final boolean value;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.BooleanUserStyleSetting.BooleanOption.Companion Companion;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.BooleanUserStyleSetting.BooleanOption FALSE;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.BooleanUserStyleSetting.BooleanOption TRUE;
+  }
+
+  public static final class UserStyleSetting.BooleanUserStyleSetting.BooleanOption.Companion {
+    method public androidx.wear.watchface.style.UserStyleSetting.BooleanUserStyleSetting.BooleanOption from(boolean value);
+  }
+
+  public static final class UserStyleSetting.Companion {
+  }
+
+  public static final class UserStyleSetting.ComplicationSlotsUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
+    ctor public UserStyleSetting.ComplicationSlotsUserStyleSetting(androidx.wear.watchface.style.UserStyleSetting.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, @StringRes int descriptionResourceId, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption> complicationConfig, java.util.Collection<? extends androidx.wear.watchface.style.WatchFaceLayer> affectsWatchFaceLayers, optional androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption defaultOption);
+  }
+
+  public static final class UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay {
+    ctor public UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay(int complicationSlotId, optional Boolean? enabled, optional androidx.wear.watchface.complications.ComplicationSlotBounds? complicationSlotBounds, optional Integer? accessibilityTraversalIndex);
+    method public Integer? getAccessibilityTraversalIndex();
+    method public androidx.wear.watchface.complications.ComplicationSlotBounds? getComplicationSlotBounds();
+    method public int getComplicationSlotId();
+    method public Boolean? getEnabled();
+    property public final Integer? accessibilityTraversalIndex;
+    property public final androidx.wear.watchface.complications.ComplicationSlotBounds? complicationSlotBounds;
+    property public final int complicationSlotId;
+    property public final Boolean? enabled;
+  }
+
+  public static final class UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay.Builder {
+    ctor public UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay.Builder(int complicationSlotId);
+    method public androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay build();
+    method public androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay.Builder setAccessibilityTraversalIndex(int accessibilityTraversalIndex);
+    method public androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay.Builder setComplicationSlotBounds(androidx.wear.watchface.complications.ComplicationSlotBounds complicationSlotBounds);
+    method public androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay.Builder setEnabled(boolean enabled);
+  }
+
+  public static final class UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption extends androidx.wear.watchface.style.UserStyleSetting.Option {
+    ctor public UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption(androidx.wear.watchface.style.UserStyleSetting.Option.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, android.graphics.drawable.Icon? icon, java.util.Collection<androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay> complicationSlotOverlays);
+    method public java.util.Collection<androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay> getComplicationSlotOverlays();
+    method public CharSequence getDisplayName();
+    method public android.graphics.drawable.Icon? getIcon();
+    property public final java.util.Collection<androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay> complicationSlotOverlays;
+    property public final CharSequence displayName;
+    property public final android.graphics.drawable.Icon? icon;
+  }
+
+  public static final class UserStyleSetting.CustomValueUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
+    ctor public UserStyleSetting.CustomValueUserStyleSetting(java.util.Collection<? extends androidx.wear.watchface.style.WatchFaceLayer> affectsWatchFaceLayers, byte[] defaultValue);
+  }
+
+  public static final class UserStyleSetting.CustomValueUserStyleSetting.CustomValueOption extends androidx.wear.watchface.style.UserStyleSetting.Option {
+    ctor public UserStyleSetting.CustomValueUserStyleSetting.CustomValueOption(byte[] customValue);
+    method public byte[] getCustomValue();
+    property public final byte[] customValue;
+  }
+
+  public static final class UserStyleSetting.DoubleRangeUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
+    ctor public UserStyleSetting.DoubleRangeUserStyleSetting(androidx.wear.watchface.style.UserStyleSetting.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, @StringRes int descriptionResourceId, android.graphics.drawable.Icon? icon, double minimumValue, double maximumValue, java.util.Collection<? extends androidx.wear.watchface.style.WatchFaceLayer> affectsWatchFaceLayers, double defaultValue);
+    method public double getDefaultValue();
+    method public double getMaximumValue();
+    method public double getMinimumValue();
+    property public final double defaultValue;
+    property public final double maximumValue;
+    property public final double minimumValue;
+  }
+
+  public static final class UserStyleSetting.DoubleRangeUserStyleSetting.DoubleRangeOption extends androidx.wear.watchface.style.UserStyleSetting.Option {
+    ctor public UserStyleSetting.DoubleRangeUserStyleSetting.DoubleRangeOption(double value);
+    method public double getValue();
+    property public final double value;
+  }
+
+  public static final class UserStyleSetting.Id {
+    ctor public UserStyleSetting.Id(String value);
+    method public String getValue();
+    property public final String value;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.Id.Companion Companion;
+    field public static final int MAX_LENGTH = 40; // 0x28
+  }
+
+  public static final class UserStyleSetting.Id.Companion {
+  }
+
+  public static class UserStyleSetting.ListUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
+    ctor public UserStyleSetting.ListUserStyleSetting(androidx.wear.watchface.style.UserStyleSetting.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, @StringRes int descriptionResourceId, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption> options, java.util.Collection<? extends androidx.wear.watchface.style.WatchFaceLayer> affectsWatchFaceLayers, optional androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption defaultOption);
+  }
+
+  public static final class UserStyleSetting.ListUserStyleSetting.ListOption extends androidx.wear.watchface.style.UserStyleSetting.Option {
+    ctor public UserStyleSetting.ListUserStyleSetting.ListOption(androidx.wear.watchface.style.UserStyleSetting.Option.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, android.graphics.drawable.Icon? icon);
+    method public CharSequence getDisplayName();
+    method public android.graphics.drawable.Icon? getIcon();
+    property public final CharSequence displayName;
+    property public final android.graphics.drawable.Icon? icon;
+  }
+
+  public static final class UserStyleSetting.LongRangeUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
+    ctor public UserStyleSetting.LongRangeUserStyleSetting(androidx.wear.watchface.style.UserStyleSetting.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, @StringRes int descriptionResourceId, android.graphics.drawable.Icon? icon, long minimumValue, long maximumValue, java.util.Collection<? extends androidx.wear.watchface.style.WatchFaceLayer> affectsWatchFaceLayers, long defaultValue);
+    method public long getDefaultValue();
+    method public long getMaximumValue();
+    method public long getMinimumValue();
+    property public final long defaultValue;
+    property public final long maximumValue;
+    property public final long minimumValue;
+  }
+
+  public static final class UserStyleSetting.LongRangeUserStyleSetting.LongRangeOption extends androidx.wear.watchface.style.UserStyleSetting.Option {
+    ctor public UserStyleSetting.LongRangeUserStyleSetting.LongRangeOption(long value);
+    method public long getValue();
+    property public final long value;
+  }
+
+  public abstract static class UserStyleSetting.Option {
+    ctor public UserStyleSetting.Option(androidx.wear.watchface.style.UserStyleSetting.Option.Id id);
+    method public final androidx.wear.watchface.style.UserStyleSetting.Option.Id getId();
+    property public final androidx.wear.watchface.style.UserStyleSetting.Option.Id id;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.Option.Companion Companion;
+  }
+
+  public static final class UserStyleSetting.Option.Companion {
+  }
+
+  public static final class UserStyleSetting.Option.Id {
+    ctor public UserStyleSetting.Option.Id(byte[] value);
+    ctor public UserStyleSetting.Option.Id(String value);
+    method public byte[] getValue();
+    property public final byte[] value;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.Option.Id.Companion Companion;
+    field public static final int MAX_LENGTH = 1024; // 0x400
+  }
+
+  public static final class UserStyleSetting.Option.Id.Companion {
+  }
+
+  public final class UserStyleSettingKt {
+  }
+
+  public enum WatchFaceLayer {
+    enum_constant public static final androidx.wear.watchface.style.WatchFaceLayer BASE;
+    enum_constant public static final androidx.wear.watchface.style.WatchFaceLayer COMPLICATIONS;
+    enum_constant public static final androidx.wear.watchface.style.WatchFaceLayer COMPLICATIONS_OVERLAY;
+    field public static final java.util.Set<androidx.wear.watchface.style.WatchFaceLayer> ALL_WATCH_FACE_LAYERS;
+    field public static final androidx.wear.watchface.style.WatchFaceLayer.Companion Companion;
+  }
+
+  public static final class WatchFaceLayer.Companion {
+  }
+
+}
+
diff --git a/wear/watchface/watchface-style/api/res-1.0.0-beta01.txt b/wear/watchface/watchface-style/api/res-1.0.0-beta01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wear/watchface/watchface-style/api/res-1.0.0-beta01.txt
diff --git a/wear/watchface/watchface-style/api/restricted_1.0.0-beta01.txt b/wear/watchface/watchface-style/api/restricted_1.0.0-beta01.txt
new file mode 100644
index 0000000..028cc3d
--- /dev/null
+++ b/wear/watchface/watchface-style/api/restricted_1.0.0-beta01.txt
@@ -0,0 +1,257 @@
+// Signature format: 4.0
+package androidx.wear.watchface.style {
+
+  public final class CurrentUserStyleRepository {
+    ctor public CurrentUserStyleRepository(androidx.wear.watchface.style.UserStyleSchema schema);
+    method public androidx.wear.watchface.style.UserStyleSchema getSchema();
+    method public kotlinx.coroutines.flow.StateFlow<androidx.wear.watchface.style.UserStyle> getUserStyle();
+    property public final androidx.wear.watchface.style.UserStyleSchema schema;
+    property public final kotlinx.coroutines.flow.StateFlow<androidx.wear.watchface.style.UserStyle> userStyle;
+  }
+
+  public final class MutableUserStyle implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.wear.watchface.style.UserStyleSetting,? extends androidx.wear.watchface.style.UserStyleSetting.Option>> kotlin.jvm.internal.markers.KMappedMarker {
+    method public operator androidx.wear.watchface.style.UserStyleSetting.Option? get(androidx.wear.watchface.style.UserStyleSetting setting);
+    method public operator androidx.wear.watchface.style.UserStyleSetting.Option? get(androidx.wear.watchface.style.UserStyleSetting.Id settingId);
+    method public int getSize();
+    method public java.util.Iterator<java.util.Map.Entry<androidx.wear.watchface.style.UserStyleSetting,androidx.wear.watchface.style.UserStyleSetting.Option>> iterator();
+    method public operator void set(androidx.wear.watchface.style.UserStyleSetting setting, androidx.wear.watchface.style.UserStyleSetting.Option option);
+    method public operator void set(androidx.wear.watchface.style.UserStyleSetting.Id settingId, androidx.wear.watchface.style.UserStyleSetting.Option option);
+    method public operator void set(androidx.wear.watchface.style.UserStyleSetting setting, androidx.wear.watchface.style.UserStyleSetting.Option.Id optionId);
+    method public operator void set(androidx.wear.watchface.style.UserStyleSetting.Id settingId, androidx.wear.watchface.style.UserStyleSetting.Option.Id optionId);
+    method public androidx.wear.watchface.style.UserStyle toUserStyle();
+    property public final int size;
+  }
+
+  public final class UserStyle implements kotlin.jvm.internal.markers.KMappedMarker java.util.Map<androidx.wear.watchface.style.UserStyleSetting,androidx.wear.watchface.style.UserStyleSetting.Option> {
+    ctor public UserStyle(androidx.wear.watchface.style.UserStyle userStyle);
+    ctor public UserStyle(java.util.Map<androidx.wear.watchface.style.UserStyleSetting,? extends androidx.wear.watchface.style.UserStyleSetting.Option> selectedOptions);
+    ctor public UserStyle(androidx.wear.watchface.style.UserStyleData userStyle, androidx.wear.watchface.style.UserStyleSchema styleSchema);
+    method public boolean containsKey(androidx.wear.watchface.style.UserStyleSetting key);
+    method public boolean containsValue(androidx.wear.watchface.style.UserStyleSetting.Option value);
+    method public operator androidx.wear.watchface.style.UserStyleSetting.Option? get(androidx.wear.watchface.style.UserStyleSetting key);
+    method public operator androidx.wear.watchface.style.UserStyleSetting.Option? get(androidx.wear.watchface.style.UserStyleSetting.Id settingId);
+    method public java.util.Set<java.util.Map.Entry<androidx.wear.watchface.style.UserStyleSetting,androidx.wear.watchface.style.UserStyleSetting.Option>> getEntries();
+    method public java.util.Set<androidx.wear.watchface.style.UserStyleSetting> getKeys();
+    method public int getSize();
+    method public java.util.Collection<androidx.wear.watchface.style.UserStyleSetting.Option> getValues();
+    method public boolean isEmpty();
+    method public androidx.wear.watchface.style.MutableUserStyle toMutableUserStyle();
+    method public androidx.wear.watchface.style.UserStyleData toUserStyleData();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.data.UserStyleWireFormat toWireFormat();
+    property public java.util.Set<java.util.Map.Entry<androidx.wear.watchface.style.UserStyleSetting,androidx.wear.watchface.style.UserStyleSetting.Option>> entries;
+    property public java.util.Set<androidx.wear.watchface.style.UserStyleSetting> keys;
+    property public int size;
+    property public java.util.Collection<androidx.wear.watchface.style.UserStyleSetting.Option> values;
+  }
+
+  public final class UserStyleData {
+    ctor public UserStyleData(java.util.Map<java.lang.String,byte[]> userStyleMap);
+    ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public UserStyleData(androidx.wear.watchface.style.data.UserStyleWireFormat userStyle);
+    method public java.util.Map<java.lang.String,byte[]> getUserStyleMap();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.data.UserStyleWireFormat toWireFormat();
+    property public final java.util.Map<java.lang.String,byte[]> userStyleMap;
+  }
+
+  public final class UserStyleSchema {
+    ctor public UserStyleSchema(java.util.List<? extends androidx.wear.watchface.style.UserStyleSetting> userStyleSettings);
+    ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public UserStyleSchema(androidx.wear.watchface.style.data.UserStyleSchemaWireFormat wireFormat);
+    method public java.util.List<androidx.wear.watchface.style.UserStyleSetting> getUserStyleSettings();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.data.UserStyleSchemaWireFormat toWireFormat();
+    property public final java.util.List<androidx.wear.watchface.style.UserStyleSetting> userStyleSettings;
+  }
+
+  public abstract sealed class UserStyleSetting {
+    method public final java.util.Collection<androidx.wear.watchface.style.WatchFaceLayer> getAffectedWatchFaceLayers();
+    method public final androidx.wear.watchface.style.UserStyleSetting.Option getDefaultOption();
+    method public final int getDefaultOptionIndex();
+    method public final CharSequence getDescription();
+    method public final CharSequence getDisplayName();
+    method public final android.graphics.drawable.Icon? getIcon();
+    method public final androidx.wear.watchface.style.UserStyleSetting.Id getId();
+    method public androidx.wear.watchface.style.UserStyleSetting.Option getOptionForId(androidx.wear.watchface.style.UserStyleSetting.Option.Id optionId);
+    method public final java.util.List<androidx.wear.watchface.style.UserStyleSetting.Option> getOptions();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final java.util.List<androidx.wear.watchface.style.data.OptionWireFormat> getWireFormatOptionsList();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract androidx.wear.watchface.style.data.UserStyleSettingWireFormat toWireFormat();
+    property public final java.util.Collection<androidx.wear.watchface.style.WatchFaceLayer> affectedWatchFaceLayers;
+    property public final androidx.wear.watchface.style.UserStyleSetting.Option defaultOption;
+    property public final int defaultOptionIndex;
+    property public final CharSequence description;
+    property public final CharSequence displayName;
+    property public final android.graphics.drawable.Icon? icon;
+    property public final androidx.wear.watchface.style.UserStyleSetting.Id id;
+    property public final java.util.List<androidx.wear.watchface.style.UserStyleSetting.Option> options;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.Companion Companion;
+  }
+
+  public static final class UserStyleSetting.BooleanUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
+    ctor public UserStyleSetting.BooleanUserStyleSetting(androidx.wear.watchface.style.UserStyleSetting.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, @StringRes int descriptionResourceId, android.graphics.drawable.Icon? icon, java.util.Collection<? extends androidx.wear.watchface.style.WatchFaceLayer> affectsWatchFaceLayers, boolean defaultValue);
+    method public boolean getDefaultValue();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.data.BooleanUserStyleSettingWireFormat toWireFormat();
+  }
+
+  public static final class UserStyleSetting.BooleanUserStyleSetting.BooleanOption extends androidx.wear.watchface.style.UserStyleSetting.Option {
+    method public static androidx.wear.watchface.style.UserStyleSetting.BooleanUserStyleSetting.BooleanOption from(boolean value);
+    method public boolean getValue();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.data.BooleanOptionWireFormat toWireFormat();
+    property public final boolean value;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.BooleanUserStyleSetting.BooleanOption.Companion Companion;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.BooleanUserStyleSetting.BooleanOption FALSE;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.BooleanUserStyleSetting.BooleanOption TRUE;
+  }
+
+  public static final class UserStyleSetting.BooleanUserStyleSetting.BooleanOption.Companion {
+    method public androidx.wear.watchface.style.UserStyleSetting.BooleanUserStyleSetting.BooleanOption from(boolean value);
+  }
+
+  public static final class UserStyleSetting.Companion {
+  }
+
+  public static final class UserStyleSetting.ComplicationSlotsUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
+    ctor public UserStyleSetting.ComplicationSlotsUserStyleSetting(androidx.wear.watchface.style.UserStyleSetting.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, @StringRes int descriptionResourceId, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption> complicationConfig, java.util.Collection<? extends androidx.wear.watchface.style.WatchFaceLayer> affectsWatchFaceLayers, optional androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption defaultOption);
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.data.ComplicationsUserStyleSettingWireFormat toWireFormat();
+  }
+
+  public static final class UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay {
+    ctor public UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay(int complicationSlotId, optional Boolean? enabled, optional androidx.wear.watchface.complications.ComplicationSlotBounds? complicationSlotBounds, optional Integer? accessibilityTraversalIndex);
+    method public Integer? getAccessibilityTraversalIndex();
+    method public androidx.wear.watchface.complications.ComplicationSlotBounds? getComplicationSlotBounds();
+    method public int getComplicationSlotId();
+    method public Boolean? getEnabled();
+    property public final Integer? accessibilityTraversalIndex;
+    property public final androidx.wear.watchface.complications.ComplicationSlotBounds? complicationSlotBounds;
+    property public final int complicationSlotId;
+    property public final Boolean? enabled;
+  }
+
+  public static final class UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay.Builder {
+    ctor public UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay.Builder(int complicationSlotId);
+    method public androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay build();
+    method public androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay.Builder setAccessibilityTraversalIndex(int accessibilityTraversalIndex);
+    method public androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay.Builder setComplicationSlotBounds(androidx.wear.watchface.complications.ComplicationSlotBounds complicationSlotBounds);
+    method public androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay.Builder setEnabled(boolean enabled);
+  }
+
+  public static final class UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption extends androidx.wear.watchface.style.UserStyleSetting.Option {
+    ctor public UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption(androidx.wear.watchface.style.UserStyleSetting.Option.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, android.graphics.drawable.Icon? icon, java.util.Collection<androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay> complicationSlotOverlays);
+    method public java.util.Collection<androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay> getComplicationSlotOverlays();
+    method public CharSequence getDisplayName();
+    method public android.graphics.drawable.Icon? getIcon();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.data.ComplicationsOptionWireFormat toWireFormat();
+    property public final java.util.Collection<androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay> complicationSlotOverlays;
+    property public final CharSequence displayName;
+    property public final android.graphics.drawable.Icon? icon;
+  }
+
+  public static final class UserStyleSetting.CustomValueUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
+    ctor public UserStyleSetting.CustomValueUserStyleSetting(java.util.Collection<? extends androidx.wear.watchface.style.WatchFaceLayer> affectsWatchFaceLayers, byte[] defaultValue);
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.data.CustomValueUserStyleSettingWireFormat toWireFormat();
+  }
+
+  public static final class UserStyleSetting.CustomValueUserStyleSetting.CustomValueOption extends androidx.wear.watchface.style.UserStyleSetting.Option {
+    ctor public UserStyleSetting.CustomValueUserStyleSetting.CustomValueOption(byte[] customValue);
+    method public byte[] getCustomValue();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.data.CustomValueOptionWireFormat toWireFormat();
+    property public final byte[] customValue;
+  }
+
+  public static final class UserStyleSetting.DoubleRangeUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
+    ctor public UserStyleSetting.DoubleRangeUserStyleSetting(androidx.wear.watchface.style.UserStyleSetting.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, @StringRes int descriptionResourceId, android.graphics.drawable.Icon? icon, double minimumValue, double maximumValue, java.util.Collection<? extends androidx.wear.watchface.style.WatchFaceLayer> affectsWatchFaceLayers, double defaultValue);
+    method public double getDefaultValue();
+    method public double getMaximumValue();
+    method public double getMinimumValue();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.data.DoubleRangeUserStyleSettingWireFormat toWireFormat();
+    property public final double defaultValue;
+    property public final double maximumValue;
+    property public final double minimumValue;
+  }
+
+  public static final class UserStyleSetting.DoubleRangeUserStyleSetting.DoubleRangeOption extends androidx.wear.watchface.style.UserStyleSetting.Option {
+    ctor public UserStyleSetting.DoubleRangeUserStyleSetting.DoubleRangeOption(double value);
+    method public double getValue();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.data.DoubleRangeOptionWireFormat toWireFormat();
+    property public final double value;
+  }
+
+  public static final class UserStyleSetting.Id {
+    ctor public UserStyleSetting.Id(String value);
+    method public String getValue();
+    property public final String value;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.Id.Companion Companion;
+    field public static final int MAX_LENGTH = 40; // 0x28
+  }
+
+  public static final class UserStyleSetting.Id.Companion {
+  }
+
+  public static class UserStyleSetting.ListUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
+    ctor public UserStyleSetting.ListUserStyleSetting(androidx.wear.watchface.style.UserStyleSetting.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, @StringRes int descriptionResourceId, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption> options, java.util.Collection<? extends androidx.wear.watchface.style.WatchFaceLayer> affectsWatchFaceLayers, optional androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption defaultOption);
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.data.ListUserStyleSettingWireFormat toWireFormat();
+  }
+
+  public static final class UserStyleSetting.ListUserStyleSetting.ListOption extends androidx.wear.watchface.style.UserStyleSetting.Option {
+    ctor public UserStyleSetting.ListUserStyleSetting.ListOption(androidx.wear.watchface.style.UserStyleSetting.Option.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, android.graphics.drawable.Icon? icon);
+    method public CharSequence getDisplayName();
+    method public android.graphics.drawable.Icon? getIcon();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.data.ListOptionWireFormat toWireFormat();
+    property public final CharSequence displayName;
+    property public final android.graphics.drawable.Icon? icon;
+  }
+
+  public static final class UserStyleSetting.LongRangeUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
+    ctor public UserStyleSetting.LongRangeUserStyleSetting(androidx.wear.watchface.style.UserStyleSetting.Id id, android.content.res.Resources resources, @StringRes int displayNameResourceId, @StringRes int descriptionResourceId, android.graphics.drawable.Icon? icon, long minimumValue, long maximumValue, java.util.Collection<? extends androidx.wear.watchface.style.WatchFaceLayer> affectsWatchFaceLayers, long defaultValue);
+    method public long getDefaultValue();
+    method public long getMaximumValue();
+    method public long getMinimumValue();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.data.LongRangeUserStyleSettingWireFormat toWireFormat();
+    property public final long defaultValue;
+    property public final long maximumValue;
+    property public final long minimumValue;
+  }
+
+  public static final class UserStyleSetting.LongRangeUserStyleSetting.LongRangeOption extends androidx.wear.watchface.style.UserStyleSetting.Option {
+    ctor public UserStyleSetting.LongRangeUserStyleSetting.LongRangeOption(long value);
+    method public long getValue();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.data.LongRangeOptionWireFormat toWireFormat();
+    property public final long value;
+  }
+
+  public abstract static class UserStyleSetting.Option {
+    ctor public UserStyleSetting.Option(androidx.wear.watchface.style.UserStyleSetting.Option.Id id);
+    method public final androidx.wear.watchface.style.UserStyleSetting.Option.Id getId();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract androidx.wear.watchface.style.data.OptionWireFormat toWireFormat();
+    property public final androidx.wear.watchface.style.UserStyleSetting.Option.Id id;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.Option.Companion Companion;
+  }
+
+  public static final class UserStyleSetting.Option.Companion {
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.UserStyleSetting.Option createFromWireFormat(androidx.wear.watchface.style.data.OptionWireFormat wireFormat);
+  }
+
+  public static final class UserStyleSetting.Option.Id {
+    ctor public UserStyleSetting.Option.Id(byte[] value);
+    ctor public UserStyleSetting.Option.Id(String value);
+    method public byte[] getValue();
+    property public final byte[] value;
+    field public static final androidx.wear.watchface.style.UserStyleSetting.Option.Id.Companion Companion;
+    field public static final int MAX_LENGTH = 1024; // 0x400
+  }
+
+  public static final class UserStyleSetting.Option.Id.Companion {
+  }
+
+  public final class UserStyleSettingKt {
+  }
+
+  public enum WatchFaceLayer {
+    enum_constant public static final androidx.wear.watchface.style.WatchFaceLayer BASE;
+    enum_constant public static final androidx.wear.watchface.style.WatchFaceLayer COMPLICATIONS;
+    enum_constant public static final androidx.wear.watchface.style.WatchFaceLayer COMPLICATIONS_OVERLAY;
+    field public static final java.util.Set<androidx.wear.watchface.style.WatchFaceLayer> ALL_WATCH_FACE_LAYERS;
+    field public static final androidx.wear.watchface.style.WatchFaceLayer.Companion Companion;
+  }
+
+  public static final class WatchFaceLayer.Companion {
+  }
+
+}
+
diff --git a/wear/watchface/watchface-style/lint-baseline.xml b/wear/watchface/watchface-style/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/watchface/watchface-style/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/watchface/watchface/api/1.0.0-beta01.txt b/wear/watchface/watchface/api/1.0.0-beta01.txt
new file mode 100644
index 0000000..6f3baa0
--- /dev/null
+++ b/wear/watchface/watchface/api/1.0.0-beta01.txt
@@ -0,0 +1,336 @@
+// Signature format: 4.0
+package androidx.wear.watchface {
+
+  public final class BackgroundComplicationTapFilter implements androidx.wear.watchface.ComplicationTapFilter {
+    ctor public BackgroundComplicationTapFilter();
+    method public boolean hitTest(androidx.wear.watchface.ComplicationSlot complicationSlot, android.graphics.Rect screenBounds, @Px int x, @Px int y);
+  }
+
+  public interface CanvasComplication {
+    method public void drawHighlight(android.graphics.Canvas canvas, android.graphics.Rect bounds, int boundsType, java.time.ZonedDateTime zonedDateTime, @ColorInt int color);
+    method public androidx.wear.watchface.complications.data.ComplicationData getData();
+    method public void loadData(androidx.wear.watchface.complications.data.ComplicationData complicationData, boolean loadDrawablesAsynchronous);
+    method @WorkerThread public default void onRendererCreated(androidx.wear.watchface.Renderer renderer);
+    method @UiThread public void render(android.graphics.Canvas canvas, android.graphics.Rect bounds, java.time.ZonedDateTime zonedDateTime, androidx.wear.watchface.RenderParameters renderParameters, int slotId);
+  }
+
+  public static interface CanvasComplication.InvalidateCallback {
+    method public void onInvalidate();
+  }
+
+  public interface CanvasComplicationFactory {
+    method @WorkerThread public androidx.wear.watchface.CanvasComplication create(androidx.wear.watchface.WatchState, androidx.wear.watchface.CanvasComplication.InvalidateCallback);
+  }
+
+  public final class ComplicationSlot {
+    method public android.graphics.Rect computeBounds(android.graphics.Rect screen);
+    method public static androidx.wear.watchface.ComplicationSlot.Builder createBackgroundComplicationSlotBuilder(int id, androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy);
+    method public static androidx.wear.watchface.ComplicationSlot.Builder createEdgeComplicationSlotBuilder(int id, androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy, androidx.wear.watchface.complications.ComplicationSlotBounds bounds, androidx.wear.watchface.ComplicationTapFilter complicationTapFilter);
+    method public static androidx.wear.watchface.ComplicationSlot.Builder createRoundRectComplicationSlotBuilder(int id, androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy, androidx.wear.watchface.complications.ComplicationSlotBounds bounds);
+    method @UiThread public int getAccessibilityTraversalIndex();
+    method public int getBoundsType();
+    method public androidx.wear.watchface.CanvasComplicationFactory getCanvasComplicationFactory();
+    method public kotlinx.coroutines.flow.StateFlow<androidx.wear.watchface.complications.data.ComplicationData> getComplicationData();
+    method @UiThread public androidx.wear.watchface.complications.ComplicationSlotBounds getComplicationSlotBounds();
+    method public android.os.Bundle getConfigExtras();
+    method @UiThread public androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy getDefaultDataSourcePolicy();
+    method @UiThread public androidx.wear.watchface.complications.data.ComplicationType getDefaultDataSourceType();
+    method public boolean getFixedComplicationDataSource();
+    method public int getId();
+    method public boolean getInitiallyEnabled();
+    method public androidx.wear.watchface.CanvasComplication getRenderer();
+    method @UiThread public java.util.List<androidx.wear.watchface.complications.data.ComplicationType> getSupportedTypes();
+    method public androidx.wear.watchface.ComplicationTapFilter getTapFilter();
+    method public boolean isActiveAt(java.time.Instant instant);
+    method @UiThread public boolean isEnabled();
+    method @UiThread public void render(android.graphics.Canvas canvas, java.time.ZonedDateTime zonedDateTime, androidx.wear.watchface.RenderParameters renderParameters);
+    method @UiThread public void renderHighlightLayer(android.graphics.Canvas canvas, java.time.ZonedDateTime zonedDateTime, androidx.wear.watchface.RenderParameters renderParameters);
+    property @UiThread public final int accessibilityTraversalIndex;
+    property public final int boundsType;
+    property public final androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory;
+    property public final kotlinx.coroutines.flow.StateFlow<androidx.wear.watchface.complications.data.ComplicationData> complicationData;
+    property @UiThread public final androidx.wear.watchface.complications.ComplicationSlotBounds complicationSlotBounds;
+    property public final android.os.Bundle configExtras;
+    property @UiThread public final androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy;
+    property @UiThread public final androidx.wear.watchface.complications.data.ComplicationType defaultDataSourceType;
+    property @UiThread public final boolean enabled;
+    property public final boolean fixedComplicationDataSource;
+    property public final int id;
+    property public final boolean initiallyEnabled;
+    property public final androidx.wear.watchface.CanvasComplication renderer;
+    property @UiThread public final java.util.List<androidx.wear.watchface.complications.data.ComplicationType> supportedTypes;
+    property public final androidx.wear.watchface.ComplicationTapFilter tapFilter;
+    field public static final androidx.wear.watchface.ComplicationSlot.Companion Companion;
+  }
+
+  public static final class ComplicationSlot.Builder {
+    method public androidx.wear.watchface.ComplicationSlot build();
+    method public androidx.wear.watchface.ComplicationSlot.Builder setAccessibilityTraversalIndex(int accessibilityTraversalIndex);
+    method public androidx.wear.watchface.ComplicationSlot.Builder setConfigExtras(android.os.Bundle extras);
+    method public androidx.wear.watchface.ComplicationSlot.Builder setDefaultDataSourceType(androidx.wear.watchface.complications.data.ComplicationType defaultDataSourceType);
+    method public androidx.wear.watchface.ComplicationSlot.Builder setEnabled(boolean enabled);
+    method public androidx.wear.watchface.ComplicationSlot.Builder setFixedComplicationDataSource(boolean fixedComplicationDataSource);
+  }
+
+  public static final class ComplicationSlot.Companion {
+    method public androidx.wear.watchface.ComplicationSlot.Builder createBackgroundComplicationSlotBuilder(int id, androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy);
+    method public androidx.wear.watchface.ComplicationSlot.Builder createEdgeComplicationSlotBuilder(int id, androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy, androidx.wear.watchface.complications.ComplicationSlotBounds bounds, androidx.wear.watchface.ComplicationTapFilter complicationTapFilter);
+    method public androidx.wear.watchface.ComplicationSlot.Builder createRoundRectComplicationSlotBuilder(int id, androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy, androidx.wear.watchface.complications.ComplicationSlotBounds bounds);
+  }
+
+  public final class ComplicationSlotsManager {
+    ctor public ComplicationSlotsManager(java.util.Collection<androidx.wear.watchface.ComplicationSlot> complicationSlotCollection, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository);
+    method @UiThread public void addTapListener(androidx.wear.watchface.ComplicationSlotsManager.TapCallback tapCallback);
+    method public operator androidx.wear.watchface.ComplicationSlot? get(int id);
+    method public androidx.wear.watchface.ComplicationSlot? getBackgroundComplicationSlot();
+    method public androidx.wear.watchface.ComplicationSlot? getComplicationSlotAt(@Px int x, @Px int y);
+    method public java.util.Map<java.lang.Integer,androidx.wear.watchface.ComplicationSlot> getComplicationSlots();
+    method public java.util.Map<java.lang.Integer,androidx.wear.watchface.TapEvent> getLastComplicationTapDownEvents();
+    method @UiThread public void removeTapListener(androidx.wear.watchface.ComplicationSlotsManager.TapCallback tapCallback);
+    property public final java.util.Map<java.lang.Integer,androidx.wear.watchface.ComplicationSlot> complicationSlots;
+    property public final java.util.Map<java.lang.Integer,androidx.wear.watchface.TapEvent> lastComplicationTapDownEvents;
+  }
+
+  public static interface ComplicationSlotsManager.TapCallback {
+    method public default void onComplicationSlotTapped(int complicationSlotId);
+  }
+
+  public final class ComplicationSlotsManagerKt {
+  }
+
+  public interface ComplicationTapFilter {
+    method public boolean hitTest(androidx.wear.watchface.ComplicationSlot complicationSlot, android.graphics.Rect screenBounds, @Px int x, @Px int y);
+  }
+
+  public final class ContentDescriptionLabel {
+    ctor public ContentDescriptionLabel(androidx.wear.watchface.complications.data.ComplicationText text, android.graphics.Rect bounds, android.app.PendingIntent? tapAction);
+    method public android.graphics.Rect getBounds();
+    method public android.app.PendingIntent? getTapAction();
+    method public androidx.wear.watchface.complications.data.ComplicationText getText();
+    method public CharSequence getTextAt(android.content.res.Resources resources, java.time.Instant instant);
+    property public final android.graphics.Rect bounds;
+    property public final android.app.PendingIntent? tapAction;
+    property public final androidx.wear.watchface.complications.data.ComplicationText text;
+  }
+
+  public enum DrawMode {
+    enum_constant public static final androidx.wear.watchface.DrawMode AMBIENT;
+    enum_constant public static final androidx.wear.watchface.DrawMode INTERACTIVE;
+    enum_constant public static final androidx.wear.watchface.DrawMode LOW_BATTERY_INTERACTIVE;
+    enum_constant public static final androidx.wear.watchface.DrawMode MUTE;
+  }
+
+  public final class RenderBufferTextureKt {
+  }
+
+  public final class RenderParameters {
+    ctor public RenderParameters(androidx.wear.watchface.DrawMode drawMode, java.util.Set<? extends androidx.wear.watchface.style.WatchFaceLayer> watchFaceLayers, optional androidx.wear.watchface.RenderParameters.HighlightLayer? highlightLayer, optional java.util.Map<java.lang.Integer,androidx.wear.watchface.TapEvent> lastComplicationTapDownEvents);
+    ctor public RenderParameters(androidx.wear.watchface.DrawMode drawMode, java.util.Set<? extends androidx.wear.watchface.style.WatchFaceLayer> watchFaceLayers, optional androidx.wear.watchface.RenderParameters.HighlightLayer? highlightLayer);
+    ctor public RenderParameters(androidx.wear.watchface.DrawMode drawMode, java.util.Set<? extends androidx.wear.watchface.style.WatchFaceLayer> watchFaceLayers);
+    method public androidx.wear.watchface.DrawMode getDrawMode();
+    method public androidx.wear.watchface.RenderParameters.HighlightLayer? getHighlightLayer();
+    method public java.util.Map<java.lang.Integer,androidx.wear.watchface.TapEvent> getLastComplicationTapDownEvents();
+    method public java.util.Set<androidx.wear.watchface.style.WatchFaceLayer> getWatchFaceLayers();
+    property public final androidx.wear.watchface.DrawMode drawMode;
+    property public final androidx.wear.watchface.RenderParameters.HighlightLayer? highlightLayer;
+    property public final java.util.Map<java.lang.Integer,androidx.wear.watchface.TapEvent> lastComplicationTapDownEvents;
+    property public final java.util.Set<androidx.wear.watchface.style.WatchFaceLayer> watchFaceLayers;
+    field public static final androidx.wear.watchface.RenderParameters.Companion Companion;
+    field public static final androidx.wear.watchface.RenderParameters DEFAULT_INTERACTIVE;
+  }
+
+  public static final class RenderParameters.Companion {
+  }
+
+  public static final class RenderParameters.HighlightLayer {
+    ctor public RenderParameters.HighlightLayer(androidx.wear.watchface.RenderParameters.HighlightedElement highlightedElement, @ColorInt int highlightTint, @ColorInt int backgroundTint);
+    method @ColorInt public int getBackgroundTint();
+    method @ColorInt public int getHighlightTint();
+    method public androidx.wear.watchface.RenderParameters.HighlightedElement getHighlightedElement();
+    property @ColorInt public final int backgroundTint;
+    property @ColorInt public final int highlightTint;
+    property public final androidx.wear.watchface.RenderParameters.HighlightedElement highlightedElement;
+  }
+
+  public abstract static sealed class RenderParameters.HighlightedElement {
+  }
+
+  public static final class RenderParameters.HighlightedElement.AllComplicationSlots extends androidx.wear.watchface.RenderParameters.HighlightedElement {
+    field public static final androidx.wear.watchface.RenderParameters.HighlightedElement.AllComplicationSlots INSTANCE;
+  }
+
+  public static final class RenderParameters.HighlightedElement.ComplicationSlot extends androidx.wear.watchface.RenderParameters.HighlightedElement {
+    ctor public RenderParameters.HighlightedElement.ComplicationSlot(int id);
+    method public int getId();
+    property public final int id;
+  }
+
+  public static final class RenderParameters.HighlightedElement.UserStyle extends androidx.wear.watchface.RenderParameters.HighlightedElement {
+    ctor public RenderParameters.HighlightedElement.UserStyle(androidx.wear.watchface.style.UserStyleSetting.Id id);
+    method public androidx.wear.watchface.style.UserStyleSetting.Id getId();
+    property public final androidx.wear.watchface.style.UserStyleSetting.Id id;
+  }
+
+  public abstract sealed class Renderer {
+    method public final java.util.Collection<kotlin.Pair<java.lang.Integer,androidx.wear.watchface.ContentDescriptionLabel>> getAdditionalContentDescriptionLabels();
+    method public final float getCenterX();
+    method public final float getCenterY();
+    method public final long getInteractiveDrawModeUpdateDelayMillis();
+    method @UiThread public android.graphics.Rect getMainClockElementBounds();
+    method public final androidx.wear.watchface.RenderParameters getRenderParameters();
+    method public final android.graphics.Rect getScreenBounds();
+    method public final android.view.SurfaceHolder getSurfaceHolder();
+    method @UiThread public final void invalidate();
+    method @UiThread public void onDestroy();
+    method @UiThread public abstract void onDump(java.io.PrintWriter writer);
+    method @UiThread protected void onRenderParametersChanged(androidx.wear.watchface.RenderParameters renderParameters);
+    method public final void postInvalidate();
+    method public final void setAdditionalContentDescriptionLabels(java.util.Collection<kotlin.Pair<java.lang.Integer,androidx.wear.watchface.ContentDescriptionLabel>> value);
+    method public final void setInteractiveDrawModeUpdateDelayMillis(long interactiveDrawModeUpdateDelayMillis);
+    method @UiThread public boolean shouldAnimate();
+    property public final java.util.Collection<kotlin.Pair<java.lang.Integer,androidx.wear.watchface.ContentDescriptionLabel>> additionalContentDescriptionLabels;
+    property public final float centerX;
+    property public final float centerY;
+    property public final long interactiveDrawModeUpdateDelayMillis;
+    property public final androidx.wear.watchface.RenderParameters renderParameters;
+    property public final android.graphics.Rect screenBounds;
+    property public final android.view.SurfaceHolder surfaceHolder;
+  }
+
+  public abstract static class Renderer.CanvasRenderer extends androidx.wear.watchface.Renderer {
+    ctor @WorkerThread public Renderer.CanvasRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, androidx.wear.watchface.WatchState watchState, int canvasType, @IntRange(from=0, to=60000) long interactiveDrawModeUpdateDelayMillis);
+    method @UiThread public suspend Object? init(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public void onDump(java.io.PrintWriter writer);
+    method @UiThread public abstract void render(android.graphics.Canvas canvas, android.graphics.Rect bounds, java.time.ZonedDateTime zonedDateTime);
+    method @UiThread public abstract void renderHighlightLayer(android.graphics.Canvas canvas, android.graphics.Rect bounds, java.time.ZonedDateTime zonedDateTime);
+  }
+
+  public abstract static class Renderer.GlesRenderer extends androidx.wear.watchface.Renderer {
+    ctor @WorkerThread @kotlin.jvm.Throws(exceptionClasses=GlesException::class) public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=60000) long interactiveDrawModeUpdateDelayMillis, optional int[] eglConfigAttribList, optional int[] eglSurfaceAttribList) throws androidx.wear.watchface.Renderer.GlesRenderer.GlesException;
+    ctor @WorkerThread @kotlin.jvm.Throws(exceptionClasses=GlesException::class) public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=60000) long interactiveDrawModeUpdateDelayMillis, optional int[] eglConfigAttribList) throws androidx.wear.watchface.Renderer.GlesRenderer.GlesException;
+    ctor @WorkerThread @kotlin.jvm.Throws(exceptionClasses=GlesException::class) public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=60000) long interactiveDrawModeUpdateDelayMillis) throws androidx.wear.watchface.Renderer.GlesRenderer.GlesException;
+    method public final android.opengl.EGLContext getEglBackgroundThreadContext();
+    method public final android.opengl.EGLConfig getEglConfig();
+    method public final android.opengl.EGLDisplay getEglDisplay();
+    method public final android.opengl.EGLContext getEglUiThreadContext();
+    method @WorkerThread public suspend Object? onBackgroundThreadGlContextCreated(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public void onDump(java.io.PrintWriter writer);
+    method @UiThread public suspend Object? onUiThreadGlSurfaceCreated(@Px int width, @Px int height, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method @UiThread public abstract void render(java.time.ZonedDateTime zonedDateTime);
+    method @UiThread public abstract void renderHighlightLayer(java.time.ZonedDateTime zonedDateTime);
+    method @WorkerThread public final suspend Object? runBackgroundThreadGlCommands(kotlin.jvm.functions.Function1<? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> commands, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public final suspend Object? runUiThreadGlCommands(kotlin.jvm.functions.Function1<? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> commands, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public final void setEglConfig(android.opengl.EGLConfig eglConfig);
+    method public final void setEglDisplay(android.opengl.EGLDisplay eglDisplay);
+    property public final android.opengl.EGLContext eglBackgroundThreadContext;
+    property public final android.opengl.EGLConfig eglConfig;
+    property public final android.opengl.EGLDisplay eglDisplay;
+    property public final android.opengl.EGLContext eglUiThreadContext;
+  }
+
+  public static final class Renderer.GlesRenderer.GlesException extends java.lang.Exception {
+    ctor public Renderer.GlesRenderer.GlesException(String message);
+  }
+
+  public final class RendererKt {
+  }
+
+  public final class RoundRectComplicationTapFilter implements androidx.wear.watchface.ComplicationTapFilter {
+    ctor public RoundRectComplicationTapFilter();
+    method public boolean hitTest(androidx.wear.watchface.ComplicationSlot complicationSlot, android.graphics.Rect screenBounds, @Px int x, @Px int y);
+  }
+
+  public final class TapEvent {
+    ctor public TapEvent(@Px int xPos, @Px int yPos, java.time.Instant tapTime);
+    method public java.time.Instant getTapTime();
+    method public int getXPos();
+    method public int getYPos();
+    property public final java.time.Instant tapTime;
+    property public final int xPos;
+    property public final int yPos;
+  }
+
+  public final class WatchFace {
+    ctor public WatchFace(int watchFaceType, androidx.wear.watchface.Renderer renderer);
+    method public androidx.wear.watchface.WatchFace.LegacyWatchFaceOverlayStyle getLegacyWatchFaceStyle();
+    method public java.time.Instant? getOverridePreviewReferenceInstant();
+    method public androidx.wear.watchface.Renderer getRenderer();
+    method public int getWatchFaceType();
+    method public static boolean isLegacyWatchFaceOverlayStyleSupported();
+    method public androidx.wear.watchface.WatchFace setLegacyWatchFaceStyle(androidx.wear.watchface.WatchFace.LegacyWatchFaceOverlayStyle legacyWatchFaceStyle);
+    method public androidx.wear.watchface.WatchFace setOverridePreviewReferenceInstant(java.time.Instant previewReferenceTimeMillis);
+    method public androidx.wear.watchface.WatchFace setTapListener(androidx.wear.watchface.WatchFace.TapListener? tapListener);
+    method public void setWatchFaceType(int watchFaceType);
+    property public final androidx.wear.watchface.WatchFace.LegacyWatchFaceOverlayStyle legacyWatchFaceStyle;
+    property public final java.time.Instant? overridePreviewReferenceInstant;
+    property public final androidx.wear.watchface.Renderer renderer;
+    property public final int watchFaceType;
+    field public static final androidx.wear.watchface.WatchFace.Companion Companion;
+  }
+
+  public static final class WatchFace.Companion {
+    method public boolean isLegacyWatchFaceOverlayStyleSupported();
+  }
+
+  public static final class WatchFace.LegacyWatchFaceOverlayStyle {
+    ctor public WatchFace.LegacyWatchFaceOverlayStyle(int viewProtectionMode, int statusBarGravity, boolean tapEventsAccepted, optional @ColorInt int accentColor);
+    ctor public WatchFace.LegacyWatchFaceOverlayStyle(int viewProtectionMode, int statusBarGravity, boolean tapEventsAccepted);
+    method public int getAccentColor();
+    method public int getStatusBarGravity();
+    method public boolean getTapEventsAccepted();
+    method public int getViewProtectionMode();
+    property public final int accentColor;
+    property public final int statusBarGravity;
+    property public final boolean tapEventsAccepted;
+    property public final int viewProtectionMode;
+  }
+
+  public static interface WatchFace.TapListener {
+    method @UiThread public void onTapEvent(int tapType, androidx.wear.watchface.TapEvent tapEvent, androidx.wear.watchface.ComplicationSlot? complicationSlot);
+  }
+
+  public final class WatchFaceKt {
+  }
+
+  public abstract class WatchFaceService extends android.service.wallpaper.WallpaperService {
+    ctor public WatchFaceService();
+    method @WorkerThread protected androidx.wear.watchface.ComplicationSlotsManager createComplicationSlotsManager(androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository);
+    method @WorkerThread protected androidx.wear.watchface.style.UserStyleSchema createUserStyleSchema();
+    method @WorkerThread protected abstract suspend Object? createWatchFace(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.WatchState watchState, androidx.wear.watchface.ComplicationSlotsManager complicationSlotsManager, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, kotlin.coroutines.Continuation<? super androidx.wear.watchface.WatchFace> p);
+    method public final android.os.Handler getBackgroundThreadHandler();
+    method public final android.os.Handler getUiThreadHandler();
+    method public final android.service.wallpaper.WallpaperService.Engine onCreateEngine();
+    field public static final androidx.wear.watchface.WatchFaceService.Companion Companion;
+    field public static final int MAX_CREATE_WATCHFACE_TIME_MILLIS = 5000; // 0x1388
+  }
+
+  public static final class WatchFaceService.Companion {
+  }
+
+  public final class WatchFaceServiceKt {
+  }
+
+  public final class WatchState {
+    ctor public WatchState(kotlinx.coroutines.flow.StateFlow<java.lang.Integer> interruptionFilter, kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isAmbient, kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isBatteryLowAndNotCharging, kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isVisible, boolean hasLowBitAmbient, boolean hasBurnInProtection, long analogPreviewReferenceTimeMillis, long digitalPreviewReferenceTimeMillis, @Px int chinHeight, boolean isHeadless);
+    method public long getAnalogPreviewReferenceTimeMillis();
+    method @Px public int getChinHeight();
+    method public long getDigitalPreviewReferenceTimeMillis();
+    method public boolean getHasBurnInProtection();
+    method public boolean getHasLowBitAmbient();
+    method public kotlinx.coroutines.flow.StateFlow<java.lang.Integer> getInterruptionFilter();
+    method public kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isAmbient();
+    method public boolean isHeadless();
+    method public kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isVisible();
+    property public final long analogPreviewReferenceTimeMillis;
+    property @Px public final int chinHeight;
+    property public final long digitalPreviewReferenceTimeMillis;
+    property public final boolean hasBurnInProtection;
+    property public final boolean hasLowBitAmbient;
+    property public final kotlinx.coroutines.flow.StateFlow<java.lang.Integer> interruptionFilter;
+    property public final kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isAmbient;
+    property public final boolean isHeadless;
+    property public final kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isVisible;
+  }
+
+}
+
diff --git a/wear/watchface/watchface/api/public_plus_experimental_1.0.0-beta01.txt b/wear/watchface/watchface/api/public_plus_experimental_1.0.0-beta01.txt
new file mode 100644
index 0000000..6f3baa0
--- /dev/null
+++ b/wear/watchface/watchface/api/public_plus_experimental_1.0.0-beta01.txt
@@ -0,0 +1,336 @@
+// Signature format: 4.0
+package androidx.wear.watchface {
+
+  public final class BackgroundComplicationTapFilter implements androidx.wear.watchface.ComplicationTapFilter {
+    ctor public BackgroundComplicationTapFilter();
+    method public boolean hitTest(androidx.wear.watchface.ComplicationSlot complicationSlot, android.graphics.Rect screenBounds, @Px int x, @Px int y);
+  }
+
+  public interface CanvasComplication {
+    method public void drawHighlight(android.graphics.Canvas canvas, android.graphics.Rect bounds, int boundsType, java.time.ZonedDateTime zonedDateTime, @ColorInt int color);
+    method public androidx.wear.watchface.complications.data.ComplicationData getData();
+    method public void loadData(androidx.wear.watchface.complications.data.ComplicationData complicationData, boolean loadDrawablesAsynchronous);
+    method @WorkerThread public default void onRendererCreated(androidx.wear.watchface.Renderer renderer);
+    method @UiThread public void render(android.graphics.Canvas canvas, android.graphics.Rect bounds, java.time.ZonedDateTime zonedDateTime, androidx.wear.watchface.RenderParameters renderParameters, int slotId);
+  }
+
+  public static interface CanvasComplication.InvalidateCallback {
+    method public void onInvalidate();
+  }
+
+  public interface CanvasComplicationFactory {
+    method @WorkerThread public androidx.wear.watchface.CanvasComplication create(androidx.wear.watchface.WatchState, androidx.wear.watchface.CanvasComplication.InvalidateCallback);
+  }
+
+  public final class ComplicationSlot {
+    method public android.graphics.Rect computeBounds(android.graphics.Rect screen);
+    method public static androidx.wear.watchface.ComplicationSlot.Builder createBackgroundComplicationSlotBuilder(int id, androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy);
+    method public static androidx.wear.watchface.ComplicationSlot.Builder createEdgeComplicationSlotBuilder(int id, androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy, androidx.wear.watchface.complications.ComplicationSlotBounds bounds, androidx.wear.watchface.ComplicationTapFilter complicationTapFilter);
+    method public static androidx.wear.watchface.ComplicationSlot.Builder createRoundRectComplicationSlotBuilder(int id, androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy, androidx.wear.watchface.complications.ComplicationSlotBounds bounds);
+    method @UiThread public int getAccessibilityTraversalIndex();
+    method public int getBoundsType();
+    method public androidx.wear.watchface.CanvasComplicationFactory getCanvasComplicationFactory();
+    method public kotlinx.coroutines.flow.StateFlow<androidx.wear.watchface.complications.data.ComplicationData> getComplicationData();
+    method @UiThread public androidx.wear.watchface.complications.ComplicationSlotBounds getComplicationSlotBounds();
+    method public android.os.Bundle getConfigExtras();
+    method @UiThread public androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy getDefaultDataSourcePolicy();
+    method @UiThread public androidx.wear.watchface.complications.data.ComplicationType getDefaultDataSourceType();
+    method public boolean getFixedComplicationDataSource();
+    method public int getId();
+    method public boolean getInitiallyEnabled();
+    method public androidx.wear.watchface.CanvasComplication getRenderer();
+    method @UiThread public java.util.List<androidx.wear.watchface.complications.data.ComplicationType> getSupportedTypes();
+    method public androidx.wear.watchface.ComplicationTapFilter getTapFilter();
+    method public boolean isActiveAt(java.time.Instant instant);
+    method @UiThread public boolean isEnabled();
+    method @UiThread public void render(android.graphics.Canvas canvas, java.time.ZonedDateTime zonedDateTime, androidx.wear.watchface.RenderParameters renderParameters);
+    method @UiThread public void renderHighlightLayer(android.graphics.Canvas canvas, java.time.ZonedDateTime zonedDateTime, androidx.wear.watchface.RenderParameters renderParameters);
+    property @UiThread public final int accessibilityTraversalIndex;
+    property public final int boundsType;
+    property public final androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory;
+    property public final kotlinx.coroutines.flow.StateFlow<androidx.wear.watchface.complications.data.ComplicationData> complicationData;
+    property @UiThread public final androidx.wear.watchface.complications.ComplicationSlotBounds complicationSlotBounds;
+    property public final android.os.Bundle configExtras;
+    property @UiThread public final androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy;
+    property @UiThread public final androidx.wear.watchface.complications.data.ComplicationType defaultDataSourceType;
+    property @UiThread public final boolean enabled;
+    property public final boolean fixedComplicationDataSource;
+    property public final int id;
+    property public final boolean initiallyEnabled;
+    property public final androidx.wear.watchface.CanvasComplication renderer;
+    property @UiThread public final java.util.List<androidx.wear.watchface.complications.data.ComplicationType> supportedTypes;
+    property public final androidx.wear.watchface.ComplicationTapFilter tapFilter;
+    field public static final androidx.wear.watchface.ComplicationSlot.Companion Companion;
+  }
+
+  public static final class ComplicationSlot.Builder {
+    method public androidx.wear.watchface.ComplicationSlot build();
+    method public androidx.wear.watchface.ComplicationSlot.Builder setAccessibilityTraversalIndex(int accessibilityTraversalIndex);
+    method public androidx.wear.watchface.ComplicationSlot.Builder setConfigExtras(android.os.Bundle extras);
+    method public androidx.wear.watchface.ComplicationSlot.Builder setDefaultDataSourceType(androidx.wear.watchface.complications.data.ComplicationType defaultDataSourceType);
+    method public androidx.wear.watchface.ComplicationSlot.Builder setEnabled(boolean enabled);
+    method public androidx.wear.watchface.ComplicationSlot.Builder setFixedComplicationDataSource(boolean fixedComplicationDataSource);
+  }
+
+  public static final class ComplicationSlot.Companion {
+    method public androidx.wear.watchface.ComplicationSlot.Builder createBackgroundComplicationSlotBuilder(int id, androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy);
+    method public androidx.wear.watchface.ComplicationSlot.Builder createEdgeComplicationSlotBuilder(int id, androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy, androidx.wear.watchface.complications.ComplicationSlotBounds bounds, androidx.wear.watchface.ComplicationTapFilter complicationTapFilter);
+    method public androidx.wear.watchface.ComplicationSlot.Builder createRoundRectComplicationSlotBuilder(int id, androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy, androidx.wear.watchface.complications.ComplicationSlotBounds bounds);
+  }
+
+  public final class ComplicationSlotsManager {
+    ctor public ComplicationSlotsManager(java.util.Collection<androidx.wear.watchface.ComplicationSlot> complicationSlotCollection, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository);
+    method @UiThread public void addTapListener(androidx.wear.watchface.ComplicationSlotsManager.TapCallback tapCallback);
+    method public operator androidx.wear.watchface.ComplicationSlot? get(int id);
+    method public androidx.wear.watchface.ComplicationSlot? getBackgroundComplicationSlot();
+    method public androidx.wear.watchface.ComplicationSlot? getComplicationSlotAt(@Px int x, @Px int y);
+    method public java.util.Map<java.lang.Integer,androidx.wear.watchface.ComplicationSlot> getComplicationSlots();
+    method public java.util.Map<java.lang.Integer,androidx.wear.watchface.TapEvent> getLastComplicationTapDownEvents();
+    method @UiThread public void removeTapListener(androidx.wear.watchface.ComplicationSlotsManager.TapCallback tapCallback);
+    property public final java.util.Map<java.lang.Integer,androidx.wear.watchface.ComplicationSlot> complicationSlots;
+    property public final java.util.Map<java.lang.Integer,androidx.wear.watchface.TapEvent> lastComplicationTapDownEvents;
+  }
+
+  public static interface ComplicationSlotsManager.TapCallback {
+    method public default void onComplicationSlotTapped(int complicationSlotId);
+  }
+
+  public final class ComplicationSlotsManagerKt {
+  }
+
+  public interface ComplicationTapFilter {
+    method public boolean hitTest(androidx.wear.watchface.ComplicationSlot complicationSlot, android.graphics.Rect screenBounds, @Px int x, @Px int y);
+  }
+
+  public final class ContentDescriptionLabel {
+    ctor public ContentDescriptionLabel(androidx.wear.watchface.complications.data.ComplicationText text, android.graphics.Rect bounds, android.app.PendingIntent? tapAction);
+    method public android.graphics.Rect getBounds();
+    method public android.app.PendingIntent? getTapAction();
+    method public androidx.wear.watchface.complications.data.ComplicationText getText();
+    method public CharSequence getTextAt(android.content.res.Resources resources, java.time.Instant instant);
+    property public final android.graphics.Rect bounds;
+    property public final android.app.PendingIntent? tapAction;
+    property public final androidx.wear.watchface.complications.data.ComplicationText text;
+  }
+
+  public enum DrawMode {
+    enum_constant public static final androidx.wear.watchface.DrawMode AMBIENT;
+    enum_constant public static final androidx.wear.watchface.DrawMode INTERACTIVE;
+    enum_constant public static final androidx.wear.watchface.DrawMode LOW_BATTERY_INTERACTIVE;
+    enum_constant public static final androidx.wear.watchface.DrawMode MUTE;
+  }
+
+  public final class RenderBufferTextureKt {
+  }
+
+  public final class RenderParameters {
+    ctor public RenderParameters(androidx.wear.watchface.DrawMode drawMode, java.util.Set<? extends androidx.wear.watchface.style.WatchFaceLayer> watchFaceLayers, optional androidx.wear.watchface.RenderParameters.HighlightLayer? highlightLayer, optional java.util.Map<java.lang.Integer,androidx.wear.watchface.TapEvent> lastComplicationTapDownEvents);
+    ctor public RenderParameters(androidx.wear.watchface.DrawMode drawMode, java.util.Set<? extends androidx.wear.watchface.style.WatchFaceLayer> watchFaceLayers, optional androidx.wear.watchface.RenderParameters.HighlightLayer? highlightLayer);
+    ctor public RenderParameters(androidx.wear.watchface.DrawMode drawMode, java.util.Set<? extends androidx.wear.watchface.style.WatchFaceLayer> watchFaceLayers);
+    method public androidx.wear.watchface.DrawMode getDrawMode();
+    method public androidx.wear.watchface.RenderParameters.HighlightLayer? getHighlightLayer();
+    method public java.util.Map<java.lang.Integer,androidx.wear.watchface.TapEvent> getLastComplicationTapDownEvents();
+    method public java.util.Set<androidx.wear.watchface.style.WatchFaceLayer> getWatchFaceLayers();
+    property public final androidx.wear.watchface.DrawMode drawMode;
+    property public final androidx.wear.watchface.RenderParameters.HighlightLayer? highlightLayer;
+    property public final java.util.Map<java.lang.Integer,androidx.wear.watchface.TapEvent> lastComplicationTapDownEvents;
+    property public final java.util.Set<androidx.wear.watchface.style.WatchFaceLayer> watchFaceLayers;
+    field public static final androidx.wear.watchface.RenderParameters.Companion Companion;
+    field public static final androidx.wear.watchface.RenderParameters DEFAULT_INTERACTIVE;
+  }
+
+  public static final class RenderParameters.Companion {
+  }
+
+  public static final class RenderParameters.HighlightLayer {
+    ctor public RenderParameters.HighlightLayer(androidx.wear.watchface.RenderParameters.HighlightedElement highlightedElement, @ColorInt int highlightTint, @ColorInt int backgroundTint);
+    method @ColorInt public int getBackgroundTint();
+    method @ColorInt public int getHighlightTint();
+    method public androidx.wear.watchface.RenderParameters.HighlightedElement getHighlightedElement();
+    property @ColorInt public final int backgroundTint;
+    property @ColorInt public final int highlightTint;
+    property public final androidx.wear.watchface.RenderParameters.HighlightedElement highlightedElement;
+  }
+
+  public abstract static sealed class RenderParameters.HighlightedElement {
+  }
+
+  public static final class RenderParameters.HighlightedElement.AllComplicationSlots extends androidx.wear.watchface.RenderParameters.HighlightedElement {
+    field public static final androidx.wear.watchface.RenderParameters.HighlightedElement.AllComplicationSlots INSTANCE;
+  }
+
+  public static final class RenderParameters.HighlightedElement.ComplicationSlot extends androidx.wear.watchface.RenderParameters.HighlightedElement {
+    ctor public RenderParameters.HighlightedElement.ComplicationSlot(int id);
+    method public int getId();
+    property public final int id;
+  }
+
+  public static final class RenderParameters.HighlightedElement.UserStyle extends androidx.wear.watchface.RenderParameters.HighlightedElement {
+    ctor public RenderParameters.HighlightedElement.UserStyle(androidx.wear.watchface.style.UserStyleSetting.Id id);
+    method public androidx.wear.watchface.style.UserStyleSetting.Id getId();
+    property public final androidx.wear.watchface.style.UserStyleSetting.Id id;
+  }
+
+  public abstract sealed class Renderer {
+    method public final java.util.Collection<kotlin.Pair<java.lang.Integer,androidx.wear.watchface.ContentDescriptionLabel>> getAdditionalContentDescriptionLabels();
+    method public final float getCenterX();
+    method public final float getCenterY();
+    method public final long getInteractiveDrawModeUpdateDelayMillis();
+    method @UiThread public android.graphics.Rect getMainClockElementBounds();
+    method public final androidx.wear.watchface.RenderParameters getRenderParameters();
+    method public final android.graphics.Rect getScreenBounds();
+    method public final android.view.SurfaceHolder getSurfaceHolder();
+    method @UiThread public final void invalidate();
+    method @UiThread public void onDestroy();
+    method @UiThread public abstract void onDump(java.io.PrintWriter writer);
+    method @UiThread protected void onRenderParametersChanged(androidx.wear.watchface.RenderParameters renderParameters);
+    method public final void postInvalidate();
+    method public final void setAdditionalContentDescriptionLabels(java.util.Collection<kotlin.Pair<java.lang.Integer,androidx.wear.watchface.ContentDescriptionLabel>> value);
+    method public final void setInteractiveDrawModeUpdateDelayMillis(long interactiveDrawModeUpdateDelayMillis);
+    method @UiThread public boolean shouldAnimate();
+    property public final java.util.Collection<kotlin.Pair<java.lang.Integer,androidx.wear.watchface.ContentDescriptionLabel>> additionalContentDescriptionLabels;
+    property public final float centerX;
+    property public final float centerY;
+    property public final long interactiveDrawModeUpdateDelayMillis;
+    property public final androidx.wear.watchface.RenderParameters renderParameters;
+    property public final android.graphics.Rect screenBounds;
+    property public final android.view.SurfaceHolder surfaceHolder;
+  }
+
+  public abstract static class Renderer.CanvasRenderer extends androidx.wear.watchface.Renderer {
+    ctor @WorkerThread public Renderer.CanvasRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, androidx.wear.watchface.WatchState watchState, int canvasType, @IntRange(from=0, to=60000) long interactiveDrawModeUpdateDelayMillis);
+    method @UiThread public suspend Object? init(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public void onDump(java.io.PrintWriter writer);
+    method @UiThread public abstract void render(android.graphics.Canvas canvas, android.graphics.Rect bounds, java.time.ZonedDateTime zonedDateTime);
+    method @UiThread public abstract void renderHighlightLayer(android.graphics.Canvas canvas, android.graphics.Rect bounds, java.time.ZonedDateTime zonedDateTime);
+  }
+
+  public abstract static class Renderer.GlesRenderer extends androidx.wear.watchface.Renderer {
+    ctor @WorkerThread @kotlin.jvm.Throws(exceptionClasses=GlesException::class) public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=60000) long interactiveDrawModeUpdateDelayMillis, optional int[] eglConfigAttribList, optional int[] eglSurfaceAttribList) throws androidx.wear.watchface.Renderer.GlesRenderer.GlesException;
+    ctor @WorkerThread @kotlin.jvm.Throws(exceptionClasses=GlesException::class) public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=60000) long interactiveDrawModeUpdateDelayMillis, optional int[] eglConfigAttribList) throws androidx.wear.watchface.Renderer.GlesRenderer.GlesException;
+    ctor @WorkerThread @kotlin.jvm.Throws(exceptionClasses=GlesException::class) public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=60000) long interactiveDrawModeUpdateDelayMillis) throws androidx.wear.watchface.Renderer.GlesRenderer.GlesException;
+    method public final android.opengl.EGLContext getEglBackgroundThreadContext();
+    method public final android.opengl.EGLConfig getEglConfig();
+    method public final android.opengl.EGLDisplay getEglDisplay();
+    method public final android.opengl.EGLContext getEglUiThreadContext();
+    method @WorkerThread public suspend Object? onBackgroundThreadGlContextCreated(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public void onDump(java.io.PrintWriter writer);
+    method @UiThread public suspend Object? onUiThreadGlSurfaceCreated(@Px int width, @Px int height, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method @UiThread public abstract void render(java.time.ZonedDateTime zonedDateTime);
+    method @UiThread public abstract void renderHighlightLayer(java.time.ZonedDateTime zonedDateTime);
+    method @WorkerThread public final suspend Object? runBackgroundThreadGlCommands(kotlin.jvm.functions.Function1<? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> commands, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public final suspend Object? runUiThreadGlCommands(kotlin.jvm.functions.Function1<? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> commands, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public final void setEglConfig(android.opengl.EGLConfig eglConfig);
+    method public final void setEglDisplay(android.opengl.EGLDisplay eglDisplay);
+    property public final android.opengl.EGLContext eglBackgroundThreadContext;
+    property public final android.opengl.EGLConfig eglConfig;
+    property public final android.opengl.EGLDisplay eglDisplay;
+    property public final android.opengl.EGLContext eglUiThreadContext;
+  }
+
+  public static final class Renderer.GlesRenderer.GlesException extends java.lang.Exception {
+    ctor public Renderer.GlesRenderer.GlesException(String message);
+  }
+
+  public final class RendererKt {
+  }
+
+  public final class RoundRectComplicationTapFilter implements androidx.wear.watchface.ComplicationTapFilter {
+    ctor public RoundRectComplicationTapFilter();
+    method public boolean hitTest(androidx.wear.watchface.ComplicationSlot complicationSlot, android.graphics.Rect screenBounds, @Px int x, @Px int y);
+  }
+
+  public final class TapEvent {
+    ctor public TapEvent(@Px int xPos, @Px int yPos, java.time.Instant tapTime);
+    method public java.time.Instant getTapTime();
+    method public int getXPos();
+    method public int getYPos();
+    property public final java.time.Instant tapTime;
+    property public final int xPos;
+    property public final int yPos;
+  }
+
+  public final class WatchFace {
+    ctor public WatchFace(int watchFaceType, androidx.wear.watchface.Renderer renderer);
+    method public androidx.wear.watchface.WatchFace.LegacyWatchFaceOverlayStyle getLegacyWatchFaceStyle();
+    method public java.time.Instant? getOverridePreviewReferenceInstant();
+    method public androidx.wear.watchface.Renderer getRenderer();
+    method public int getWatchFaceType();
+    method public static boolean isLegacyWatchFaceOverlayStyleSupported();
+    method public androidx.wear.watchface.WatchFace setLegacyWatchFaceStyle(androidx.wear.watchface.WatchFace.LegacyWatchFaceOverlayStyle legacyWatchFaceStyle);
+    method public androidx.wear.watchface.WatchFace setOverridePreviewReferenceInstant(java.time.Instant previewReferenceTimeMillis);
+    method public androidx.wear.watchface.WatchFace setTapListener(androidx.wear.watchface.WatchFace.TapListener? tapListener);
+    method public void setWatchFaceType(int watchFaceType);
+    property public final androidx.wear.watchface.WatchFace.LegacyWatchFaceOverlayStyle legacyWatchFaceStyle;
+    property public final java.time.Instant? overridePreviewReferenceInstant;
+    property public final androidx.wear.watchface.Renderer renderer;
+    property public final int watchFaceType;
+    field public static final androidx.wear.watchface.WatchFace.Companion Companion;
+  }
+
+  public static final class WatchFace.Companion {
+    method public boolean isLegacyWatchFaceOverlayStyleSupported();
+  }
+
+  public static final class WatchFace.LegacyWatchFaceOverlayStyle {
+    ctor public WatchFace.LegacyWatchFaceOverlayStyle(int viewProtectionMode, int statusBarGravity, boolean tapEventsAccepted, optional @ColorInt int accentColor);
+    ctor public WatchFace.LegacyWatchFaceOverlayStyle(int viewProtectionMode, int statusBarGravity, boolean tapEventsAccepted);
+    method public int getAccentColor();
+    method public int getStatusBarGravity();
+    method public boolean getTapEventsAccepted();
+    method public int getViewProtectionMode();
+    property public final int accentColor;
+    property public final int statusBarGravity;
+    property public final boolean tapEventsAccepted;
+    property public final int viewProtectionMode;
+  }
+
+  public static interface WatchFace.TapListener {
+    method @UiThread public void onTapEvent(int tapType, androidx.wear.watchface.TapEvent tapEvent, androidx.wear.watchface.ComplicationSlot? complicationSlot);
+  }
+
+  public final class WatchFaceKt {
+  }
+
+  public abstract class WatchFaceService extends android.service.wallpaper.WallpaperService {
+    ctor public WatchFaceService();
+    method @WorkerThread protected androidx.wear.watchface.ComplicationSlotsManager createComplicationSlotsManager(androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository);
+    method @WorkerThread protected androidx.wear.watchface.style.UserStyleSchema createUserStyleSchema();
+    method @WorkerThread protected abstract suspend Object? createWatchFace(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.WatchState watchState, androidx.wear.watchface.ComplicationSlotsManager complicationSlotsManager, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, kotlin.coroutines.Continuation<? super androidx.wear.watchface.WatchFace> p);
+    method public final android.os.Handler getBackgroundThreadHandler();
+    method public final android.os.Handler getUiThreadHandler();
+    method public final android.service.wallpaper.WallpaperService.Engine onCreateEngine();
+    field public static final androidx.wear.watchface.WatchFaceService.Companion Companion;
+    field public static final int MAX_CREATE_WATCHFACE_TIME_MILLIS = 5000; // 0x1388
+  }
+
+  public static final class WatchFaceService.Companion {
+  }
+
+  public final class WatchFaceServiceKt {
+  }
+
+  public final class WatchState {
+    ctor public WatchState(kotlinx.coroutines.flow.StateFlow<java.lang.Integer> interruptionFilter, kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isAmbient, kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isBatteryLowAndNotCharging, kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isVisible, boolean hasLowBitAmbient, boolean hasBurnInProtection, long analogPreviewReferenceTimeMillis, long digitalPreviewReferenceTimeMillis, @Px int chinHeight, boolean isHeadless);
+    method public long getAnalogPreviewReferenceTimeMillis();
+    method @Px public int getChinHeight();
+    method public long getDigitalPreviewReferenceTimeMillis();
+    method public boolean getHasBurnInProtection();
+    method public boolean getHasLowBitAmbient();
+    method public kotlinx.coroutines.flow.StateFlow<java.lang.Integer> getInterruptionFilter();
+    method public kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isAmbient();
+    method public boolean isHeadless();
+    method public kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isVisible();
+    property public final long analogPreviewReferenceTimeMillis;
+    property @Px public final int chinHeight;
+    property public final long digitalPreviewReferenceTimeMillis;
+    property public final boolean hasBurnInProtection;
+    property public final boolean hasLowBitAmbient;
+    property public final kotlinx.coroutines.flow.StateFlow<java.lang.Integer> interruptionFilter;
+    property public final kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isAmbient;
+    property public final boolean isHeadless;
+    property public final kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isVisible;
+  }
+
+}
+
diff --git a/wear/watchface/watchface/api/res-1.0.0-beta01.txt b/wear/watchface/watchface/api/res-1.0.0-beta01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wear/watchface/watchface/api/res-1.0.0-beta01.txt
diff --git a/wear/watchface/watchface/api/restricted_1.0.0-beta01.txt b/wear/watchface/watchface/api/restricted_1.0.0-beta01.txt
new file mode 100644
index 0000000..d6a7a5c
--- /dev/null
+++ b/wear/watchface/watchface/api/restricted_1.0.0-beta01.txt
@@ -0,0 +1,338 @@
+// Signature format: 4.0
+package androidx.wear.watchface {
+
+  public final class BackgroundComplicationTapFilter implements androidx.wear.watchface.ComplicationTapFilter {
+    ctor public BackgroundComplicationTapFilter();
+    method public boolean hitTest(androidx.wear.watchface.ComplicationSlot complicationSlot, android.graphics.Rect screenBounds, @Px int x, @Px int y);
+  }
+
+  public interface CanvasComplication {
+    method public void drawHighlight(android.graphics.Canvas canvas, android.graphics.Rect bounds, int boundsType, java.time.ZonedDateTime zonedDateTime, @ColorInt int color);
+    method public androidx.wear.watchface.complications.data.ComplicationData getData();
+    method public void loadData(androidx.wear.watchface.complications.data.ComplicationData complicationData, boolean loadDrawablesAsynchronous);
+    method @WorkerThread public default void onRendererCreated(androidx.wear.watchface.Renderer renderer);
+    method @UiThread public void render(android.graphics.Canvas canvas, android.graphics.Rect bounds, java.time.ZonedDateTime zonedDateTime, androidx.wear.watchface.RenderParameters renderParameters, int slotId);
+  }
+
+  public static interface CanvasComplication.InvalidateCallback {
+    method public void onInvalidate();
+  }
+
+  public interface CanvasComplicationFactory {
+    method @WorkerThread public androidx.wear.watchface.CanvasComplication create(androidx.wear.watchface.WatchState, androidx.wear.watchface.CanvasComplication.InvalidateCallback);
+  }
+
+  public final class ComplicationSlot {
+    method public android.graphics.Rect computeBounds(android.graphics.Rect screen);
+    method public static androidx.wear.watchface.ComplicationSlot.Builder createBackgroundComplicationSlotBuilder(int id, androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy);
+    method public static androidx.wear.watchface.ComplicationSlot.Builder createEdgeComplicationSlotBuilder(int id, androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy, androidx.wear.watchface.complications.ComplicationSlotBounds bounds, androidx.wear.watchface.ComplicationTapFilter complicationTapFilter);
+    method public static androidx.wear.watchface.ComplicationSlot.Builder createRoundRectComplicationSlotBuilder(int id, androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy, androidx.wear.watchface.complications.ComplicationSlotBounds bounds);
+    method @UiThread public int getAccessibilityTraversalIndex();
+    method public int getBoundsType();
+    method public androidx.wear.watchface.CanvasComplicationFactory getCanvasComplicationFactory();
+    method public kotlinx.coroutines.flow.StateFlow<androidx.wear.watchface.complications.data.ComplicationData> getComplicationData();
+    method @UiThread public androidx.wear.watchface.complications.ComplicationSlotBounds getComplicationSlotBounds();
+    method public android.os.Bundle getConfigExtras();
+    method @UiThread public androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy getDefaultDataSourcePolicy();
+    method @UiThread public androidx.wear.watchface.complications.data.ComplicationType getDefaultDataSourceType();
+    method public boolean getFixedComplicationDataSource();
+    method public int getId();
+    method public boolean getInitiallyEnabled();
+    method public androidx.wear.watchface.CanvasComplication getRenderer();
+    method @UiThread public java.util.List<androidx.wear.watchface.complications.data.ComplicationType> getSupportedTypes();
+    method public androidx.wear.watchface.ComplicationTapFilter getTapFilter();
+    method public boolean isActiveAt(java.time.Instant instant);
+    method @UiThread public boolean isEnabled();
+    method @UiThread public void render(android.graphics.Canvas canvas, java.time.ZonedDateTime zonedDateTime, androidx.wear.watchface.RenderParameters renderParameters);
+    method @UiThread public void renderHighlightLayer(android.graphics.Canvas canvas, java.time.ZonedDateTime zonedDateTime, androidx.wear.watchface.RenderParameters renderParameters);
+    property @UiThread public final int accessibilityTraversalIndex;
+    property public final int boundsType;
+    property public final androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory;
+    property public final kotlinx.coroutines.flow.StateFlow<androidx.wear.watchface.complications.data.ComplicationData> complicationData;
+    property @UiThread public final androidx.wear.watchface.complications.ComplicationSlotBounds complicationSlotBounds;
+    property public final android.os.Bundle configExtras;
+    property @UiThread public final androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy;
+    property @UiThread public final androidx.wear.watchface.complications.data.ComplicationType defaultDataSourceType;
+    property @UiThread public final boolean enabled;
+    property public final boolean fixedComplicationDataSource;
+    property public final int id;
+    property public final boolean initiallyEnabled;
+    property public final androidx.wear.watchface.CanvasComplication renderer;
+    property @UiThread public final java.util.List<androidx.wear.watchface.complications.data.ComplicationType> supportedTypes;
+    property public final androidx.wear.watchface.ComplicationTapFilter tapFilter;
+    field public static final androidx.wear.watchface.ComplicationSlot.Companion Companion;
+  }
+
+  public static final class ComplicationSlot.Builder {
+    method public androidx.wear.watchface.ComplicationSlot build();
+    method public androidx.wear.watchface.ComplicationSlot.Builder setAccessibilityTraversalIndex(int accessibilityTraversalIndex);
+    method public androidx.wear.watchface.ComplicationSlot.Builder setConfigExtras(android.os.Bundle extras);
+    method public androidx.wear.watchface.ComplicationSlot.Builder setDefaultDataSourceType(androidx.wear.watchface.complications.data.ComplicationType defaultDataSourceType);
+    method public androidx.wear.watchface.ComplicationSlot.Builder setEnabled(boolean enabled);
+    method public androidx.wear.watchface.ComplicationSlot.Builder setFixedComplicationDataSource(boolean fixedComplicationDataSource);
+  }
+
+  public static final class ComplicationSlot.Companion {
+    method public androidx.wear.watchface.ComplicationSlot.Builder createBackgroundComplicationSlotBuilder(int id, androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy);
+    method public androidx.wear.watchface.ComplicationSlot.Builder createEdgeComplicationSlotBuilder(int id, androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy, androidx.wear.watchface.complications.ComplicationSlotBounds bounds, androidx.wear.watchface.ComplicationTapFilter complicationTapFilter);
+    method public androidx.wear.watchface.ComplicationSlot.Builder createRoundRectComplicationSlotBuilder(int id, androidx.wear.watchface.CanvasComplicationFactory canvasComplicationFactory, java.util.List<? extends androidx.wear.watchface.complications.data.ComplicationType> supportedTypes, androidx.wear.watchface.complications.DefaultComplicationDataSourcePolicy defaultDataSourcePolicy, androidx.wear.watchface.complications.ComplicationSlotBounds bounds);
+  }
+
+  public final class ComplicationSlotsManager {
+    ctor public ComplicationSlotsManager(java.util.Collection<androidx.wear.watchface.ComplicationSlot> complicationSlotCollection, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository);
+    method @UiThread public void addTapListener(androidx.wear.watchface.ComplicationSlotsManager.TapCallback tapCallback);
+    method public operator androidx.wear.watchface.ComplicationSlot? get(int id);
+    method public androidx.wear.watchface.ComplicationSlot? getBackgroundComplicationSlot();
+    method public androidx.wear.watchface.ComplicationSlot? getComplicationSlotAt(@Px int x, @Px int y);
+    method public java.util.Map<java.lang.Integer,androidx.wear.watchface.ComplicationSlot> getComplicationSlots();
+    method public java.util.Map<java.lang.Integer,androidx.wear.watchface.TapEvent> getLastComplicationTapDownEvents();
+    method @UiThread public void removeTapListener(androidx.wear.watchface.ComplicationSlotsManager.TapCallback tapCallback);
+    property public final java.util.Map<java.lang.Integer,androidx.wear.watchface.ComplicationSlot> complicationSlots;
+    property public final java.util.Map<java.lang.Integer,androidx.wear.watchface.TapEvent> lastComplicationTapDownEvents;
+  }
+
+  public static interface ComplicationSlotsManager.TapCallback {
+    method public default void onComplicationSlotTapped(int complicationSlotId);
+  }
+
+  public final class ComplicationSlotsManagerKt {
+  }
+
+  public interface ComplicationTapFilter {
+    method public boolean hitTest(androidx.wear.watchface.ComplicationSlot complicationSlot, android.graphics.Rect screenBounds, @Px int x, @Px int y);
+  }
+
+  public final class ContentDescriptionLabel {
+    ctor public ContentDescriptionLabel(androidx.wear.watchface.complications.data.ComplicationText text, android.graphics.Rect bounds, android.app.PendingIntent? tapAction);
+    method public android.graphics.Rect getBounds();
+    method public android.app.PendingIntent? getTapAction();
+    method public androidx.wear.watchface.complications.data.ComplicationText getText();
+    method public CharSequence getTextAt(android.content.res.Resources resources, java.time.Instant instant);
+    property public final android.graphics.Rect bounds;
+    property public final android.app.PendingIntent? tapAction;
+    property public final androidx.wear.watchface.complications.data.ComplicationText text;
+  }
+
+  public enum DrawMode {
+    enum_constant public static final androidx.wear.watchface.DrawMode AMBIENT;
+    enum_constant public static final androidx.wear.watchface.DrawMode INTERACTIVE;
+    enum_constant public static final androidx.wear.watchface.DrawMode LOW_BATTERY_INTERACTIVE;
+    enum_constant public static final androidx.wear.watchface.DrawMode MUTE;
+  }
+
+  public final class RenderBufferTextureKt {
+  }
+
+  public final class RenderParameters {
+    ctor public RenderParameters(androidx.wear.watchface.DrawMode drawMode, java.util.Set<? extends androidx.wear.watchface.style.WatchFaceLayer> watchFaceLayers, optional androidx.wear.watchface.RenderParameters.HighlightLayer? highlightLayer, optional java.util.Map<java.lang.Integer,androidx.wear.watchface.TapEvent> lastComplicationTapDownEvents);
+    ctor public RenderParameters(androidx.wear.watchface.DrawMode drawMode, java.util.Set<? extends androidx.wear.watchface.style.WatchFaceLayer> watchFaceLayers, optional androidx.wear.watchface.RenderParameters.HighlightLayer? highlightLayer);
+    ctor public RenderParameters(androidx.wear.watchface.DrawMode drawMode, java.util.Set<? extends androidx.wear.watchface.style.WatchFaceLayer> watchFaceLayers);
+    ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public RenderParameters(androidx.wear.watchface.data.RenderParametersWireFormat wireFormat);
+    method public androidx.wear.watchface.DrawMode getDrawMode();
+    method public androidx.wear.watchface.RenderParameters.HighlightLayer? getHighlightLayer();
+    method public java.util.Map<java.lang.Integer,androidx.wear.watchface.TapEvent> getLastComplicationTapDownEvents();
+    method public java.util.Set<androidx.wear.watchface.style.WatchFaceLayer> getWatchFaceLayers();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.data.RenderParametersWireFormat toWireFormat();
+    property public final androidx.wear.watchface.DrawMode drawMode;
+    property public final androidx.wear.watchface.RenderParameters.HighlightLayer? highlightLayer;
+    property public final java.util.Map<java.lang.Integer,androidx.wear.watchface.TapEvent> lastComplicationTapDownEvents;
+    property public final java.util.Set<androidx.wear.watchface.style.WatchFaceLayer> watchFaceLayers;
+    field public static final androidx.wear.watchface.RenderParameters.Companion Companion;
+    field public static final androidx.wear.watchface.RenderParameters DEFAULT_INTERACTIVE;
+  }
+
+  public static final class RenderParameters.Companion {
+  }
+
+  public static final class RenderParameters.HighlightLayer {
+    ctor public RenderParameters.HighlightLayer(androidx.wear.watchface.RenderParameters.HighlightedElement highlightedElement, @ColorInt int highlightTint, @ColorInt int backgroundTint);
+    method @ColorInt public int getBackgroundTint();
+    method @ColorInt public int getHighlightTint();
+    method public androidx.wear.watchface.RenderParameters.HighlightedElement getHighlightedElement();
+    property @ColorInt public final int backgroundTint;
+    property @ColorInt public final int highlightTint;
+    property public final androidx.wear.watchface.RenderParameters.HighlightedElement highlightedElement;
+  }
+
+  public abstract static sealed class RenderParameters.HighlightedElement {
+  }
+
+  public static final class RenderParameters.HighlightedElement.AllComplicationSlots extends androidx.wear.watchface.RenderParameters.HighlightedElement {
+    field public static final androidx.wear.watchface.RenderParameters.HighlightedElement.AllComplicationSlots INSTANCE;
+  }
+
+  public static final class RenderParameters.HighlightedElement.ComplicationSlot extends androidx.wear.watchface.RenderParameters.HighlightedElement {
+    ctor public RenderParameters.HighlightedElement.ComplicationSlot(int id);
+    method public int getId();
+    property public final int id;
+  }
+
+  public static final class RenderParameters.HighlightedElement.UserStyle extends androidx.wear.watchface.RenderParameters.HighlightedElement {
+    ctor public RenderParameters.HighlightedElement.UserStyle(androidx.wear.watchface.style.UserStyleSetting.Id id);
+    method public androidx.wear.watchface.style.UserStyleSetting.Id getId();
+    property public final androidx.wear.watchface.style.UserStyleSetting.Id id;
+  }
+
+  public abstract sealed class Renderer {
+    method public final java.util.Collection<kotlin.Pair<java.lang.Integer,androidx.wear.watchface.ContentDescriptionLabel>> getAdditionalContentDescriptionLabels();
+    method public final float getCenterX();
+    method public final float getCenterY();
+    method public final long getInteractiveDrawModeUpdateDelayMillis();
+    method @UiThread public android.graphics.Rect getMainClockElementBounds();
+    method public final androidx.wear.watchface.RenderParameters getRenderParameters();
+    method public final android.graphics.Rect getScreenBounds();
+    method public final android.view.SurfaceHolder getSurfaceHolder();
+    method @UiThread public final void invalidate();
+    method @UiThread public void onDestroy();
+    method @UiThread public abstract void onDump(java.io.PrintWriter writer);
+    method @UiThread protected void onRenderParametersChanged(androidx.wear.watchface.RenderParameters renderParameters);
+    method public final void postInvalidate();
+    method public final void setAdditionalContentDescriptionLabels(java.util.Collection<kotlin.Pair<java.lang.Integer,androidx.wear.watchface.ContentDescriptionLabel>> value);
+    method public final void setInteractiveDrawModeUpdateDelayMillis(long interactiveDrawModeUpdateDelayMillis);
+    method @UiThread public boolean shouldAnimate();
+    property public final java.util.Collection<kotlin.Pair<java.lang.Integer,androidx.wear.watchface.ContentDescriptionLabel>> additionalContentDescriptionLabels;
+    property public final float centerX;
+    property public final float centerY;
+    property public final long interactiveDrawModeUpdateDelayMillis;
+    property public final androidx.wear.watchface.RenderParameters renderParameters;
+    property public final android.graphics.Rect screenBounds;
+    property public final android.view.SurfaceHolder surfaceHolder;
+  }
+
+  public abstract static class Renderer.CanvasRenderer extends androidx.wear.watchface.Renderer {
+    ctor @WorkerThread public Renderer.CanvasRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, androidx.wear.watchface.WatchState watchState, int canvasType, @IntRange(from=0, to=60000) long interactiveDrawModeUpdateDelayMillis);
+    method @UiThread public suspend Object? init(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public void onDump(java.io.PrintWriter writer);
+    method @UiThread public abstract void render(android.graphics.Canvas canvas, android.graphics.Rect bounds, java.time.ZonedDateTime zonedDateTime);
+    method @UiThread public abstract void renderHighlightLayer(android.graphics.Canvas canvas, android.graphics.Rect bounds, java.time.ZonedDateTime zonedDateTime);
+  }
+
+  public abstract static class Renderer.GlesRenderer extends androidx.wear.watchface.Renderer {
+    ctor @WorkerThread @kotlin.jvm.Throws(exceptionClasses=GlesException::class) public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=60000) long interactiveDrawModeUpdateDelayMillis, optional int[] eglConfigAttribList, optional int[] eglSurfaceAttribList) throws androidx.wear.watchface.Renderer.GlesRenderer.GlesException;
+    ctor @WorkerThread @kotlin.jvm.Throws(exceptionClasses=GlesException::class) public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=60000) long interactiveDrawModeUpdateDelayMillis, optional int[] eglConfigAttribList) throws androidx.wear.watchface.Renderer.GlesRenderer.GlesException;
+    ctor @WorkerThread @kotlin.jvm.Throws(exceptionClasses=GlesException::class) public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=60000) long interactiveDrawModeUpdateDelayMillis) throws androidx.wear.watchface.Renderer.GlesRenderer.GlesException;
+    method public final android.opengl.EGLContext getEglBackgroundThreadContext();
+    method public final android.opengl.EGLConfig getEglConfig();
+    method public final android.opengl.EGLDisplay getEglDisplay();
+    method public final android.opengl.EGLContext getEglUiThreadContext();
+    method @WorkerThread public suspend Object? onBackgroundThreadGlContextCreated(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public void onDump(java.io.PrintWriter writer);
+    method @UiThread public suspend Object? onUiThreadGlSurfaceCreated(@Px int width, @Px int height, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method @UiThread public abstract void render(java.time.ZonedDateTime zonedDateTime);
+    method @UiThread public abstract void renderHighlightLayer(java.time.ZonedDateTime zonedDateTime);
+    method @WorkerThread public final suspend Object? runBackgroundThreadGlCommands(kotlin.jvm.functions.Function1<? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> commands, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public final suspend Object? runUiThreadGlCommands(kotlin.jvm.functions.Function1<? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> commands, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public final void setEglConfig(android.opengl.EGLConfig eglConfig);
+    method public final void setEglDisplay(android.opengl.EGLDisplay eglDisplay);
+    property public final android.opengl.EGLContext eglBackgroundThreadContext;
+    property public final android.opengl.EGLConfig eglConfig;
+    property public final android.opengl.EGLDisplay eglDisplay;
+    property public final android.opengl.EGLContext eglUiThreadContext;
+  }
+
+  public static final class Renderer.GlesRenderer.GlesException extends java.lang.Exception {
+    ctor public Renderer.GlesRenderer.GlesException(String message);
+  }
+
+  public final class RendererKt {
+  }
+
+  public final class RoundRectComplicationTapFilter implements androidx.wear.watchface.ComplicationTapFilter {
+    ctor public RoundRectComplicationTapFilter();
+    method public boolean hitTest(androidx.wear.watchface.ComplicationSlot complicationSlot, android.graphics.Rect screenBounds, @Px int x, @Px int y);
+  }
+
+  public final class TapEvent {
+    ctor public TapEvent(@Px int xPos, @Px int yPos, java.time.Instant tapTime);
+    method public java.time.Instant getTapTime();
+    method public int getXPos();
+    method public int getYPos();
+    property public final java.time.Instant tapTime;
+    property public final int xPos;
+    property public final int yPos;
+  }
+
+  public final class WatchFace {
+    ctor public WatchFace(int watchFaceType, androidx.wear.watchface.Renderer renderer);
+    method public androidx.wear.watchface.WatchFace.LegacyWatchFaceOverlayStyle getLegacyWatchFaceStyle();
+    method public java.time.Instant? getOverridePreviewReferenceInstant();
+    method public androidx.wear.watchface.Renderer getRenderer();
+    method public int getWatchFaceType();
+    method public static boolean isLegacyWatchFaceOverlayStyleSupported();
+    method public androidx.wear.watchface.WatchFace setLegacyWatchFaceStyle(androidx.wear.watchface.WatchFace.LegacyWatchFaceOverlayStyle legacyWatchFaceStyle);
+    method public androidx.wear.watchface.WatchFace setOverridePreviewReferenceInstant(java.time.Instant previewReferenceTimeMillis);
+    method public androidx.wear.watchface.WatchFace setTapListener(androidx.wear.watchface.WatchFace.TapListener? tapListener);
+    method public void setWatchFaceType(int watchFaceType);
+    property public final androidx.wear.watchface.WatchFace.LegacyWatchFaceOverlayStyle legacyWatchFaceStyle;
+    property public final java.time.Instant? overridePreviewReferenceInstant;
+    property public final androidx.wear.watchface.Renderer renderer;
+    property public final int watchFaceType;
+    field public static final androidx.wear.watchface.WatchFace.Companion Companion;
+  }
+
+  public static final class WatchFace.Companion {
+    method public boolean isLegacyWatchFaceOverlayStyleSupported();
+  }
+
+  public static final class WatchFace.LegacyWatchFaceOverlayStyle {
+    ctor public WatchFace.LegacyWatchFaceOverlayStyle(int viewProtectionMode, int statusBarGravity, boolean tapEventsAccepted, optional @ColorInt int accentColor);
+    ctor public WatchFace.LegacyWatchFaceOverlayStyle(int viewProtectionMode, int statusBarGravity, boolean tapEventsAccepted);
+    method public int getAccentColor();
+    method public int getStatusBarGravity();
+    method public boolean getTapEventsAccepted();
+    method public int getViewProtectionMode();
+    property public final int accentColor;
+    property public final int statusBarGravity;
+    property public final boolean tapEventsAccepted;
+    property public final int viewProtectionMode;
+  }
+
+  public static interface WatchFace.TapListener {
+    method @UiThread public void onTapEvent(int tapType, androidx.wear.watchface.TapEvent tapEvent, androidx.wear.watchface.ComplicationSlot? complicationSlot);
+  }
+
+  public final class WatchFaceKt {
+  }
+
+  public abstract class WatchFaceService extends android.service.wallpaper.WallpaperService {
+    ctor public WatchFaceService();
+    method @WorkerThread protected androidx.wear.watchface.ComplicationSlotsManager createComplicationSlotsManager(androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository);
+    method @WorkerThread protected androidx.wear.watchface.style.UserStyleSchema createUserStyleSchema();
+    method @WorkerThread protected abstract suspend Object? createWatchFace(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.WatchState watchState, androidx.wear.watchface.ComplicationSlotsManager complicationSlotsManager, androidx.wear.watchface.style.CurrentUserStyleRepository currentUserStyleRepository, kotlin.coroutines.Continuation<? super androidx.wear.watchface.WatchFace> p);
+    method public final android.os.Handler getBackgroundThreadHandler();
+    method public final android.os.Handler getUiThreadHandler();
+    method public final android.service.wallpaper.WallpaperService.Engine onCreateEngine();
+    field public static final androidx.wear.watchface.WatchFaceService.Companion Companion;
+    field public static final int MAX_CREATE_WATCHFACE_TIME_MILLIS = 5000; // 0x1388
+  }
+
+  public static final class WatchFaceService.Companion {
+  }
+
+  public final class WatchFaceServiceKt {
+  }
+
+  public final class WatchState {
+    ctor public WatchState(kotlinx.coroutines.flow.StateFlow<java.lang.Integer> interruptionFilter, kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isAmbient, kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isBatteryLowAndNotCharging, kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isVisible, boolean hasLowBitAmbient, boolean hasBurnInProtection, long analogPreviewReferenceTimeMillis, long digitalPreviewReferenceTimeMillis, @Px int chinHeight, boolean isHeadless);
+    method public long getAnalogPreviewReferenceTimeMillis();
+    method @Px public int getChinHeight();
+    method public long getDigitalPreviewReferenceTimeMillis();
+    method public boolean getHasBurnInProtection();
+    method public boolean getHasLowBitAmbient();
+    method public kotlinx.coroutines.flow.StateFlow<java.lang.Integer> getInterruptionFilter();
+    method public kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isAmbient();
+    method public boolean isHeadless();
+    method public kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isVisible();
+    property public final long analogPreviewReferenceTimeMillis;
+    property @Px public final int chinHeight;
+    property public final long digitalPreviewReferenceTimeMillis;
+    property public final boolean hasBurnInProtection;
+    property public final boolean hasLowBitAmbient;
+    property public final kotlinx.coroutines.flow.StateFlow<java.lang.Integer> interruptionFilter;
+    property public final kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isAmbient;
+    property public final boolean isHeadless;
+    property public final kotlinx.coroutines.flow.StateFlow<java.lang.Boolean> isVisible;
+  }
+
+}
+
diff --git a/wear/watchface/watchface/lint-baseline.xml b/wear/watchface/watchface/lint-baseline.xml
index 6c2fe63..4ad4845 100644
--- a/wear/watchface/watchface/lint-baseline.xml
+++ b/wear/watchface/watchface/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha08" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-alpha08)" variant="all" version="7.1.0-alpha08">
+<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">
 
     <issue
         id="MissingClass"
@@ -57,6 +57,17 @@
     </issue>
 
     <issue
+        id="NewApi"
+        message="Call requires API level 27 (current min is 26): `dump`"
+        errorLine1="        HeadlessWatchFaceImpl.dump(indentingPrintWriter)"
+        errorLine2="                              ~~~~">
+        <location
+            file="src/main/java/androidx/wear/watchface/WatchFaceService.kt"
+            line="1855"
+            column="31"/>
+    </issue>
+
+    <issue
         id="WrongThread"
         message="Method addTapListener must be called from the UI thread, currently inferred thread is worker thread"
         errorLine1="        complicationSlotsManager.addTapListener("
@@ -78,4 +89,15 @@
             column="44"/>
     </issue>
 
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.N)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/watchface/ComplicationHelperActivity.java"
+            line="62"
+            column="1"/>
+    </issue>
+
 </issues>
diff --git a/wear/watchface/watchface/samples/app/lint-baseline.xml b/wear/watchface/watchface/samples/app/lint-baseline.xml
index 68653f9..66b5be4 100644
--- a/wear/watchface/watchface/samples/app/lint-baseline.xml
+++ b/wear/watchface/watchface/samples/app/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha08" type="baseline" client="gradle" dependencies="true" name="AGP (7.1.0-alpha08)" variant="all" version="7.1.0-alpha08">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="MissingClass"
@@ -79,6 +79,39 @@
     </issue>
 
     <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.N)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/watchface/ComplicationHelperActivity.java"
+            line="62"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(VERSION_CODES.KITKAT)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/android/support/wearable/watchface/accessibility/ContentDescriptionLabel.java"
+            line="46"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 30 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.R)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/watchface/editor/WatchFaceEditorContract.kt"
+            line="107"
+            column="5"/>
+    </issue>
+
+    <issue
         id="MissingQuantity"
         message="For locale &quot;fr&quot; (French) the following quantities should also be defined: `many`"
         errorLine1="    &lt;plurals name=&quot;time_difference_short_days&quot; formatted=&quot;false&quot; msgid=&quot;3878057769320887026&quot;>"
diff --git a/wear/watchface/watchface/samples/lint-baseline.xml b/wear/watchface/watchface/samples/lint-baseline.xml
index 68653f9..66b5be4 100644
--- a/wear/watchface/watchface/samples/lint-baseline.xml
+++ b/wear/watchface/watchface/samples/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha08" type="baseline" client="gradle" dependencies="true" name="AGP (7.1.0-alpha08)" variant="all" version="7.1.0-alpha08">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="MissingClass"
@@ -79,6 +79,39 @@
     </issue>
 
     <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.N)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/watchface/ComplicationHelperActivity.java"
+            line="62"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(VERSION_CODES.KITKAT)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/android/support/wearable/watchface/accessibility/ContentDescriptionLabel.java"
+            line="46"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 30 here from outer annotations"
+        errorLine1="    @RequiresApi(Build.VERSION_CODES.R)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/watchface/editor/WatchFaceEditorContract.kt"
+            line="107"
+            column="5"/>
+    </issue>
+
+    <issue
         id="MissingQuantity"
         message="For locale &quot;fr&quot; (French) the following quantities should also be defined: `many`"
         errorLine1="    &lt;plurals name=&quot;time_difference_short_days&quot; formatted=&quot;false&quot; msgid=&quot;3878057769320887026&quot;>"
diff --git a/wear/watchface/watchface/samples/minimal/lint-baseline.xml b/wear/watchface/watchface/samples/minimal/lint-baseline.xml
index 68653f9..90f1a74 100644
--- a/wear/watchface/watchface/samples/minimal/lint-baseline.xml
+++ b/wear/watchface/watchface/samples/minimal/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha08" type="baseline" client="gradle" dependencies="true" name="AGP (7.1.0-alpha08)" variant="all" version="7.1.0-alpha08">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="MissingClass"
@@ -79,6 +79,28 @@
     </issue>
 
     <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.N)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/watchface/ComplicationHelperActivity.java"
+            line="62"
+            column="1"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 26 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(VERSION_CODES.KITKAT)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/android/support/wearable/watchface/accessibility/ContentDescriptionLabel.java"
+            line="46"
+            column="1"/>
+    </issue>
+
+    <issue
         id="MissingQuantity"
         message="For locale &quot;fr&quot; (French) the following quantities should also be defined: `many`"
         errorLine1="    &lt;plurals name=&quot;time_difference_short_days&quot; formatted=&quot;false&quot; msgid=&quot;3878057769320887026&quot;>"
diff --git a/wear/watchface/watchface/src/androidTest/java/androidx/wear/watchface/test/WatchFaceServiceImageTest.kt b/wear/watchface/watchface/src/androidTest/java/androidx/wear/watchface/test/WatchFaceServiceImageTest.kt
index 38e3e47..a3d04ec 100644
--- a/wear/watchface/watchface/src/androidTest/java/androidx/wear/watchface/test/WatchFaceServiceImageTest.kt
+++ b/wear/watchface/watchface/src/androidTest/java/androidx/wear/watchface/test/WatchFaceServiceImageTest.kt
@@ -270,7 +270,7 @@
                             ComplicationTapActivity::class.java
                         ).apply {
                         },
-                        PendingIntent.FLAG_ONE_SHOT
+                        PendingIntent.FLAG_ONE_SHOT or PendingIntent.FLAG_IMMUTABLE
                     )
                 )
                 .build()
diff --git a/wear/watchface/watchface/src/main/java/androidx/wear/watchface/ComplicationDataSourceChooserIntent.java b/wear/watchface/watchface/src/main/java/androidx/wear/watchface/ComplicationDataSourceChooserIntent.java
index 60049d7..5ba27ea 100644
--- a/wear/watchface/watchface/src/main/java/androidx/wear/watchface/ComplicationDataSourceChooserIntent.java
+++ b/wear/watchface/watchface/src/main/java/androidx/wear/watchface/ComplicationDataSourceChooserIntent.java
@@ -185,7 +185,8 @@
                 watchFace, watchFaceComplicationId, supportedTypes);
         // Add a placeholder PendingIntent to allow the UID to be checked.
         intent.putExtra(
-                EXTRA_PENDING_INTENT, PendingIntent.getActivity(context, 0, new Intent(""), 0));
+                EXTRA_PENDING_INTENT, PendingIntent.getActivity(
+                        context, 0, new Intent(""), PendingIntent.FLAG_IMMUTABLE));
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         context.startActivity(intent);
     }
diff --git a/wear/watchface/watchface/src/main/java/androidx/wear/watchface/ComplicationHelperActivity.java b/wear/watchface/watchface/src/main/java/androidx/wear/watchface/ComplicationHelperActivity.java
index f4d58c4..26c5e33 100644
--- a/wear/watchface/watchface/src/main/java/androidx/wear/watchface/ComplicationHelperActivity.java
+++ b/wear/watchface/watchface/src/main/java/androidx/wear/watchface/ComplicationHelperActivity.java
@@ -325,7 +325,8 @@
         // Add a placeholder PendingIntent to allow the UID to be checked.
         intent.putExtra(
                 ComplicationDataSourceUpdateRequesterConstants.EXTRA_PENDING_INTENT,
-                PendingIntent.getActivity(this, 0, new Intent(""), 0));
+                PendingIntent.getActivity(
+                        this, 0, new Intent(""), PendingIntent.FLAG_IMMUTABLE));
         sendBroadcast(intent);
     }
 
diff --git a/wear/watchface/watchface/src/test/java/androidx/wear/watchface/TestCommon.kt b/wear/watchface/watchface/src/test/java/androidx/wear/watchface/TestCommon.kt
index 6f13864..0e47167 100644
--- a/wear/watchface/watchface/src/test/java/androidx/wear/watchface/TestCommon.kt
+++ b/wear/watchface/watchface/src/test/java/androidx/wear/watchface/TestCommon.kt
@@ -248,8 +248,10 @@
         .setShortText(ComplicationText.plainText("Test Text"))
         .setTapAction(
             PendingIntent.getActivity(
-                ApplicationProvider.getApplicationContext(), 0,
-                Intent("Fake intent"), 0
+                ApplicationProvider.getApplicationContext(),
+                0,
+                Intent("Fake intent"),
+                PendingIntent.FLAG_IMMUTABLE
             )
         ).build().toApiComplicationData()
 
diff --git a/wear/wear-input-testing/lint-baseline.xml b/wear/wear-input-testing/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/wear-input-testing/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/wear-input/lint-baseline.xml b/wear/wear-input/lint-baseline.xml
new file mode 100644
index 0000000..29a6c3a
--- /dev/null
+++ b/wear/wear-input/lint-baseline.xml
@@ -0,0 +1,15 @@
+<?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">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 25 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.N)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/input/RemoteInputIntentHelper.kt"
+            line="54"
+            column="1"/>
+    </issue>
+
+</issues>
diff --git a/wear/wear-input/samples/lint-baseline.xml b/wear/wear-input/samples/lint-baseline.xml
new file mode 100644
index 0000000..fc5f1e0
--- /dev/null
+++ b/wear/wear-input/samples/lint-baseline.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 25 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(Build.VERSION_CODES.N)"
+        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/input/RemoteInputIntentHelper.kt"
+            line="54"
+            column="1"/>
+    </issue>
+
+</issues>
diff --git a/wear/wear-ongoing/lint-baseline.xml b/wear/wear-ongoing/lint-baseline.xml
index 0a89a85..415b31e 100644
--- a/wear/wear-ongoing/lint-baseline.xml
+++ b/wear/wear-ongoing/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha08" type="baseline" client="cli" dependencies="false" name="AGP (7.1.0-alpha08)" variant="all" version="7.1.0-alpha08">
+<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">
 
     <issue
         id="NewApi"
@@ -133,4 +133,15 @@
             column="67"/>
     </issue>
 
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 25 from the `minSdkVersion`"
+        errorLine1="@RequiresApi(24)"
+        errorLine2="~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/wear/ongoing/OngoingActivity.java"
+            line="70"
+            column="1"/>
+    </issue>
+
 </issues>
diff --git a/wear/wear-phone-interactions/lint-baseline.xml b/wear/wear-phone-interactions/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/wear-phone-interactions/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/wear-remote-interactions/lint-baseline.xml b/wear/wear-remote-interactions/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/wear/wear-remote-interactions/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/wear/wear-samples-ambient/lint-baseline.xml b/wear/wear-samples-ambient/lint-baseline.xml
index 5a9edfb..2a6c72e 100644
--- a/wear/wear-samples-ambient/lint-baseline.xml
+++ b/wear/wear-samples-ambient/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha08" type="baseline" client="gradle" dependencies="true" name="AGP (7.1.0-alpha08)" variant="all" version="7.1.0-alpha08">
+<issues format="6" by="lint 7.2.0-dev" type="baseline" client="gradle" dependencies="true" name="AGP (7.2.0-dev)" variant="all" version="7.2.0-dev">
 
     <issue
         id="KotlinPropertyAccess"
diff --git a/wear/wear/lint-baseline.xml b/wear/wear/lint-baseline.xml
index 5e14682..e3f1a99 100644
--- a/wear/wear/lint-baseline.xml
+++ b/wear/wear/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha08" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-alpha08)" variant="all" version="7.1.0-alpha08">
+<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">
 
     <issue
         id="KotlinPropertyAccess"
diff --git a/webkit/integration-tests/testapp/lint-baseline.xml b/webkit/integration-tests/testapp/lint-baseline.xml
index 5531cad..5e122ce 100644
--- a/webkit/integration-tests/testapp/lint-baseline.xml
+++ b/webkit/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="BanSynchronizedMethods"
diff --git a/webkit/webkit/api/api_lint.ignore b/webkit/webkit/api/api_lint.ignore
index 635a984..be3cd99 100644
--- a/webkit/webkit/api/api_lint.ignore
+++ b/webkit/webkit/api/api_lint.ignore
@@ -21,10 +21,6 @@
     Symmetric method for `setBlockNetworkLoads` must be named `isBlockNetworkLoads`; was `getBlockNetworkLoads`
 
 
-IntentName: androidx.webkit.WebViewFeature#DISABLED_ACTION_MODE_MENU_ITEMS:
-    Intent action constant name must be ACTION_FOO: DISABLED_ACTION_MODE_MENU_ITEMS
-
-
 MissingGetterMatchingBuilder: androidx.webkit.ProxyConfig.Builder#addDirect():
     androidx.webkit.ProxyConfig does not declare a `getDirects()` method matching method androidx.webkit.ProxyConfig.Builder.addDirect()
 MissingGetterMatchingBuilder: androidx.webkit.ProxyConfig.Builder#addDirect(String):
diff --git a/webkit/webkit/lint-baseline.xml b/webkit/webkit/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/webkit/webkit/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/webkit/webkit/src/main/java/androidx/webkit/WebViewFeature.java b/webkit/webkit/src/main/java/androidx/webkit/WebViewFeature.java
index 73dfdadc..590eaca 100644
--- a/webkit/webkit/src/main/java/androidx/webkit/WebViewFeature.java
+++ b/webkit/webkit/src/main/java/androidx/webkit/WebViewFeature.java
@@ -16,6 +16,7 @@
 
 package androidx.webkit;
 
+import android.annotation.SuppressLint;
 import android.content.Context;
 import android.net.Uri;
 import android.os.Handler;
@@ -131,6 +132,7 @@
      * {@link androidx.webkit.WebSettingsCompat#getDisabledActionModeMenuItems(WebSettings)}, and
      * {@link androidx.webkit.WebSettingsCompat#setDisabledActionModeMenuItems(WebSettings, int)}.
      */
+    @SuppressLint("IntentName") // False positive: this constant is not to be used for Intents.
     public static final String DISABLED_ACTION_MODE_MENU_ITEMS =
             "DISABLED_ACTION_MODE_MENU_ITEMS";
 
diff --git a/window/window-extensions/lint-baseline.xml b/window/window-extensions/lint-baseline.xml
index 1c39784..942cd0e 100644
--- a/window/window-extensions/lint-baseline.xml
+++ b/window/window-extensions/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="NewApi"
diff --git a/window/window-java/api/1.0.0-beta03.txt b/window/window-java/api/1.0.0-beta03.txt
index 8ea20c0..8a28c39 100644
--- a/window/window-java/api/1.0.0-beta03.txt
+++ b/window/window-java/api/1.0.0-beta03.txt
@@ -3,9 +3,7 @@
 
   public final class WindowInfoRepositoryCallbackAdapter implements androidx.window.layout.WindowInfoRepository {
     ctor public WindowInfoRepositoryCallbackAdapter(androidx.window.layout.WindowInfoRepository repository);
-    method public void addCurrentWindowMetricsListener(java.util.concurrent.Executor executor, androidx.core.util.Consumer<androidx.window.layout.WindowMetrics> consumer);
     method public void addWindowLayoutInfoListener(java.util.concurrent.Executor executor, androidx.core.util.Consumer<androidx.window.layout.WindowLayoutInfo> consumer);
-    method public void removeCurrentWindowMetricsListener(androidx.core.util.Consumer<androidx.window.layout.WindowMetrics> consumer);
     method public void removeWindowLayoutInfoListener(androidx.core.util.Consumer<androidx.window.layout.WindowLayoutInfo> consumer);
   }
 
diff --git a/window/window-java/api/current.ignore b/window/window-java/api/current.ignore
new file mode 100644
index 0000000..ff81b11
--- /dev/null
+++ b/window/window-java/api/current.ignore
@@ -0,0 +1,5 @@
+// Baseline format: 1.0
+RemovedMethod: androidx.window.java.layout.WindowInfoRepositoryCallbackAdapter#addCurrentWindowMetricsListener(java.util.concurrent.Executor, androidx.core.util.Consumer<androidx.window.layout.WindowMetrics>):
+    Removed method androidx.window.java.layout.WindowInfoRepositoryCallbackAdapter.addCurrentWindowMetricsListener(java.util.concurrent.Executor,androidx.core.util.Consumer<androidx.window.layout.WindowMetrics>)
+RemovedMethod: androidx.window.java.layout.WindowInfoRepositoryCallbackAdapter#removeCurrentWindowMetricsListener(androidx.core.util.Consumer<androidx.window.layout.WindowMetrics>):
+    Removed method androidx.window.java.layout.WindowInfoRepositoryCallbackAdapter.removeCurrentWindowMetricsListener(androidx.core.util.Consumer<androidx.window.layout.WindowMetrics>)
diff --git a/window/window-java/api/current.txt b/window/window-java/api/current.txt
index 8ea20c0..8a28c39 100644
--- a/window/window-java/api/current.txt
+++ b/window/window-java/api/current.txt
@@ -3,9 +3,7 @@
 
   public final class WindowInfoRepositoryCallbackAdapter implements androidx.window.layout.WindowInfoRepository {
     ctor public WindowInfoRepositoryCallbackAdapter(androidx.window.layout.WindowInfoRepository repository);
-    method public void addCurrentWindowMetricsListener(java.util.concurrent.Executor executor, androidx.core.util.Consumer<androidx.window.layout.WindowMetrics> consumer);
     method public void addWindowLayoutInfoListener(java.util.concurrent.Executor executor, androidx.core.util.Consumer<androidx.window.layout.WindowLayoutInfo> consumer);
-    method public void removeCurrentWindowMetricsListener(androidx.core.util.Consumer<androidx.window.layout.WindowMetrics> consumer);
     method public void removeWindowLayoutInfoListener(androidx.core.util.Consumer<androidx.window.layout.WindowLayoutInfo> consumer);
   }
 
diff --git a/window/window-java/api/public_plus_experimental_1.0.0-beta03.txt b/window/window-java/api/public_plus_experimental_1.0.0-beta03.txt
index 8ea20c0..8a28c39 100644
--- a/window/window-java/api/public_plus_experimental_1.0.0-beta03.txt
+++ b/window/window-java/api/public_plus_experimental_1.0.0-beta03.txt
@@ -3,9 +3,7 @@
 
   public final class WindowInfoRepositoryCallbackAdapter implements androidx.window.layout.WindowInfoRepository {
     ctor public WindowInfoRepositoryCallbackAdapter(androidx.window.layout.WindowInfoRepository repository);
-    method public void addCurrentWindowMetricsListener(java.util.concurrent.Executor executor, androidx.core.util.Consumer<androidx.window.layout.WindowMetrics> consumer);
     method public void addWindowLayoutInfoListener(java.util.concurrent.Executor executor, androidx.core.util.Consumer<androidx.window.layout.WindowLayoutInfo> consumer);
-    method public void removeCurrentWindowMetricsListener(androidx.core.util.Consumer<androidx.window.layout.WindowMetrics> consumer);
     method public void removeWindowLayoutInfoListener(androidx.core.util.Consumer<androidx.window.layout.WindowLayoutInfo> consumer);
   }
 
diff --git a/window/window-java/api/public_plus_experimental_current.txt b/window/window-java/api/public_plus_experimental_current.txt
index 8ea20c0..8a28c39 100644
--- a/window/window-java/api/public_plus_experimental_current.txt
+++ b/window/window-java/api/public_plus_experimental_current.txt
@@ -3,9 +3,7 @@
 
   public final class WindowInfoRepositoryCallbackAdapter implements androidx.window.layout.WindowInfoRepository {
     ctor public WindowInfoRepositoryCallbackAdapter(androidx.window.layout.WindowInfoRepository repository);
-    method public void addCurrentWindowMetricsListener(java.util.concurrent.Executor executor, androidx.core.util.Consumer<androidx.window.layout.WindowMetrics> consumer);
     method public void addWindowLayoutInfoListener(java.util.concurrent.Executor executor, androidx.core.util.Consumer<androidx.window.layout.WindowLayoutInfo> consumer);
-    method public void removeCurrentWindowMetricsListener(androidx.core.util.Consumer<androidx.window.layout.WindowMetrics> consumer);
     method public void removeWindowLayoutInfoListener(androidx.core.util.Consumer<androidx.window.layout.WindowLayoutInfo> consumer);
   }
 
diff --git a/window/window-java/api/restricted_1.0.0-beta03.txt b/window/window-java/api/restricted_1.0.0-beta03.txt
index 8ea20c0..8a28c39 100644
--- a/window/window-java/api/restricted_1.0.0-beta03.txt
+++ b/window/window-java/api/restricted_1.0.0-beta03.txt
@@ -3,9 +3,7 @@
 
   public final class WindowInfoRepositoryCallbackAdapter implements androidx.window.layout.WindowInfoRepository {
     ctor public WindowInfoRepositoryCallbackAdapter(androidx.window.layout.WindowInfoRepository repository);
-    method public void addCurrentWindowMetricsListener(java.util.concurrent.Executor executor, androidx.core.util.Consumer<androidx.window.layout.WindowMetrics> consumer);
     method public void addWindowLayoutInfoListener(java.util.concurrent.Executor executor, androidx.core.util.Consumer<androidx.window.layout.WindowLayoutInfo> consumer);
-    method public void removeCurrentWindowMetricsListener(androidx.core.util.Consumer<androidx.window.layout.WindowMetrics> consumer);
     method public void removeWindowLayoutInfoListener(androidx.core.util.Consumer<androidx.window.layout.WindowLayoutInfo> consumer);
   }
 
diff --git a/window/window-java/api/restricted_current.ignore b/window/window-java/api/restricted_current.ignore
new file mode 100644
index 0000000..ff81b11
--- /dev/null
+++ b/window/window-java/api/restricted_current.ignore
@@ -0,0 +1,5 @@
+// Baseline format: 1.0
+RemovedMethod: androidx.window.java.layout.WindowInfoRepositoryCallbackAdapter#addCurrentWindowMetricsListener(java.util.concurrent.Executor, androidx.core.util.Consumer<androidx.window.layout.WindowMetrics>):
+    Removed method androidx.window.java.layout.WindowInfoRepositoryCallbackAdapter.addCurrentWindowMetricsListener(java.util.concurrent.Executor,androidx.core.util.Consumer<androidx.window.layout.WindowMetrics>)
+RemovedMethod: androidx.window.java.layout.WindowInfoRepositoryCallbackAdapter#removeCurrentWindowMetricsListener(androidx.core.util.Consumer<androidx.window.layout.WindowMetrics>):
+    Removed method androidx.window.java.layout.WindowInfoRepositoryCallbackAdapter.removeCurrentWindowMetricsListener(androidx.core.util.Consumer<androidx.window.layout.WindowMetrics>)
diff --git a/window/window-java/api/restricted_current.txt b/window/window-java/api/restricted_current.txt
index 8ea20c0..8a28c39 100644
--- a/window/window-java/api/restricted_current.txt
+++ b/window/window-java/api/restricted_current.txt
@@ -3,9 +3,7 @@
 
   public final class WindowInfoRepositoryCallbackAdapter implements androidx.window.layout.WindowInfoRepository {
     ctor public WindowInfoRepositoryCallbackAdapter(androidx.window.layout.WindowInfoRepository repository);
-    method public void addCurrentWindowMetricsListener(java.util.concurrent.Executor executor, androidx.core.util.Consumer<androidx.window.layout.WindowMetrics> consumer);
     method public void addWindowLayoutInfoListener(java.util.concurrent.Executor executor, androidx.core.util.Consumer<androidx.window.layout.WindowLayoutInfo> consumer);
-    method public void removeCurrentWindowMetricsListener(androidx.core.util.Consumer<androidx.window.layout.WindowMetrics> consumer);
     method public void removeWindowLayoutInfoListener(androidx.core.util.Consumer<androidx.window.layout.WindowLayoutInfo> consumer);
   }
 
diff --git a/window/window-java/lint-baseline.xml b/window/window-java/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/window/window-java/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/window/window-java/src/androidTest/java/androidx/window/java/layout/WindowInfoRepositoryCallbackAdapterTest.kt b/window/window-java/src/androidTest/java/androidx/window/java/layout/WindowInfoRepositoryCallbackAdapterTest.kt
index fcb4a6f..7b2688d 100644
--- a/window/window-java/src/androidTest/java/androidx/window/java/layout/WindowInfoRepositoryCallbackAdapterTest.kt
+++ b/window/window-java/src/androidTest/java/androidx/window/java/layout/WindowInfoRepositoryCallbackAdapterTest.kt
@@ -16,12 +16,10 @@
 
 package androidx.window.java.layout
 
-import android.graphics.Rect
 import androidx.window.java.TestConsumer
 import androidx.window.layout.FoldingFeature
 import androidx.window.layout.WindowInfoRepository
 import androidx.window.layout.WindowLayoutInfo
-import androidx.window.layout.WindowMetrics
 import com.nhaarman.mockitokotlin2.mock
 import com.nhaarman.mockitokotlin2.whenever
 import kotlinx.coroutines.channels.Channel
@@ -38,51 +36,6 @@
 public class WindowInfoRepositoryCallbackAdapterTest {
 
     @Test
-    public fun testCurrentWindowMetrics() {
-        val expected = WindowMetrics(Rect(0, 1, 2, 3))
-        val mockRepo = mock<WindowInfoRepository>()
-        whenever(mockRepo.currentWindowMetrics).thenReturn(flowOf(expected))
-        val unitUnderTest = WindowInfoRepositoryCallbackAdapter(mockRepo)
-        val testConsumer = TestConsumer<WindowMetrics>()
-
-        unitUnderTest.addCurrentWindowMetricsListener(Runnable::run, testConsumer)
-
-        testConsumer.assertValue(expected)
-    }
-
-    @Test
-    public fun testCurrentWindowMetrics_registerMultipleIsNoOp() {
-        val expected = WindowMetrics(Rect(0, 1, 2, 3))
-        val mockRepo = mock<WindowInfoRepository>()
-        whenever(mockRepo.currentWindowMetrics).thenReturn(flowOf(expected))
-        val unitUnderTest = WindowInfoRepositoryCallbackAdapter(mockRepo)
-        val testConsumer = TestConsumer<WindowMetrics>()
-
-        unitUnderTest.addCurrentWindowMetricsListener(Runnable::run, testConsumer)
-        unitUnderTest.addCurrentWindowMetricsListener(Runnable::run, testConsumer)
-
-        testConsumer.assertValue(expected)
-    }
-
-    @Test
-    public fun testCurrentWindowMetrics_unregister() {
-        val metrics = WindowMetrics(Rect(0, 1, 2, 3))
-        val mockRepo = mock<WindowInfoRepository>()
-        val channel = Channel<WindowMetrics>()
-        whenever(mockRepo.currentWindowMetrics).thenReturn(channel.receiveAsFlow())
-        val unitUnderTest = WindowInfoRepositoryCallbackAdapter(mockRepo)
-        val testConsumer = TestConsumer<WindowMetrics>()
-
-        unitUnderTest.addCurrentWindowMetricsListener(Runnable::run, testConsumer)
-        unitUnderTest.addCurrentWindowMetricsListener(Runnable::run, mock())
-        unitUnderTest.removeCurrentWindowMetricsListener(testConsumer)
-        val accepted = channel.trySend(metrics).isSuccess
-
-        assertTrue(accepted)
-        testConsumer.assertEmpty()
-    }
-
-    @Test
     public fun testRegisterListener() {
         val feature = mock<FoldingFeature>()
         val expected = WindowLayoutInfo(listOf(feature))
diff --git a/window/window-java/src/main/java/androidx/window/java/layout/WindowInfoRepositoryCallbackAdapter.kt b/window/window-java/src/main/java/androidx/window/java/layout/WindowInfoRepositoryCallbackAdapter.kt
index 83bd3fe..a3b8b6c 100644
--- a/window/window-java/src/main/java/androidx/window/java/layout/WindowInfoRepositoryCallbackAdapter.kt
+++ b/window/window-java/src/main/java/androidx/window/java/layout/WindowInfoRepositoryCallbackAdapter.kt
@@ -19,7 +19,6 @@
 import androidx.core.util.Consumer
 import androidx.window.layout.WindowInfoRepository
 import androidx.window.layout.WindowLayoutInfo
-import androidx.window.layout.WindowMetrics
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Job
 import kotlinx.coroutines.asCoroutineDispatcher
@@ -45,24 +44,6 @@
     private val consumerToJobMap = mutableMapOf<Consumer<*>, Job>()
 
     /**
-     * Register a listener to consume [WindowMetrics] values. If the same consumer is registered
-     * twice then this method is a no-op.
-     * @see WindowInfoRepository.currentWindowMetrics
-     */
-    fun addCurrentWindowMetricsListener(executor: Executor, consumer: Consumer<WindowMetrics>) {
-        addListener(executor, consumer, repository.currentWindowMetrics)
-    }
-
-    /**
-     * Remove a listener to stop consuming [WindowMetrics] values. If the listener has already
-     * been removed then this is a no-op.
-     * @see WindowInfoRepository.currentWindowMetrics
-     */
-    fun removeCurrentWindowMetricsListener(consumer: Consumer<WindowMetrics>) {
-        removeListener(consumer)
-    }
-
-    /**
      * Register a listener to consume [WindowLayoutInfo] values. If the same consumer is
      * registered twice then this method is a no-op.
      * @see WindowInfoRepository.windowLayoutInfo
diff --git a/window/window-rxjava2/api/1.0.0-beta03.txt b/window/window-rxjava2/api/1.0.0-beta03.txt
index ba57afd..d8a00a0 100644
--- a/window/window-rxjava2/api/1.0.0-beta03.txt
+++ b/window/window-rxjava2/api/1.0.0-beta03.txt
@@ -2,8 +2,6 @@
 package androidx.window.rxjava2.layout {
 
   public final class WindowInfoRepositoryRx {
-    method public static io.reactivex.Flowable<androidx.window.layout.WindowMetrics> currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository);
-    method public static io.reactivex.Observable<androidx.window.layout.WindowMetrics> currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.Flowable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoFlowable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.Observable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoObservable(androidx.window.layout.WindowInfoRepository);
   }
diff --git a/window/window-rxjava2/api/current.ignore b/window/window-rxjava2/api/current.ignore
new file mode 100644
index 0000000..4655173
--- /dev/null
+++ b/window/window-rxjava2/api/current.ignore
@@ -0,0 +1,5 @@
+// Baseline format: 1.0
+RemovedMethod: androidx.window.rxjava2.layout.WindowInfoRepositoryRx#currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository):
+    Removed method androidx.window.rxjava2.layout.WindowInfoRepositoryRx.currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository)
+RemovedMethod: androidx.window.rxjava2.layout.WindowInfoRepositoryRx#currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository):
+    Removed method androidx.window.rxjava2.layout.WindowInfoRepositoryRx.currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository)
diff --git a/window/window-rxjava2/api/current.txt b/window/window-rxjava2/api/current.txt
index ba57afd..d8a00a0 100644
--- a/window/window-rxjava2/api/current.txt
+++ b/window/window-rxjava2/api/current.txt
@@ -2,8 +2,6 @@
 package androidx.window.rxjava2.layout {
 
   public final class WindowInfoRepositoryRx {
-    method public static io.reactivex.Flowable<androidx.window.layout.WindowMetrics> currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository);
-    method public static io.reactivex.Observable<androidx.window.layout.WindowMetrics> currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.Flowable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoFlowable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.Observable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoObservable(androidx.window.layout.WindowInfoRepository);
   }
diff --git a/window/window-rxjava2/api/public_plus_experimental_1.0.0-beta03.txt b/window/window-rxjava2/api/public_plus_experimental_1.0.0-beta03.txt
index ba57afd..d8a00a0 100644
--- a/window/window-rxjava2/api/public_plus_experimental_1.0.0-beta03.txt
+++ b/window/window-rxjava2/api/public_plus_experimental_1.0.0-beta03.txt
@@ -2,8 +2,6 @@
 package androidx.window.rxjava2.layout {
 
   public final class WindowInfoRepositoryRx {
-    method public static io.reactivex.Flowable<androidx.window.layout.WindowMetrics> currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository);
-    method public static io.reactivex.Observable<androidx.window.layout.WindowMetrics> currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.Flowable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoFlowable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.Observable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoObservable(androidx.window.layout.WindowInfoRepository);
   }
diff --git a/window/window-rxjava2/api/public_plus_experimental_current.txt b/window/window-rxjava2/api/public_plus_experimental_current.txt
index ba57afd..d8a00a0 100644
--- a/window/window-rxjava2/api/public_plus_experimental_current.txt
+++ b/window/window-rxjava2/api/public_plus_experimental_current.txt
@@ -2,8 +2,6 @@
 package androidx.window.rxjava2.layout {
 
   public final class WindowInfoRepositoryRx {
-    method public static io.reactivex.Flowable<androidx.window.layout.WindowMetrics> currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository);
-    method public static io.reactivex.Observable<androidx.window.layout.WindowMetrics> currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.Flowable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoFlowable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.Observable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoObservable(androidx.window.layout.WindowInfoRepository);
   }
diff --git a/window/window-rxjava2/api/restricted_1.0.0-beta03.txt b/window/window-rxjava2/api/restricted_1.0.0-beta03.txt
index ba57afd..d8a00a0 100644
--- a/window/window-rxjava2/api/restricted_1.0.0-beta03.txt
+++ b/window/window-rxjava2/api/restricted_1.0.0-beta03.txt
@@ -2,8 +2,6 @@
 package androidx.window.rxjava2.layout {
 
   public final class WindowInfoRepositoryRx {
-    method public static io.reactivex.Flowable<androidx.window.layout.WindowMetrics> currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository);
-    method public static io.reactivex.Observable<androidx.window.layout.WindowMetrics> currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.Flowable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoFlowable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.Observable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoObservable(androidx.window.layout.WindowInfoRepository);
   }
diff --git a/window/window-rxjava2/api/restricted_current.ignore b/window/window-rxjava2/api/restricted_current.ignore
new file mode 100644
index 0000000..4655173
--- /dev/null
+++ b/window/window-rxjava2/api/restricted_current.ignore
@@ -0,0 +1,5 @@
+// Baseline format: 1.0
+RemovedMethod: androidx.window.rxjava2.layout.WindowInfoRepositoryRx#currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository):
+    Removed method androidx.window.rxjava2.layout.WindowInfoRepositoryRx.currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository)
+RemovedMethod: androidx.window.rxjava2.layout.WindowInfoRepositoryRx#currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository):
+    Removed method androidx.window.rxjava2.layout.WindowInfoRepositoryRx.currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository)
diff --git a/window/window-rxjava2/api/restricted_current.txt b/window/window-rxjava2/api/restricted_current.txt
index ba57afd..d8a00a0 100644
--- a/window/window-rxjava2/api/restricted_current.txt
+++ b/window/window-rxjava2/api/restricted_current.txt
@@ -2,8 +2,6 @@
 package androidx.window.rxjava2.layout {
 
   public final class WindowInfoRepositoryRx {
-    method public static io.reactivex.Flowable<androidx.window.layout.WindowMetrics> currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository);
-    method public static io.reactivex.Observable<androidx.window.layout.WindowMetrics> currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.Flowable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoFlowable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.Observable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoObservable(androidx.window.layout.WindowInfoRepository);
   }
diff --git a/window/window-rxjava2/lint-baseline.xml b/window/window-rxjava2/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/window/window-rxjava2/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/window/window-rxjava2/src/androidTest/java/androidx/window/rxjava2/layout/WindowInfoRepositoryRxTest.kt b/window/window-rxjava2/src/androidTest/java/androidx/window/rxjava2/layout/WindowInfoRepositoryRxTest.kt
index 7691c47..7e72dd7 100644
--- a/window/window-rxjava2/src/androidTest/java/androidx/window/rxjava2/layout/WindowInfoRepositoryRxTest.kt
+++ b/window/window-rxjava2/src/androidTest/java/androidx/window/rxjava2/layout/WindowInfoRepositoryRxTest.kt
@@ -16,11 +16,9 @@
 
 package androidx.window.rxjava2.layout
 
-import android.graphics.Rect
 import androidx.window.layout.FoldingFeature
 import androidx.window.layout.WindowInfoRepository
 import androidx.window.layout.WindowLayoutInfo
-import androidx.window.layout.WindowMetrics
 import com.nhaarman.mockitokotlin2.mock
 import com.nhaarman.mockitokotlin2.whenever
 import kotlinx.coroutines.flow.flowOf
@@ -30,27 +28,6 @@
  * Tests for the RxJava 2 adapters.
  */
 public class WindowInfoRepositoryRxTest {
-    @Test
-    public fun testCurrentWindowMetricsObservable() {
-        val expected = WindowMetrics(Rect(0, 1, 2, 3))
-        val mockRepo = mock<WindowInfoRepository>()
-        whenever(mockRepo.currentWindowMetrics).thenReturn(flowOf(expected))
-
-        val testSubscriber = mockRepo.currentWindowMetricsObservable().test()
-
-        testSubscriber.assertValue(expected)
-    }
-
-    @Test
-    public fun testCurrentWindowMetricsFlowable() {
-        val expected = WindowMetrics(Rect(0, 1, 2, 3))
-        val mockRepo = mock<WindowInfoRepository>()
-        whenever(mockRepo.currentWindowMetrics).thenReturn(flowOf(expected))
-
-        val testSubscriber = mockRepo.currentWindowMetricsFlowable().test()
-
-        testSubscriber.assertValue(expected)
-    }
 
     @Test
     public fun testWindowLayoutInfoObservable() {
diff --git a/window/window-rxjava2/src/main/java/androidx/window/rxjava2/layout/WindowInfoRepositoryRx.kt b/window/window-rxjava2/src/main/java/androidx/window/rxjava2/layout/WindowInfoRepositoryRx.kt
index 4f02229..c32334f 100644
--- a/window/window-rxjava2/src/main/java/androidx/window/rxjava2/layout/WindowInfoRepositoryRx.kt
+++ b/window/window-rxjava2/src/main/java/androidx/window/rxjava2/layout/WindowInfoRepositoryRx.kt
@@ -19,29 +19,12 @@
 
 import androidx.window.layout.WindowInfoRepository
 import androidx.window.layout.WindowLayoutInfo
-import androidx.window.layout.WindowMetrics
 import io.reactivex.Flowable
 import io.reactivex.Observable
 import kotlinx.coroutines.rx2.asFlowable
 import kotlinx.coroutines.rx2.asObservable
 
 /**
- * Return an [Observable] stream of [WindowMetrics].
- * @see WindowInfoRepository.currentWindowMetrics
- */
-fun WindowInfoRepository.currentWindowMetricsObservable(): Observable<WindowMetrics> {
-    return currentWindowMetrics.asObservable()
-}
-
-/**
- * Return a [Flowable] stream of [WindowMetrics].
- * @see WindowInfoRepository.currentWindowMetrics
- */
-fun WindowInfoRepository.currentWindowMetricsFlowable(): Flowable<WindowMetrics> {
-    return currentWindowMetrics.asFlowable()
-}
-
-/**
  * Return an [Observable] stream of [WindowLayoutInfo].
  * @see WindowInfoRepository.windowLayoutInfo
  */
diff --git a/window/window-rxjava3/api/1.0.0-beta03.txt b/window/window-rxjava3/api/1.0.0-beta03.txt
index f4a0b0e..aafca43 100644
--- a/window/window-rxjava3/api/1.0.0-beta03.txt
+++ b/window/window-rxjava3/api/1.0.0-beta03.txt
@@ -2,8 +2,6 @@
 package androidx.window.rxjava3.layout {
 
   public final class WindowInfoRepositoryRx {
-    method public static io.reactivex.rxjava3.core.Flowable<androidx.window.layout.WindowMetrics> currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository);
-    method public static io.reactivex.rxjava3.core.Observable<androidx.window.layout.WindowMetrics> currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.rxjava3.core.Flowable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoFlowable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.rxjava3.core.Observable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoObservable(androidx.window.layout.WindowInfoRepository);
   }
diff --git a/window/window-rxjava3/api/current.ignore b/window/window-rxjava3/api/current.ignore
new file mode 100644
index 0000000..e5e0b24
--- /dev/null
+++ b/window/window-rxjava3/api/current.ignore
@@ -0,0 +1,5 @@
+// Baseline format: 1.0
+RemovedMethod: androidx.window.rxjava3.layout.WindowInfoRepositoryRx#currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository):
+    Removed method androidx.window.rxjava3.layout.WindowInfoRepositoryRx.currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository)
+RemovedMethod: androidx.window.rxjava3.layout.WindowInfoRepositoryRx#currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository):
+    Removed method androidx.window.rxjava3.layout.WindowInfoRepositoryRx.currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository)
diff --git a/window/window-rxjava3/api/current.txt b/window/window-rxjava3/api/current.txt
index f4a0b0e..aafca43 100644
--- a/window/window-rxjava3/api/current.txt
+++ b/window/window-rxjava3/api/current.txt
@@ -2,8 +2,6 @@
 package androidx.window.rxjava3.layout {
 
   public final class WindowInfoRepositoryRx {
-    method public static io.reactivex.rxjava3.core.Flowable<androidx.window.layout.WindowMetrics> currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository);
-    method public static io.reactivex.rxjava3.core.Observable<androidx.window.layout.WindowMetrics> currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.rxjava3.core.Flowable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoFlowable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.rxjava3.core.Observable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoObservable(androidx.window.layout.WindowInfoRepository);
   }
diff --git a/window/window-rxjava3/api/public_plus_experimental_1.0.0-beta03.txt b/window/window-rxjava3/api/public_plus_experimental_1.0.0-beta03.txt
index f4a0b0e..aafca43 100644
--- a/window/window-rxjava3/api/public_plus_experimental_1.0.0-beta03.txt
+++ b/window/window-rxjava3/api/public_plus_experimental_1.0.0-beta03.txt
@@ -2,8 +2,6 @@
 package androidx.window.rxjava3.layout {
 
   public final class WindowInfoRepositoryRx {
-    method public static io.reactivex.rxjava3.core.Flowable<androidx.window.layout.WindowMetrics> currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository);
-    method public static io.reactivex.rxjava3.core.Observable<androidx.window.layout.WindowMetrics> currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.rxjava3.core.Flowable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoFlowable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.rxjava3.core.Observable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoObservable(androidx.window.layout.WindowInfoRepository);
   }
diff --git a/window/window-rxjava3/api/public_plus_experimental_current.txt b/window/window-rxjava3/api/public_plus_experimental_current.txt
index f4a0b0e..aafca43 100644
--- a/window/window-rxjava3/api/public_plus_experimental_current.txt
+++ b/window/window-rxjava3/api/public_plus_experimental_current.txt
@@ -2,8 +2,6 @@
 package androidx.window.rxjava3.layout {
 
   public final class WindowInfoRepositoryRx {
-    method public static io.reactivex.rxjava3.core.Flowable<androidx.window.layout.WindowMetrics> currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository);
-    method public static io.reactivex.rxjava3.core.Observable<androidx.window.layout.WindowMetrics> currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.rxjava3.core.Flowable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoFlowable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.rxjava3.core.Observable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoObservable(androidx.window.layout.WindowInfoRepository);
   }
diff --git a/window/window-rxjava3/api/restricted_1.0.0-beta03.txt b/window/window-rxjava3/api/restricted_1.0.0-beta03.txt
index f4a0b0e..aafca43 100644
--- a/window/window-rxjava3/api/restricted_1.0.0-beta03.txt
+++ b/window/window-rxjava3/api/restricted_1.0.0-beta03.txt
@@ -2,8 +2,6 @@
 package androidx.window.rxjava3.layout {
 
   public final class WindowInfoRepositoryRx {
-    method public static io.reactivex.rxjava3.core.Flowable<androidx.window.layout.WindowMetrics> currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository);
-    method public static io.reactivex.rxjava3.core.Observable<androidx.window.layout.WindowMetrics> currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.rxjava3.core.Flowable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoFlowable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.rxjava3.core.Observable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoObservable(androidx.window.layout.WindowInfoRepository);
   }
diff --git a/window/window-rxjava3/api/restricted_current.ignore b/window/window-rxjava3/api/restricted_current.ignore
new file mode 100644
index 0000000..e5e0b24
--- /dev/null
+++ b/window/window-rxjava3/api/restricted_current.ignore
@@ -0,0 +1,5 @@
+// Baseline format: 1.0
+RemovedMethod: androidx.window.rxjava3.layout.WindowInfoRepositoryRx#currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository):
+    Removed method androidx.window.rxjava3.layout.WindowInfoRepositoryRx.currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository)
+RemovedMethod: androidx.window.rxjava3.layout.WindowInfoRepositoryRx#currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository):
+    Removed method androidx.window.rxjava3.layout.WindowInfoRepositoryRx.currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository)
diff --git a/window/window-rxjava3/api/restricted_current.txt b/window/window-rxjava3/api/restricted_current.txt
index f4a0b0e..aafca43 100644
--- a/window/window-rxjava3/api/restricted_current.txt
+++ b/window/window-rxjava3/api/restricted_current.txt
@@ -2,8 +2,6 @@
 package androidx.window.rxjava3.layout {
 
   public final class WindowInfoRepositoryRx {
-    method public static io.reactivex.rxjava3.core.Flowable<androidx.window.layout.WindowMetrics> currentWindowMetricsFlowable(androidx.window.layout.WindowInfoRepository);
-    method public static io.reactivex.rxjava3.core.Observable<androidx.window.layout.WindowMetrics> currentWindowMetricsObservable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.rxjava3.core.Flowable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoFlowable(androidx.window.layout.WindowInfoRepository);
     method public static io.reactivex.rxjava3.core.Observable<androidx.window.layout.WindowLayoutInfo> windowLayoutInfoObservable(androidx.window.layout.WindowInfoRepository);
   }
diff --git a/window/window-rxjava3/lint-baseline.xml b/window/window-rxjava3/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/window/window-rxjava3/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/window/window-rxjava3/src/androidTest/java/androidx/window/rxjava3/layout/WindowInfoRepositoryRxTest.kt b/window/window-rxjava3/src/androidTest/java/androidx/window/rxjava3/layout/WindowInfoRepositoryRxTest.kt
index add069f..484be8a9 100644
--- a/window/window-rxjava3/src/androidTest/java/androidx/window/rxjava3/layout/WindowInfoRepositoryRxTest.kt
+++ b/window/window-rxjava3/src/androidTest/java/androidx/window/rxjava3/layout/WindowInfoRepositoryRxTest.kt
@@ -16,11 +16,9 @@
 
 package androidx.window.rxjava3.layout
 
-import android.graphics.Rect
 import androidx.window.layout.FoldingFeature
 import androidx.window.layout.WindowInfoRepository
 import androidx.window.layout.WindowLayoutInfo
-import androidx.window.layout.WindowMetrics
 import com.nhaarman.mockitokotlin2.mock
 import com.nhaarman.mockitokotlin2.whenever
 import kotlinx.coroutines.flow.flowOf
@@ -34,28 +32,6 @@
 public class WindowInfoRepositoryRxTest {
 
     @Test
-    public fun testCurrentWindowMetricsObservable() {
-        val expected = WindowMetrics(Rect(0, 1, 2, 3))
-        val mockRepo = mock<WindowInfoRepository>()
-        whenever(mockRepo.currentWindowMetrics).thenReturn(flowOf(expected))
-
-        val testSubscriber = mockRepo.currentWindowMetricsObservable().test()
-
-        testSubscriber.assertValue(expected)
-    }
-
-    @Test
-    public fun testCurrentWindowMetricsFlowable() {
-        val expected = WindowMetrics(Rect(0, 1, 2, 3))
-        val mockRepo = mock<WindowInfoRepository>()
-        whenever(mockRepo.currentWindowMetrics).thenReturn(flowOf(expected))
-
-        val testSubscriber = mockRepo.currentWindowMetricsFlowable().test()
-
-        testSubscriber.assertValue(expected)
-    }
-
-    @Test
     public fun testWindowLayoutInfoObservable() {
         val feature = mock<FoldingFeature>()
         val expected = WindowLayoutInfo(listOf(feature))
diff --git a/window/window-rxjava3/src/main/java/androidx/window/rxjava3/layout/WindowInfoRepositoryRx.kt b/window/window-rxjava3/src/main/java/androidx/window/rxjava3/layout/WindowInfoRepositoryRx.kt
index f70ee52..25891c9 100644
--- a/window/window-rxjava3/src/main/java/androidx/window/rxjava3/layout/WindowInfoRepositoryRx.kt
+++ b/window/window-rxjava3/src/main/java/androidx/window/rxjava3/layout/WindowInfoRepositoryRx.kt
@@ -19,29 +19,12 @@
 
 import androidx.window.layout.WindowInfoRepository
 import androidx.window.layout.WindowLayoutInfo
-import androidx.window.layout.WindowMetrics
 import io.reactivex.rxjava3.core.Flowable
 import io.reactivex.rxjava3.core.Observable
 import kotlinx.coroutines.rx3.asFlowable
 import kotlinx.coroutines.rx3.asObservable
 
 /**
- * Return an [Observable] stream of [WindowMetrics].
- * @see WindowInfoRepository.currentWindowMetrics
- */
-fun WindowInfoRepository.currentWindowMetricsObservable(): Observable<WindowMetrics> {
-    return currentWindowMetrics.asObservable()
-}
-
-/**
- * Return a [Flowable] stream of [WindowMetrics].
- * @see WindowInfoRepository.currentWindowMetrics
- */
-fun WindowInfoRepository.currentWindowMetricsFlowable(): Flowable<WindowMetrics> {
-    return currentWindowMetrics.asFlowable()
-}
-
-/**
  * Return an [Observable] stream of [WindowLayoutInfo].
  * @see WindowInfoRepository.windowLayoutInfo
  */
diff --git a/window/window-samples/lint-baseline.xml b/window/window-samples/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/window/window-samples/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/window/window-samples/src/main/AndroidManifest.xml b/window/window-samples/src/main/AndroidManifest.xml
index 4ffb8b5..12b0911 100644
--- a/window/window-samples/src/main/AndroidManifest.xml
+++ b/window/window-samples/src/main/AndroidManifest.xml
@@ -23,7 +23,7 @@
         android:label="@string/app_name"
         android:supportsRtl="true"
         android:theme="@style/AppTheme">
-        <activity android:name=".WindowDemosActivity"
+        <activity android:name=".demos.WindowDemosActivity"
             android:exported="true"
             android:label="@string/windowManagerDemos">
             <intent-filter>
@@ -37,6 +37,8 @@
         <activity
             android:name=".DisplayFeaturesActivity"
             android:exported="false"
+            android:configChanges=
+                "orientation|screenSize|screenLayout|screenSize|layoutDirection|smallestScreenSize"
             android:label="@string/display_features" />
         <activity
             android:name=".SplitLayoutActivity"
diff --git a/window/window-samples/src/main/java/androidx/window/sample/DisplayFeaturesActivity.kt b/window/window-samples/src/main/java/androidx/window/sample/DisplayFeaturesActivity.kt
index 6ffdac8..2621e0c8 100644
--- a/window/window-samples/src/main/java/androidx/window/sample/DisplayFeaturesActivity.kt
+++ b/window/window-samples/src/main/java/androidx/window/sample/DisplayFeaturesActivity.kt
@@ -20,13 +20,14 @@
 import android.os.Bundle
 import android.view.View
 import android.widget.FrameLayout
-import android.widget.TextView
 import androidx.appcompat.app.AppCompatActivity
 import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.lifecycleScope
 import androidx.lifecycle.repeatOnLifecycle
+import androidx.recyclerview.widget.RecyclerView
 import androidx.window.layout.WindowInfoRepository.Companion.windowInfoRepository
 import androidx.window.layout.WindowLayoutInfo
+import androidx.window.sample.infolog.InfoLogAdapter
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.flow.collect
 import kotlinx.coroutines.launch
@@ -37,13 +38,14 @@
 /** Demo activity that shows all display features and current device state on the screen. */
 class DisplayFeaturesActivity : AppCompatActivity() {
 
-    private val stateLog: StringBuilder = StringBuilder()
-
+    private val infoLogAdapter = InfoLogAdapter()
     private val displayFeatureViews = ArrayList<View>()
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_display_features)
+        val recyclerView = findViewById<RecyclerView>(R.id.infoLogRecyclerView)
+        recyclerView.adapter = infoLogAdapter
 
         val windowInfoRepo = windowInfoRepository()
 
@@ -62,12 +64,10 @@
                     }
             }
         }
-        stateLog.clear()
-        stateLog.append(getString(R.string.stateUpdateLog)).append("\n")
     }
 
     /** Updates the device state and display feature positions. */
-    internal fun updateCurrentState(windowLayoutInfo: WindowLayoutInfo) {
+    private fun updateCurrentState(windowLayoutInfo: WindowLayoutInfo) {
         // Cleanup previously added feature views
         val rootLayout = findViewById<FrameLayout>(R.id.featureContainerLayout)
         for (featureView in displayFeatureViews) {
@@ -75,12 +75,6 @@
         }
         displayFeatureViews.clear()
 
-        // Update the UI with the current state
-        val stateStringBuilder = StringBuilder()
-
-        stateStringBuilder.append(getString(R.string.windowLayout))
-            .append(": ")
-
         // Add views that represent display features
         for (displayFeature in windowLayoutInfo.displayFeatures) {
             val lp = getLayoutParamsForFeatureInFrameLayout(displayFeature, rootLayout)
@@ -103,17 +97,12 @@
 
             displayFeatureViews.add(featureView)
         }
-
-        findViewById<TextView>(R.id.currentState).text = stateStringBuilder.toString()
     }
 
     /** Adds the current state to the text log of changes on screen. */
-    internal fun updateStateLog(info: Any) {
-        stateLog.append(getCurrentTimeString())
-            .append(" ")
-            .append(info)
-            .append("\n")
-        findViewById<TextView>(R.id.stateUpdateLog).text = stateLog
+    private fun updateStateLog(info: Any) {
+        infoLogAdapter.append(getCurrentTimeString(), info.toString())
+        infoLogAdapter.notifyDataSetChanged()
     }
 
     private fun getCurrentTimeString(): String {
diff --git a/window/window-samples/src/main/java/androidx/window/sample/WindowDemosActivity.kt b/window/window-samples/src/main/java/androidx/window/sample/WindowDemosActivity.kt
deleted file mode 100644
index ac89a72..0000000
--- a/window/window-samples/src/main/java/androidx/window/sample/WindowDemosActivity.kt
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.window.sample
-
-import android.content.Intent
-import android.os.Bundle
-import android.view.View
-import androidx.appcompat.app.AppCompatActivity
-
-/**
- * Main activity that launches WindowManager demos.
-*/
-class WindowDemosActivity : AppCompatActivity() {
-
-    override fun onCreate(savedInstanceState: Bundle?) {
-        super.onCreate(savedInstanceState)
-        setContentView(R.layout.activity_window_demos)
-    }
-
-    fun showDisplayFeatures(@Suppress("UNUSED_PARAMETER")view: View) {
-        val intent = Intent(this, DisplayFeaturesActivity::class.java)
-        startActivity(intent)
-    }
-
-    fun showWindowMetrics(@Suppress("UNUSED_PARAMETER")view: View) {
-        val intent = Intent(this, WindowMetricsActivity::class.java)
-        startActivity(intent)
-    }
-
-    fun showSplitLayout(@Suppress("UNUSED_PARAMETER")view: View) {
-        val intent = Intent(this, SplitLayoutActivity::class.java)
-        startActivity(intent)
-    }
-
-    fun showPresentation(@Suppress("UNUSED_PARAMETER")view: View) {
-        val intent = Intent(this, PresentationActivity::class.java)
-        startActivity(intent)
-    }
-}
\ No newline at end of file
diff --git a/window/window-samples/src/main/java/androidx/window/sample/WindowMetricsActivity.kt b/window/window-samples/src/main/java/androidx/window/sample/WindowMetricsActivity.kt
index 0be64be..c67ae39 100644
--- a/window/window-samples/src/main/java/androidx/window/sample/WindowMetricsActivity.kt
+++ b/window/window-samples/src/main/java/androidx/window/sample/WindowMetricsActivity.kt
@@ -16,16 +16,12 @@
 
 package androidx.window.sample
 
+import android.content.res.Configuration
 import android.os.Bundle
 import androidx.appcompat.app.AppCompatActivity
-import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.lifecycleScope
-import androidx.lifecycle.repeatOnLifecycle
 import androidx.recyclerview.widget.RecyclerView
-import androidx.window.layout.WindowInfoRepository.Companion.windowInfoRepository
+import androidx.window.layout.WindowMetricsCalculator
 import androidx.window.sample.infolog.InfoLogAdapter
-import kotlinx.coroutines.flow.collect
-import kotlinx.coroutines.launch
 
 class WindowMetricsActivity : AppCompatActivity() {
 
@@ -37,15 +33,19 @@
         findViewById<RecyclerView>(R.id.recycler_view).adapter = adapter
         adapter.append("onCreate", "triggered")
 
-        lifecycleScope.launch {
-            repeatOnLifecycle(Lifecycle.State.CREATED) {
-                windowInfoRepository().currentWindowMetrics.collect { windowMetrics ->
-                    val width = windowMetrics.bounds.width()
-                    val height = windowMetrics.bounds.height()
-                    adapter.append("WindowMetrics update", "width: $width, height: $height")
-                    adapter.notifyDataSetChanged()
-                }
-            }
-        }
+        updateMetrics()
+    }
+
+    override fun onConfigurationChanged(newConfig: Configuration) {
+        super.onConfigurationChanged(newConfig)
+        updateMetrics()
+    }
+
+    private fun updateMetrics() {
+        val windowMetrics = WindowMetricsCalculator.getOrCreate().computeCurrentWindowMetrics(this)
+        val width = windowMetrics.bounds.width()
+        val height = windowMetrics.bounds.height()
+        adapter.append("WindowMetrics update", "width: $width, height: $height")
+        adapter.notifyDataSetChanged()
     }
 }
\ No newline at end of file
diff --git a/window/window-samples/src/main/java/androidx/window/sample/demos/DemoAdapter.kt b/window/window-samples/src/main/java/androidx/window/sample/demos/DemoAdapter.kt
new file mode 100644
index 0000000..8cb8aca
--- /dev/null
+++ b/window/window-samples/src/main/java/androidx/window/sample/demos/DemoAdapter.kt
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.window.sample.demos
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.recyclerview.widget.RecyclerView
+import androidx.window.sample.R
+
+class DemoAdapter(private val demoItems: List<DemoItem>) : RecyclerView.Adapter<DemoVH>() {
+
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): DemoVH {
+        val inflater = LayoutInflater.from(parent.context)
+        val root = inflater.inflate(R.layout.view_holder_demo_item, parent, false)
+        return DemoVH(root)
+    }
+
+    override fun onBindViewHolder(holder: DemoVH, position: Int) {
+        holder.bind(demoItems[position])
+    }
+
+    override fun getItemCount(): Int {
+        return demoItems.size
+    }
+}
\ No newline at end of file
diff --git a/window/window-samples/src/main/java/androidx/window/sample/demos/DemoItem.kt b/window/window-samples/src/main/java/androidx/window/sample/demos/DemoItem.kt
new file mode 100644
index 0000000..fb08562
--- /dev/null
+++ b/window/window-samples/src/main/java/androidx/window/sample/demos/DemoItem.kt
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package androidx.window.sample.demos
+
+import android.app.Activity
+
+class DemoItem(val description: String, val buttonTitle: String, val clazz: Class<out Activity>)
\ No newline at end of file
diff --git a/window/window-samples/src/main/java/androidx/window/sample/demos/DemoVH.kt b/window/window-samples/src/main/java/androidx/window/sample/demos/DemoVH.kt
new file mode 100644
index 0000000..5c08cc1
--- /dev/null
+++ b/window/window-samples/src/main/java/androidx/window/sample/demos/DemoVH.kt
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.window.sample.demos
+
+import android.content.Intent
+import android.view.View
+import android.widget.Button
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import androidx.window.sample.R
+
+class DemoVH(view: View) : RecyclerView.ViewHolder(view) {
+    private val description = view.findViewById<TextView>(R.id.demo_description)
+    private val launchButton = view.findViewById<Button>(R.id.start_demo_button)
+
+    fun bind(item: DemoItem) {
+        description.text = item.description
+        launchButton.text = item.buttonTitle
+        launchButton.setOnClickListener { view ->
+            val context = view.context
+            val intent = Intent(context, item.clazz)
+            view.context.startActivity(intent)
+        }
+    }
+}
\ No newline at end of file
diff --git a/window/window-samples/src/main/java/androidx/window/sample/demos/WindowDemosActivity.kt b/window/window-samples/src/main/java/androidx/window/sample/demos/WindowDemosActivity.kt
new file mode 100644
index 0000000..84183a7
--- /dev/null
+++ b/window/window-samples/src/main/java/androidx/window/sample/demos/WindowDemosActivity.kt
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.window.sample.demos
+
+import android.os.Bundle
+import androidx.appcompat.app.AppCompatActivity
+import androidx.recyclerview.widget.RecyclerView
+import androidx.window.sample.DisplayFeaturesActivity
+import androidx.window.sample.PresentationActivity
+import androidx.window.sample.R
+import androidx.window.sample.SplitLayoutActivity
+import androidx.window.sample.WindowMetricsActivity
+
+/**
+ * Main activity that launches WindowManager demos.
+*/
+class WindowDemosActivity : AppCompatActivity() {
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        setContentView(R.layout.activity_window_demos)
+        val demoItems = listOf(
+            DemoItem(
+                buttonTitle = getString(R.string.display_features),
+                description = getString(R.string.show_all_display_features_description),
+                clazz = DisplayFeaturesActivity::class.java
+            ),
+            DemoItem(
+                buttonTitle = getString(R.string.window_metrics),
+                description = getString(R.string.window_metrics_description),
+                clazz = WindowMetricsActivity::class.java
+            ),
+            DemoItem(
+                buttonTitle = getString(R.string.split_layout),
+                description = getString(R.string.split_layout_demo_description),
+                clazz = SplitLayoutActivity::class.java
+            ),
+            DemoItem(
+                buttonTitle = getString(R.string.presentation),
+                description = getString(R.string.presentation_demo_description),
+                clazz = PresentationActivity::class.java
+            )
+        )
+        val recyclerView = findViewById<RecyclerView>(R.id.demo_recycler_view)
+
+        recyclerView.adapter = DemoAdapter(demoItems)
+    }
+}
\ No newline at end of file
diff --git a/window/window-samples/src/main/res/layout/activity_display_features.xml b/window/window-samples/src/main/res/layout/activity_display_features.xml
index cabe1f4..3cd059d 100644
--- a/window/window-samples/src/main/res/layout/activity_display_features.xml
+++ b/window/window-samples/src/main/res/layout/activity_display_features.xml
@@ -65,26 +65,14 @@
 
     </LinearLayout>
 
-    <TextView
-        android:id="@+id/stateUpdateLog"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:text="@string/stateUpdateLog"
+    <androidx.recyclerview.widget.RecyclerView
+        android:id="@+id/infoLogRecyclerView"
+        android:layout_width="0dp"
+        android:layout_height="0dp"
+        app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
         app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintHorizontal_bias="0.0"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/currentState" />
-
-    <TextView
-        android:id="@+id/currentState"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"
-        android:text="@string/currentState"
-        android:textAppearance="@style/TextAppearance.AppCompat.Large"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintHorizontal_bias="1.0"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintBottom_toBottomOf="parent"/>
 
 </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/window/window-samples/src/main/res/layout/activity_window_demos.xml b/window/window-samples/src/main/res/layout/activity_window_demos.xml
index 54b8515..33a6eb9 100644
--- a/window/window-samples/src/main/res/layout/activity_window_demos.xml
+++ b/window/window-samples/src/main/res/layout/activity_window_demos.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
   Copyright 2020 The Android Open Source Project
 
   Licensed under the Apache License, Version 2.0 (the "License");
@@ -14,115 +13,9 @@
   See the License for the specific language governing permissions and
   limitations under the License.
   -->
-
-<ScrollView
-    xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.recyclerview.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/demo_recycler_view"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginEnd="8dp"
-        android:layout_marginStart="8dp" >
-
-        <TextView
-            android:id="@+id/testActivityTitle"
-            android:layout_width="match_parent"
-            android:layout_height="40dp"
-            android:layout_marginTop="16dp"
-            android:gravity="center_vertical"
-            android:text="@string/test_activity"
-            android:textSize="20sp"
-            android:textStyle="bold"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <Button
-            android:id="@+id/featuresActivityButton"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="@string/display_features"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/testActivityTitle"
-            android:onClick="showDisplayFeatures" />
-
-        <TextView
-            android:id="@+id/featuresDescriptionTextView"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="5dp"
-            android:text="@string/show_all_display_features_description"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/featuresActivityButton" />
-
-        <Button
-            android:id="@+id/splitLayoutActivityButton"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="16dp"
-            android:text="@string/split_layout"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/featuresDescriptionTextView"
-            android:onClick="showSplitLayout" />
-
-        <TextView
-            android:id="@+id/splitLayoutDescriptionTextView"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="5dp"
-            android:text="@string/split_layout_demo_description"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintHorizontal_bias="0.0"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/splitLayoutActivityButton" />
-
-        <Button
-            android:id="@+id/presentationActivityButton"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="16dp"
-            android:text="@string/presentation"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/splitLayoutDescriptionTextView"
-            android:onClick="showPresentation"  />
-
-        <TextView
-            android:id="@+id/presentationTextView"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="5dp"
-            android:text="@string/presentation_demo_description"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintHorizontal_bias="0.0"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/presentationActivityButton" />
-
-
-        <Button
-            android:id="@+id/windowMetricsActivityButton"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="16dp"
-            android:text="@string/window_metrics"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/presentationTextView"
-            android:onClick="showWindowMetrics"  />
-
-        <TextView
-            android:id="@+id/windowMetricsTextView"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="5dp"
-            android:text="@string/window_metrics_description"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintHorizontal_bias="0.0"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/windowMetricsActivityButton" />
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-
-</ScrollView>
\ No newline at end of file
+    android:layout_height="match_parent"
+    app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
diff --git a/window/window-samples/src/main/res/layout/view_holder_demo_item.xml b/window/window-samples/src/main/res/layout/view_holder_demo_item.xml
new file mode 100644
index 0000000..f0668c3
--- /dev/null
+++ b/window/window-samples/src/main/res/layout/view_holder_demo_item.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  Copyright 2021 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
+
+    <Button
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:id="@+id/start_demo_button"/>
+
+    <TextView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:id="@+id/demo_description"/>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/window/window-sidecar/lint-baseline.xml b/window/window-sidecar/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/window/window-sidecar/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/window/window-testing/lint-baseline.xml b/window/window-testing/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/window/window-testing/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/window/window/api/1.0.0-beta03.txt b/window/window/api/1.0.0-beta03.txt
index e9c53e0..66fddf6 100644
--- a/window/window/api/1.0.0-beta03.txt
+++ b/window/window/api/1.0.0-beta03.txt
@@ -45,10 +45,8 @@
   }
 
   public interface WindowInfoRepository {
-    method public kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowMetrics> getCurrentWindowMetrics();
     method public default static androidx.window.layout.WindowInfoRepository getOrCreate(android.app.Activity);
     method public kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowLayoutInfo> getWindowLayoutInfo();
-    property public abstract kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowMetrics> currentWindowMetrics;
     property public abstract kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowLayoutInfo> windowLayoutInfo;
     field public static final androidx.window.layout.WindowInfoRepository.Companion Companion;
   }
diff --git a/window/window/api/current.ignore b/window/window/api/current.ignore
index 85c25c3..0f3e557 100644
--- a/window/window/api/current.ignore
+++ b/window/window/api/current.ignore
@@ -3,5 +3,7 @@
     Removed class androidx.window.layout.WindowLayoutInfo.Builder
 
 
+RemovedMethod: androidx.window.layout.WindowInfoRepository#getCurrentWindowMetrics():
+    Removed method androidx.window.layout.WindowInfoRepository.getCurrentWindowMetrics()
 RemovedMethod: androidx.window.layout.WindowMetrics#WindowMetrics(android.graphics.Rect):
     Removed constructor androidx.window.layout.WindowMetrics(android.graphics.Rect)
diff --git a/window/window/api/current.txt b/window/window/api/current.txt
index e9c53e0..66fddf6 100644
--- a/window/window/api/current.txt
+++ b/window/window/api/current.txt
@@ -45,10 +45,8 @@
   }
 
   public interface WindowInfoRepository {
-    method public kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowMetrics> getCurrentWindowMetrics();
     method public default static androidx.window.layout.WindowInfoRepository getOrCreate(android.app.Activity);
     method public kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowLayoutInfo> getWindowLayoutInfo();
-    property public abstract kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowMetrics> currentWindowMetrics;
     property public abstract kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowLayoutInfo> windowLayoutInfo;
     field public static final androidx.window.layout.WindowInfoRepository.Companion Companion;
   }
diff --git a/window/window/api/public_plus_experimental_1.0.0-beta03.txt b/window/window/api/public_plus_experimental_1.0.0-beta03.txt
index 983582a..60bb59f 100644
--- a/window/window/api/public_plus_experimental_1.0.0-beta03.txt
+++ b/window/window/api/public_plus_experimental_1.0.0-beta03.txt
@@ -154,10 +154,8 @@
   }
 
   public interface WindowInfoRepository {
-    method public kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowMetrics> getCurrentWindowMetrics();
     method public default static androidx.window.layout.WindowInfoRepository getOrCreate(android.app.Activity);
     method public kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowLayoutInfo> getWindowLayoutInfo();
-    property public abstract kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowMetrics> currentWindowMetrics;
     property public abstract kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowLayoutInfo> windowLayoutInfo;
     field public static final androidx.window.layout.WindowInfoRepository.Companion Companion;
   }
diff --git a/window/window/api/public_plus_experimental_current.txt b/window/window/api/public_plus_experimental_current.txt
index 983582a..60bb59f 100644
--- a/window/window/api/public_plus_experimental_current.txt
+++ b/window/window/api/public_plus_experimental_current.txt
@@ -154,10 +154,8 @@
   }
 
   public interface WindowInfoRepository {
-    method public kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowMetrics> getCurrentWindowMetrics();
     method public default static androidx.window.layout.WindowInfoRepository getOrCreate(android.app.Activity);
     method public kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowLayoutInfo> getWindowLayoutInfo();
-    property public abstract kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowMetrics> currentWindowMetrics;
     property public abstract kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowLayoutInfo> windowLayoutInfo;
     field public static final androidx.window.layout.WindowInfoRepository.Companion Companion;
   }
diff --git a/window/window/api/restricted_1.0.0-beta03.txt b/window/window/api/restricted_1.0.0-beta03.txt
index 0cb3e36..514a8d31 100644
--- a/window/window/api/restricted_1.0.0-beta03.txt
+++ b/window/window/api/restricted_1.0.0-beta03.txt
@@ -45,12 +45,10 @@
   }
 
   public interface WindowInfoRepository {
-    method public kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowMetrics> getCurrentWindowMetrics();
     method public default static androidx.window.layout.WindowInfoRepository getOrCreate(android.app.Activity);
     method public kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowLayoutInfo> getWindowLayoutInfo();
     method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public default static void overrideDecorator(androidx.window.layout.WindowInfoRepositoryDecorator overridingDecorator);
     method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public default static void reset();
-    property public abstract kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowMetrics> currentWindowMetrics;
     property public abstract kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowLayoutInfo> windowLayoutInfo;
     field public static final androidx.window.layout.WindowInfoRepository.Companion Companion;
   }
diff --git a/window/window/api/restricted_current.ignore b/window/window/api/restricted_current.ignore
index 85c25c3..0f3e557 100644
--- a/window/window/api/restricted_current.ignore
+++ b/window/window/api/restricted_current.ignore
@@ -3,5 +3,7 @@
     Removed class androidx.window.layout.WindowLayoutInfo.Builder
 
 
+RemovedMethod: androidx.window.layout.WindowInfoRepository#getCurrentWindowMetrics():
+    Removed method androidx.window.layout.WindowInfoRepository.getCurrentWindowMetrics()
 RemovedMethod: androidx.window.layout.WindowMetrics#WindowMetrics(android.graphics.Rect):
     Removed constructor androidx.window.layout.WindowMetrics(android.graphics.Rect)
diff --git a/window/window/api/restricted_current.txt b/window/window/api/restricted_current.txt
index 0cb3e36..514a8d31 100644
--- a/window/window/api/restricted_current.txt
+++ b/window/window/api/restricted_current.txt
@@ -45,12 +45,10 @@
   }
 
   public interface WindowInfoRepository {
-    method public kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowMetrics> getCurrentWindowMetrics();
     method public default static androidx.window.layout.WindowInfoRepository getOrCreate(android.app.Activity);
     method public kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowLayoutInfo> getWindowLayoutInfo();
     method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public default static void overrideDecorator(androidx.window.layout.WindowInfoRepositoryDecorator overridingDecorator);
     method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public default static void reset();
-    property public abstract kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowMetrics> currentWindowMetrics;
     property public abstract kotlinx.coroutines.flow.Flow<androidx.window.layout.WindowLayoutInfo> windowLayoutInfo;
     field public static final androidx.window.layout.WindowInfoRepository.Companion Companion;
   }
diff --git a/window/window/lint-baseline.xml b/window/window/lint-baseline.xml
index 46c5630..c5ba0c1 100644
--- a/window/window/lint-baseline.xml
+++ b/window/window/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-dev" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-dev)" variant="all" version="7.1.0-dev">
+<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">
 
     <issue
         id="SupportAnnotationUsage"
@@ -12,4 +12,26 @@
             column="5"/>
     </issue>
 
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 14 from the `minSdkVersion`"
+        errorLine1="    @RequiresApi(VERSION_CODES.ICE_CREAM_SANDWICH)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/window/layout/WindowMetricsCalculatorCompat.kt"
+            line="269"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="SupportAnnotationUsage"
+        message="The API level is already known to be at least 14 from the `minSdkVersion`"
+        errorLine1="    @RequiresApi(VERSION_CODES.ICE_CREAM_SANDWICH)"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/window/layout/WindowMetricsCalculatorCompat.kt"
+            line="301"
+            column="5"/>
+    </issue>
+
 </issues>
diff --git a/window/window/src/androidTest/java/androidx/window/layout/WindowInfoRepositoryImplTest.kt b/window/window/src/androidTest/java/androidx/window/layout/WindowInfoRepositoryImplTest.kt
index b58eccf..2f39166 100644
--- a/window/window/src/androidTest/java/androidx/window/layout/WindowInfoRepositoryImplTest.kt
+++ b/window/window/src/androidTest/java/androidx/window/layout/WindowInfoRepositoryImplTest.kt
@@ -17,14 +17,10 @@
 package androidx.window.layout
 
 import android.app.Activity
-import android.content.pm.ActivityInfo
 import androidx.core.util.Consumer
-import androidx.test.core.app.ActivityScenario
 import androidx.test.ext.junit.rules.ActivityScenarioRule
 import androidx.window.TestActivity
-import androidx.window.TestConfigChangeHandlingActivity
 import androidx.window.TestConsumer
-import androidx.window.layout.WindowMetricsCalculatorCompat.computeCurrentWindowMetrics
 import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.flow.collect
 import kotlinx.coroutines.launch
@@ -44,75 +40,6 @@
     private val testScope = TestCoroutineScope()
 
     @Test
-    public fun testGetCurrentWindowMetrics(): Unit = testScope.runBlockingTest {
-        activityScenario.scenario.onActivity { testActivity ->
-            val repo = WindowInfoRepositoryImpl(
-                testActivity,
-                WindowMetricsCalculatorCompat,
-                FakeWindowBackend()
-            )
-            val expected = computeCurrentWindowMetrics(testActivity)
-            val consumer = TestConsumer<WindowMetrics>()
-            testScope.launch {
-                repo.currentWindowMetrics.collect { consumer.accept(it) }
-            }
-            consumer.assertValue(expected)
-        }
-    }
-
-    @Test
-    public fun testGetCurrentWindowMetrics_multicasting(): Unit = testScope.runBlockingTest {
-        activityScenario.scenario.onActivity { testActivity ->
-            val repo = WindowInfoRepositoryImpl(
-                testActivity,
-                WindowMetricsCalculatorCompat,
-                FakeWindowBackend()
-            )
-            val expected = computeCurrentWindowMetrics(testActivity)
-            val consumer = TestConsumer<WindowMetrics>()
-            testScope.launch {
-                repo.currentWindowMetrics.collect { consumer.accept(it) }
-            }
-            testScope.launch {
-                repo.currentWindowMetrics.collect { consumer.accept(it) }
-            }
-            consumer.assertValues(expected, expected)
-        }
-    }
-
-    @Test
-    public fun testGetCurrentWindowMetrics_configChangesEmitNewMetrics(): Unit =
-        testScope.runBlockingTest {
-            val scenario = ActivityScenario.launch(TestConfigChangeHandlingActivity::class.java)
-            val collector = TestConsumer<WindowMetrics>()
-            val expected = mutableListOf<WindowMetrics>()
-            scenario.onActivity { activity ->
-                val repo = WindowInfoRepositoryImpl(
-                    activity,
-                    WindowMetricsCalculatorCompat,
-                    FakeWindowBackend()
-                )
-                activity.resetLayoutCounter()
-                activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
-                activity.waitForLayout()
-                testScope.launch {
-                    repo.currentWindowMetrics.collect { collector.accept(it) }
-                }
-            }
-            scenario.onActivity { activity ->
-                expected.add(computeCurrentWindowMetrics(activity))
-                activity.resetLayoutCounter()
-                activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
-                activity.waitForLayout()
-            }
-            scenario.onActivity { activity ->
-                expected.add(computeCurrentWindowMetrics(activity))
-                collector.assertValueCount(2)
-                collector.assertValues(*expected.toTypedArray())
-            }
-        }
-
-    @Test
     public fun testWindowLayoutFeatures(): Unit = testScope.runBlockingTest {
         activityScenario.scenario.onActivity { testActivity ->
             val windowMetricsCalculator = WindowMetricsCalculatorCompat
diff --git a/window/window/src/main/java/androidx/window/layout/WindowInfoRepository.kt b/window/window/src/main/java/androidx/window/layout/WindowInfoRepository.kt
index 6a92a85..c2fb084 100644
--- a/window/window/src/main/java/androidx/window/layout/WindowInfoRepository.kt
+++ b/window/window/src/main/java/androidx/window/layout/WindowInfoRepository.kt
@@ -29,23 +29,6 @@
 public interface WindowInfoRepository {
 
     /**
-     * Returns a [Flow] for consuming the current [WindowMetrics] according to the current
-     * system state.
-     *
-     * The metrics describe the size of the area the window would occupy with
-     * [MATCH_PARENT][android.view.WindowManager.LayoutParams.MATCH_PARENT] width and height
-     * and any combination of flags that would allow the window to extend behind display cutouts.
-     *
-     * The value of this is based on the **current** windowing state of the system. For
-     * example, for activities in multi-window mode, the metrics returned are based on the
-     * current bounds that the user has selected for the [Activity][android.app.Activity]'s
-     * window.
-     *
-     * @see android.view.WindowManager.getCurrentWindowMetrics
-     */
-    public val currentWindowMetrics: Flow<WindowMetrics>
-
-    /**
      * A [Flow] of [WindowLayoutInfo] that contains all the available features.
      */
     public val windowLayoutInfo: Flow<WindowLayoutInfo>
diff --git a/window/window/src/main/java/androidx/window/layout/WindowInfoRepositoryImpl.kt b/window/window/src/main/java/androidx/window/layout/WindowInfoRepositoryImpl.kt
index 3b596b3..35e665e 100644
--- a/window/window/src/main/java/androidx/window/layout/WindowInfoRepositoryImpl.kt
+++ b/window/window/src/main/java/androidx/window/layout/WindowInfoRepositoryImpl.kt
@@ -18,12 +18,10 @@
 
 import android.app.Activity
 import android.content.Context
-import android.view.View
 import androidx.core.util.Consumer
 import kotlinx.coroutines.channels.BufferOverflow.DROP_OLDEST
 import kotlinx.coroutines.channels.Channel
 import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.distinctUntilChanged
 import kotlinx.coroutines.flow.flow
 
 /**
@@ -41,53 +39,6 @@
 ) : WindowInfoRepository {
 
     /**
-     * Returns the [WindowMetrics] according to the current system state.
-     *
-     *
-     * The metrics describe the size of the area the window would occupy with
-     * [MATCH_PARENT][android.view.WindowManager.LayoutParams.MATCH_PARENT] width and height
-     * and any combination of flags that would allow the window to extend behind display cutouts.
-     *
-     *
-     * The value of this is based on the **current** windowing state of the system. For
-     * example, for activities in multi-window mode, the metrics returned are based on the
-     * current bounds that the user has selected for the [Activity][android.app.Activity]'s
-     * window.
-     *
-     * @see android.view.WindowManager.getCurrentWindowMetrics
-     */
-    override val currentWindowMetrics: Flow<WindowMetrics>
-        get() {
-            return configurationChanged {
-                windowMetricsCalculator.computeCurrentWindowMetrics(activity)
-            }.distinctUntilChanged()
-        }
-
-    private fun <T> configurationChanged(producer: () -> T): Flow<T> {
-        return flow {
-            val channel = Channel<T>(
-                capacity = BUFFER_CAPACITY,
-                onBufferOverflow = DROP_OLDEST
-            )
-            val publish: () -> Unit = { channel.trySend(producer()) }
-            // TODO(b/199442549) switch back to ComponentCallbacks when possible
-            val configChangeObserver =
-                View.OnLayoutChangeListener { _, _, _, _, _, _, _, _, _ -> publish() }
-            publish()
-            activity.window?.decorView
-                ?.addOnLayoutChangeListener(configChangeObserver)
-            try {
-                for (item in channel) {
-                    emit(item)
-                }
-            } finally {
-                activity.window?.decorView
-                    ?.removeOnLayoutChangeListener(configChangeObserver)
-            }
-        }
-    }
-
-    /**
      * A [Flow] of window layout changes in the current visual [Context].
      *
      * @see Activity.onAttachedToWindow
diff --git a/window/window/src/main/java/androidx/window/layout/WindowMetrics.kt b/window/window/src/main/java/androidx/window/layout/WindowMetrics.kt
index 283da05..6632838 100644
--- a/window/window/src/main/java/androidx/window/layout/WindowMetrics.kt
+++ b/window/window/src/main/java/androidx/window/layout/WindowMetrics.kt
@@ -24,10 +24,10 @@
  * Metrics about a [android.view.Window], consisting of its bounds.
  *
  *
- * This is usually obtained from [WindowInfoRepository.currentWindowMetrics] or
+ * This is obtained from [WindowMetricsCalculator.computeCurrentWindowMetrics] or
  * [WindowMetricsCalculator.computeMaximumWindowMetrics].
  *
- * @see WindowInfoRepository.currentWindowMetrics
+ * @see WindowMetricsCalculator
  */
 public class WindowMetrics internal constructor(private val _bounds: Bounds) {
 
diff --git a/work/integration-tests/testapp/lint-baseline.xml b/work/integration-tests/testapp/lint-baseline.xml
index a178385..d186472 100644
--- a/work/integration-tests/testapp/lint-baseline.xml
+++ b/work/integration-tests/testapp/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="ClassVerificationFailure"
@@ -8,7 +8,7 @@
         errorLine2="                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/work/integration/testapp/ForegroundWorker.kt"
-            line="81"
+            line="91"
             column="23"/>
     </issue>
 
@@ -19,7 +19,7 @@
         errorLine2="                ~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/work/integration/testapp/ForegroundWorker.kt"
-            line="82"
+            line="92"
             column="17"/>
     </issue>
 
@@ -30,7 +30,7 @@
         errorLine2="                ~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/work/integration/testapp/ForegroundWorker.kt"
-            line="83"
+            line="93"
             column="17"/>
     </issue>
 
@@ -41,7 +41,7 @@
         errorLine2="                            ~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/work/integration/testapp/ForegroundWorker.kt"
-            line="84"
+            line="94"
             column="29"/>
     </issue>
 
@@ -85,7 +85,7 @@
         errorLine2="                                 ~~~~~~~~~">
         <location
             file="src/main/java/androidx/work/integration/testapp/MainActivity.java"
-            line="558"
+            line="560"
             column="34"/>
     </issue>
 
@@ -96,7 +96,7 @@
         errorLine2="                                     ~~~~~~~~">
         <location
             file="src/main/java/androidx/work/integration/testapp/MainActivity.java"
-            line="560"
+            line="562"
             column="38"/>
     </issue>
 
@@ -107,7 +107,7 @@
         errorLine2="                                ~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/work/integration/testapp/MainActivity.java"
-            line="561"
+            line="563"
             column="33"/>
     </issue>
 
@@ -118,7 +118,7 @@
         errorLine2="                                         ~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/work/integration/testapp/MainActivity.java"
-            line="564"
+            line="566"
             column="42"/>
     </issue>
 
@@ -129,7 +129,7 @@
         errorLine2="                                         ~~~~~">
         <location
             file="src/main/java/androidx/work/integration/testapp/MainActivity.java"
-            line="565"
+            line="567"
             column="42"/>
     </issue>
 
@@ -404,7 +404,7 @@
         errorLine2="                            ~~~~~~">
         <location
             file="src/main/java/androidx/work/integration/testapp/MainActivity.java"
-            line="81"
+            line="82"
             column="29"/>
     </issue>
 
diff --git a/work/work-benchmark/lint-baseline.xml b/work/work-benchmark/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/work/work-benchmark/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/work/work-gcm/lint-baseline.xml b/work/work-gcm/lint-baseline.xml
index 941d71e..b9ddeb8 100644
--- a/work/work-gcm/lint-baseline.xml
+++ b/work/work-gcm/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">
+<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">
 
     <issue
         id="BanKeepAnnotation"
diff --git a/work/work-inspection/lint-baseline.xml b/work/work-inspection/lint-baseline.xml
index db38526..d5be916 100644
--- a/work/work-inspection/lint-baseline.xml
+++ b/work/work-inspection/lint-baseline.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.1.0-alpha07" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.0-alpha07)" variant="all" version="7.1.0-alpha07">
+<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">
 
     <issue
         id="RemoveWorkManagerInitializer"
diff --git a/work/work-lint/lint-baseline.xml b/work/work-lint/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/work/work-lint/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/work/work-multiprocess/lint-baseline.xml b/work/work-multiprocess/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/work/work-multiprocess/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/work/work-runtime-ktx/lint-baseline.xml b/work/work-runtime-ktx/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/work/work-runtime-ktx/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/work/work-runtime/lint-baseline.xml b/work/work-runtime/lint-baseline.xml
index e0e0f58..bb2be82 100644
--- a/work/work-runtime/lint-baseline.xml
+++ b/work/work-runtime/lint-baseline.xml
@@ -388,17 +388,6 @@
 
     <issue
         id="ClassVerificationFailure"
-        message="This call references a method added in API level 31; however, the containing class androidx.work.impl.background.systemjob.SystemJobInfoConverter is reachable from earlier API levels and will fail run-time class verification."
-        errorLine1="            builder.setExpedited(true);"
-        errorLine2="                    ~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/work/impl/background/systemjob/SystemJobInfoConverter.java"
-            line="130"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="ClassVerificationFailure"
         message="This call references a method added in API level 24; however, the containing class androidx.work.impl.background.systemjob.SystemJobInfoConverter is reachable from earlier API levels and will fail run-time class verification."
         errorLine1="        return new JobInfo.TriggerContentUri(trigger.getUri(), flag);"
         errorLine2="               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
diff --git a/work/work-rxjava2/lint-baseline.xml b/work/work-rxjava2/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/work/work-rxjava2/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>
diff --git a/work/work-rxjava3/lint-baseline.xml b/work/work-rxjava3/lint-baseline.xml
new file mode 100644
index 0000000..0867719
--- /dev/null
+++ b/work/work-rxjava3/lint-baseline.xml
@@ -0,0 +1,4 @@
+<?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>