diff --git a/browser/browser/lint-baseline.xml b/browser/browser/lint-baseline.xml
new file mode 100644
index 0000000..e24f015
--- /dev/null
+++ b/browser/browser/lint-baseline.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 8.1.0-alpha11" type="baseline" client="gradle" dependencies="false" name="AGP (8.1.0-alpha11)" variant="all" version="8.1.0-alpha11">
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface ICustomTabsCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/android/support/customtabs/ICustomTabsCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface ICustomTabsService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/android/support/customtabs/ICustomTabsService.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IEngagementSignalsCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/android/support/customtabs/IEngagementSignalsCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IPostMessageService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/android/support/customtabs/IPostMessageService.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface ITrustedWebActivityCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/android/support/customtabs/trusted/ITrustedWebActivityCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface ITrustedWebActivityService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/android/support/customtabs/trusted/ITrustedWebActivityService.aidl"/>
+    </issue>
+
+</issues>
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/ErrorProneConfiguration.kt b/buildSrc/private/src/main/kotlin/androidx/build/ErrorProneConfiguration.kt
index cc91b50..68fb77c 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/ErrorProneConfiguration.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/ErrorProneConfiguration.kt
@@ -140,8 +140,10 @@
         listOf(
             "-Xplugin:ErrorProne",
 
+            // Ignore intermediate build output, generated files, and external sources. Also sources
+            // imported from Android Studio and IntelliJ which are used in the lint-checks project.
             "-XepExcludedPaths:.*/(build/generated|build/errorProne|external|" +
-                "compileTransaction/compile-output)/.*",
+                "compileTransaction/compile-output|lint-checks/src/main/java/androidx/com)/.*",
 
             // Consider re-enabling the following checks. Disabled as part of
             // error-prone upgrade
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/LintConfiguration.kt b/buildSrc/private/src/main/kotlin/androidx/build/LintConfiguration.kt
index 0d2cf29..753d7bc 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/LintConfiguration.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/LintConfiguration.kt
@@ -17,14 +17,21 @@
 package androidx.build
 
 import com.android.build.api.dsl.Lint
+import com.android.build.gradle.BaseExtension
+import com.android.build.gradle.internal.lint.AndroidLintAnalysisTask
 import com.android.build.gradle.internal.lint.AndroidLintTask
+import com.android.build.gradle.internal.lint.LintModelWriterTask
+import com.android.build.gradle.internal.lint.VariantInputs
 import java.io.File
 import java.util.Locale
 import org.gradle.api.GradleException
 import org.gradle.api.Project
+import org.gradle.api.file.ConfigurableFileCollection
 import org.gradle.api.file.RegularFileProperty
 import org.gradle.api.plugins.JavaPluginExtension
+import org.gradle.kotlin.dsl.findByType
 import org.gradle.kotlin.dsl.getByType
+import org.gradle.kotlin.dsl.withType
 
 fun Project.configureNonAndroidProjectForLint(extension: AndroidXExtension) {
     apply(mapOf("plugin" to "com.android.lint"))
@@ -88,6 +95,54 @@
     }
 }
 
+/**
+ * Installs AIDL source directories on lint tasks. Adapted from AndroidXComposeImplPlugin's
+ * `configureLintForMultiplatformLibrary` extension function. See b/189250111 for feature request.
+ *
+ * The `UnstableAidlAnnotationDetector` check from `lint-checks` requires that _only_ unstable AIDL
+ * files are passed to Lint, e.g. files in the AGP-defined `aidl` source set but not files in the
+ * Stable AIDL plugin-defined `stableAidl` source set. If we decide to lint Stable AIDL files, we'll
+ * need some other way to distinguish stable from unstable AIDL.
+ */
+fun Project.configureLintForAidl() {
+    afterEvaluate {
+        val extension = project.extensions.findByType<BaseExtension>() ?: return@afterEvaluate
+        if (extension.buildFeatures.aidl != true) return@afterEvaluate
+
+        val mainAidl = extension.sourceSets.getByName("main").aidl.getSourceFiles()
+
+        /**
+         * Helper function to add the missing sourcesets to this [VariantInputs]
+         */
+        fun VariantInputs.addSourceSets() {
+            // Each variant has a source provider for the variant (such as debug) and the 'main'
+            // variant. The actual files that Lint will run on is both of these providers
+            // combined - so we can just add the dependencies to the first we see.
+            val variantAidl = extension.sourceSets.getByName(name.get()).aidl.getSourceFiles()
+            val sourceProvider = sourceProviders.get().firstOrNull() ?: return
+            sourceProvider.javaDirectories.withChangesAllowed {
+                from(mainAidl, variantAidl)
+            }
+        }
+
+        // Lint for libraries is split into two tasks - analysis, and reporting. We need to
+        // add the new sources to both, so all parts of the pipeline are aware.
+        project.tasks.withType<AndroidLintAnalysisTask>().configureEach {
+            it.variantInputs.addSourceSets()
+        }
+
+        project.tasks.withType<AndroidLintTask>().configureEach {
+            it.variantInputs.addSourceSets()
+        }
+
+        // Also configure the model writing task, so that we don't run into mismatches between
+        // analyzed sources in one module and a downstream module
+        project.tasks.withType<LintModelWriterTask>().configureEach {
+            it.variantInputs.addSourceSets()
+        }
+    }
+}
+
 fun Project.configureLint(lint: Lint, extension: AndroidXExtension, isLibrary: Boolean) {
     val lintChecksProject = project.rootProject.findProject(":lint-checks")
         ?: if (allowMissingLintProject()) {
@@ -98,6 +153,8 @@
 
     project.dependencies.add("lintChecks", lintChecksProject)
 
+    project.configureLintForAidl()
+
     // The purpose of this specific project is to test that lint is running, so
     // it contains expected violations that we do not want to trigger a build failure
     val isTestingLintItself = (project.path == ":lint-checks:integration-tests")
@@ -286,5 +343,21 @@
     extensions.getByType<Lint>().disable.add("LintError")
 }
 
+/**
+ * Lint uses [ConfigurableFileCollection.disallowChanges] during initialization, which prevents
+ * modifying the file collection separately (there is no time to configure it before AGP has
+ * initialized and disallowed changes). This uses reflection to temporarily allow changes, and
+ * apply [block].
+ */
+private fun ConfigurableFileCollection.withChangesAllowed(
+    block: ConfigurableFileCollection.() -> Unit
+) {
+    val disallowChanges = this::class.java.getDeclaredField("disallowChanges")
+    disallowChanges.isAccessible = true
+    disallowChanges.set(this, false)
+    block()
+    disallowChanges.set(this, true)
+}
+
 val Project.lintBaseline: RegularFileProperty get() =
     project.objects.fileProperty().fileValue(File(projectDir, "/lint-baseline.xml"))
diff --git a/car/app/app-automotive/lint-baseline.xml b/car/app/app-automotive/lint-baseline.xml
index 502b590..9dd7ce4 100644
--- a/car/app/app-automotive/lint-baseline.xml
+++ b/car/app/app-automotive/lint-baseline.xml
@@ -2,6 +2,69 @@
 <issues format="6" by="lint 7.4.0-alpha08" type="baseline" client="gradle" dependencies="false" name="AGP (7.4.0-alpha08)" variant="all" version="7.4.0-alpha08">
 
     <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface ICarAppActivity {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/activity/renderer/ICarAppActivity.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IInsetsListener {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/activity/renderer/IInsetsListener.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IProxyInputConnection {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/activity/renderer/IProxyInputConnection.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IRendererCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/activity/renderer/IRendererCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IRendererService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/activity/renderer/IRendererService.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface ISurfaceControl {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/activity/renderer/surface/ISurfaceControl.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface ISurfaceListener {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/activity/renderer/surface/ISurfaceListener.aidl"/>
+    </issue>
+
+    <issue
         id="UnsafeOptInUsageError"
         message="This declaration is opt-in and its usage should be marked with `@androidx.car.app.annotations.ExperimentalCarApi` or `@OptIn(markerClass = androidx.car.app.annotations.ExperimentalCarApi.class)`"
         errorLine1="                        Collections.singleton(CarZone.CAR_ZONE_GLOBAL)))"
diff --git a/car/app/app-projected/lint-baseline.xml b/car/app/app-projected/lint-baseline.xml
new file mode 100644
index 0000000..53f60d7
--- /dev/null
+++ b/car/app/app-projected/lint-baseline.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 8.1.0-alpha11" type="baseline" client="gradle" dependencies="false" name="AGP (8.1.0-alpha11)" variant="all" version="8.1.0-alpha11">
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface ICarHardwareHost {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/hardware/ICarHardwareHost.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface ICarHardwareResult {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/hardware/ICarHardwareResult.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface ICarHardwareResultTypes {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/hardware/ICarHardwareResultTypes.aidl"/>
+    </issue>
+
+</issues>
diff --git a/car/app/app/lint-baseline.xml b/car/app/app/lint-baseline.xml
index 182bb75..59bdb69 100644
--- a/car/app/app/lint-baseline.xml
+++ b/car/app/app/lint-baseline.xml
@@ -985,15 +985,6 @@
     <issue
         id="BanHideAnnotation"
         message="@hide is not allowed in Javadoc"
-        errorLine1="    public @interface ItemSize {"
-        errorLine2="                      ~~~~~~~~">
-        <location
-            file="src/main/java/androidx/car/app/model/GridTemplate.java"/>
-    </issue>
-
-    <issue
-        id="BanHideAnnotation"
-        message="@hide is not allowed in Javadoc"
         errorLine1="public interface HostCall&lt;ServiceT, ReturnT> {"
         errorLine2="                 ~~~~~~~~">
         <location
@@ -1291,8 +1282,8 @@
     <issue
         id="BanHideAnnotation"
         message="@hide is not allowed in Javadoc"
-        errorLine1="    protected Deque&lt;Screen> getScreenStack() {"
-        errorLine2="                            ~~~~~~~~~~~~~~">
+        errorLine1="    protected Deque&lt;Screen> getScreenStackInternal() {"
+        errorLine2="                            ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="src/main/java/androidx/car/app/ScreenManager.java"/>
     </issue>
@@ -1469,6 +1460,222 @@
     </issue>
 
     <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IAlertCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/model/IAlertCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IAppHost {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/IAppHost.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IAppManager {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/IAppManager.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface ICarApp {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/ICarApp.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface ICarAudioCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/media/ICarAudioCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface ICarHost {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/ICarHost.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IConstraintHost {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/constraints/IConstraintHost.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IConversationCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/messaging/model/IConversationCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IInputCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/model/IInputCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface INavigationHost {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/navigation/INavigationHost.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface INavigationManager {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/navigation/INavigationManager.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IOnCheckedChangeListener {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/model/IOnCheckedChangeListener.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IOnClickListener {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/model/IOnClickListener.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IOnContentRefreshListener {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/model/IOnContentRefreshListener.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IOnDoneCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/IOnDoneCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IOnItemVisibilityChangedListener {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/model/IOnItemVisibilityChangedListener.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IOnRequestPermissionsListener {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/IOnRequestPermissionsListener.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IOnSelectedListener {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/model/IOnSelectedListener.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IPanModeListener {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/navigation/model/IPanModeListener.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface ISearchCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/model/ISearchCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IStartCarApp {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/IStartCarApp.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface ISuggestionHost {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/suggestion/ISuggestionHost.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface ISurfaceCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/ISurfaceCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface ITabCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/car/app/model/ITabCallback.aidl"/>
+    </issue>
+
+    <issue
         id="SupportAnnotationUsage"
         message="This annotation does not apply for type java.util.List&lt;androidx.car.app.hardware.climate.CarClimateFeature>; expected int"
         errorLine1="    @ClimateProfileRequest.ClimateProfileFeature"
diff --git a/health/connect/connect-client/lint-baseline.xml b/health/connect/connect-client/lint-baseline.xml
index d3df7d1..075983f 100644
--- a/health/connect/connect-client/lint-baseline.xml
+++ b/health/connect/connect-client/lint-baseline.xml
@@ -155,6 +155,222 @@
     </issue>
 
     <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IAggregateDataCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/IAggregateDataCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IClearOnChangesListenerCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/IClearOnChangesListenerCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IDeleteDataCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/IDeleteDataCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IDeleteDataRangeCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/IDeleteDataRangeCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IFilterGrantedPermissionsCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/IFilterGrantedPermissionsCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IGetChangesCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/IGetChangesCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IGetChangesTokenCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/IGetChangesTokenCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IGetGrantedPermissionsCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/IGetGrantedPermissionsCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IGetIsInForegroundCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/impl/sdkservice/IGetIsInForegroundCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IGetPermissionTokenCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/impl/sdkservice/IGetPermissionTokenCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IHealthDataSdkService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/impl/sdkservice/IHealthDataSdkService.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IHealthDataService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/IHealthDataService.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IInsertDataCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/IInsertDataCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IOnChangesListener {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/IOnChangesListener.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IReadDataCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/IReadDataCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IReadDataRangeCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/IReadDataRangeCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IReadExerciseRouteCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/IReadExerciseRouteCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IRegisterForDataNotificationsCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/IRegisterForDataNotificationsCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IRevokeAllPermissionsCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/IRevokeAllPermissionsCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface ISetOnChangesListenerCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/ISetOnChangesListenerCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface ISetPermissionTokenCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/impl/sdkservice/ISetPermissionTokenCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IUnregisterFromDataNotificationsCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/IUnregisterFromDataNotificationsCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IUpdateDataCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/IUpdateDataCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IUpsertExerciseRouteCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/platform/client/service/IUpsertExerciseRouteCallback.aidl"/>
+    </issue>
+
+    <issue
         id="UnknownNullness"
         message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
         errorLine1="    public ClientConfiguration(String apiClientName, String servicePackageName, String bindAction) {"
diff --git a/health/health-services-client/lint-baseline.xml b/health/health-services-client/lint-baseline.xml
index 582418f..2ecb3d1 100644
--- a/health/health-services-client/lint-baseline.xml
+++ b/health/health-services-client/lint-baseline.xml
@@ -155,6 +155,114 @@
     </issue>
 
     <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IExerciseApiService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/services/client/impl/IExerciseApiService.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IExerciseInfoCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/services/client/impl/internal/IExerciseInfoCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IExerciseUpdateListener {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/services/client/impl/IExerciseUpdateListener.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IHealthServicesApiService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/services/client/impl/IHealthServicesApiService.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IMeasureApiService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/services/client/impl/IMeasureApiService.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IMeasureCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/services/client/impl/IMeasureCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IPassiveListenerCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/services/client/impl/IPassiveListenerCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IPassiveListenerService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/services/client/impl/IPassiveListenerService.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IPassiveMonitoringApiService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/services/client/impl/IPassiveMonitoringApiService.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IPassiveMonitoringCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/services/client/impl/IPassiveMonitoringCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IStatusCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/services/client/impl/internal/IStatusCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IVersionApiService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/health/services/client/impl/IVersionApiService.aidl"/>
+    </issue>
+
+    <issue
         id="SyntheticAccessor"
         message="Access to `private` field `mCurrentVersion` of class `Client` requires synthetic accessor"
         errorLine1="                        mCurrentVersion ="
diff --git a/javascriptengine/javascriptengine/lint-baseline.xml b/javascriptengine/javascriptengine/lint-baseline.xml
index ecf1f9a..4202c21 100644
--- a/javascriptengine/javascriptengine/lint-baseline.xml
+++ b/javascriptengine/javascriptengine/lint-baseline.xml
@@ -37,4 +37,49 @@
             file="src/main/java/androidx/javascriptengine/common/Utils.java"/>
     </issue>
 
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IJsSandboxConsoleCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/org/chromium/android_webview/js_sandbox/common/IJsSandboxConsoleCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IJsSandboxIsolate {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/org/chromium/android_webview/js_sandbox/common/IJsSandboxIsolate.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IJsSandboxIsolateCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/org/chromium/android_webview/js_sandbox/common/IJsSandboxIsolateCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IJsSandboxIsolateSyncCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/org/chromium/android_webview/js_sandbox/common/IJsSandboxIsolateSyncCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IJsSandboxService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/org/chromium/android_webview/js_sandbox/common/IJsSandboxService.aidl"/>
+    </issue>
+
 </issues>
diff --git a/lint-checks/lint-baseline.xml b/lint-checks/lint-baseline.xml
index 4cc9019..4f9da21 100644
--- a/lint-checks/lint-baseline.xml
+++ b/lint-checks/lint-baseline.xml
@@ -19,4 +19,2425 @@
             file="integration-tests/src/main/java/androidx/ThreadSleepUsageKotlin.kt"/>
     </issue>
 
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlAnnotationElement.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlAnnotationElement.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlAnnotationElement.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlAnnotationElementImpl(@NotNull ASTNode node) {"
+        errorLine2="                                   ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlAnnotationElementImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull AidlVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlAnnotationElementImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull PsiElementVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlAnnotationElementImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlAnnotationElementImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlAnnotationElementImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlAnnotationElementImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlBody.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlBody.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlBody.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlBody.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlBody.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlBodyImpl(@NotNull ASTNode node) {"
+        errorLine2="                      ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlBodyImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull AidlVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlBodyImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull PsiElementVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlBodyImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlBodyImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlBodyImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlBodyImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlBodyImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlBodyImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlConstantDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlConstantDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlConstantDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlConstantDeclarationImpl(@NotNull ASTNode node) {"
+        errorLine2="                                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlConstantDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull AidlVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlConstantDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull PsiElementVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlConstantDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlConstantDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlConstantDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlConstantDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlDottedName.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlDottedName.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlDottedName.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlDottedNameImpl(@NotNull ASTNode node) {"
+        errorLine2="                            ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlDottedNameImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull AidlVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlDottedNameImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull PsiElementVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlDottedNameImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlDottedNameImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlDottedNameImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlDottedNameImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlElementType(@NotNull @NonNls String debugName) {"
+        errorLine2="                         ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlElementType.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlEnumDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlEnumDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlEnumDeclarationImpl(@NotNull ASTNode node) {"
+        errorLine2="                                 ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlEnumDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull AidlVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlEnumDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull PsiElementVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlEnumDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlEnumDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlEnumDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlEnumeratorDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlEnumeratorDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlEnumeratorDeclarationImpl(@NotNull ASTNode node) {"
+        errorLine2="                                       ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlEnumeratorDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull AidlVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlEnumeratorDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull PsiElementVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlEnumeratorDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlEnumeratorDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlEnumeratorDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlExpression.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlExpression.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlExpression.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlExpression.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlExpression.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlExpression.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlExpressionImpl(@NotNull ASTNode node) {"
+        errorLine2="                            ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlExpressionImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull AidlVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlExpressionImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull PsiElementVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlExpressionImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlExpressionImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlExpressionImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlExpressionImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlExpressionImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlExpressionImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlExpressionImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlFile.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlFile.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/AidlFileType.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/AidlFileType.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/AidlFileType.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/AidlFileType.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlImport.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlImport.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlImportImpl(@NotNull ASTNode node) {"
+        errorLine2="                        ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlImportImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull AidlVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlImportImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull PsiElementVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlImportImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlImportImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlImportImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlInterfaceDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlInterfaceDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlInterfaceDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlInterfaceDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlInterfaceDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlInterfaceDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlInterfaceDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlInterfaceDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlInterfaceDeclarationImpl(@NotNull ASTNode node) {"
+        errorLine2="                                      ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlInterfaceDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull AidlVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlInterfaceDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull PsiElementVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlInterfaceDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlInterfaceDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlInterfaceDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlInterfaceDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlInterfaceDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlInterfaceDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlInterfaceDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlInterfaceDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlInterfaceDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlMethodDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlMethodDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlMethodDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlMethodDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlMethodDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlMethodDeclarationImpl(@NotNull ASTNode node) {"
+        errorLine2="                                   ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlMethodDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull AidlVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlMethodDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull PsiElementVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlMethodDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlMethodDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlMethodDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlMethodDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlMethodDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlMethodDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlNameComponent.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlNameComponentImpl(@NotNull ASTNode node) {"
+        errorLine2="                               ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlNameComponentImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull AidlVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlNameComponentImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull PsiElementVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlNameComponentImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlNameComponentImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlNamedElementImpl(@NotNull ASTNode node) {"
+        errorLine2="                              ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlNamedElementImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlNamedElementImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public PsiElement setName(@NonNls @NotNull String name) throws IncorrectOperationException {"
+        errorLine2="                                    ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlNamedElementImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlNamedElementImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlNamedElementImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlPackage.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlPackageImpl(@NotNull ASTNode node) {"
+        errorLine2="                         ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlPackageImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull AidlVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlPackageImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull PsiElementVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlPackageImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlPackageImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlParameter.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlParameter.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlParameterImpl(@NotNull ASTNode node) {"
+        errorLine2="                           ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlParameterImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull AidlVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlParameterImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull PsiElementVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlParameterImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlParameterImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlParameterImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlParcelableDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlParcelableDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlParcelableDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlParcelableDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlParcelableDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlParcelableDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlParcelableDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlParcelableDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlParcelableDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlParcelableDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlParcelableDeclarationImpl(@NotNull ASTNode node) {"
+        errorLine2="                                       ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlParcelableDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull AidlVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlParcelableDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull PsiElementVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlParcelableDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlParcelableDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlParcelableDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlParcelableDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlParcelableDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlParcelableDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlParcelableDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlParcelableDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlParcelableDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlParcelableDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlParcelableDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/AidlParserDefinition.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/AidlParserDefinition.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/AidlParserDefinition.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/AidlParserDefinition.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/AidlParserDefinition.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/AidlParserDefinition.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/AidlParserDefinition.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/AidlParserDefinition.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/AidlParserDefinition.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlPsiCompositeElementImpl(@NotNull ASTNode node) {"
+        errorLine2="                                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlPsiCompositeElementImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlQualifiedName.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlQualifiedName.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlQualifiedName.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlQualifiedName.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlQualifiedName.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlQualifiedNameImpl(@NotNull ASTNode node) {"
+        errorLine2="                               ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlQualifiedNameImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull AidlVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlQualifiedNameImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull PsiElementVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlQualifiedNameImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlQualifiedNameImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlQualifiedNameImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlQualifiedNameImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlQualifiedNameImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlQualifiedNameImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlTokenType(@NotNull @NonNls String debugName) {"
+        errorLine2="                       ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/lexer/AidlTokenType.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlTypeElement.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlTypeElement.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlTypeElement.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlTypeElementImpl(@NotNull ASTNode node) {"
+        errorLine2="                             ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlTypeElementImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull AidlVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlTypeElementImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull PsiElementVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlTypeElementImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlTypeElementImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlTypeElementImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlTypeElementImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlUnionDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlUnionDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlUnionDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlUnionDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlUnionDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlUnionDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlUnionDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlUnionDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlUnionDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlUnionDeclarationImpl(@NotNull ASTNode node) {"
+        errorLine2="                                  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlUnionDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull AidlVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlUnionDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull PsiElementVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlUnionDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlUnionDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlUnionDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlUnionDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlUnionDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlUnionDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlUnionDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlUnionDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlUnionDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlUnionDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVariableDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVariableDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVariableDeclaration.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public AidlVariableDeclarationImpl(@NotNull ASTNode node) {"
+        errorLine2="                                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlVariableDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull AidlVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlVariableDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void accept(@NotNull PsiElementVisitor visitor) {"
+        errorLine2="                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlVariableDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="  @Nullable"
+        errorLine2="  ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlVariableDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlVariableDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  @NotNull"
+        errorLine2="  ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AidlVariableDeclarationImpl.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitAnnotationElement(@NotNull AidlAnnotationElement o) {"
+        errorLine2="                                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitBody(@NotNull AidlBody o) {"
+        errorLine2="                        ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitConstantDeclaration(@NotNull AidlConstantDeclaration o) {"
+        errorLine2="                                       ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitDottedName(@NotNull AidlDottedName o) {"
+        errorLine2="                              ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitEnumDeclaration(@NotNull AidlEnumDeclaration o) {"
+        errorLine2="                                   ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitEnumeratorDeclaration(@NotNull AidlEnumeratorDeclaration o) {"
+        errorLine2="                                         ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitExpression(@NotNull AidlExpression o) {"
+        errorLine2="                              ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitImport(@NotNull AidlImport o) {"
+        errorLine2="                          ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitInterfaceDeclaration(@NotNull AidlInterfaceDeclaration o) {"
+        errorLine2="                                        ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitMethodDeclaration(@NotNull AidlMethodDeclaration o) {"
+        errorLine2="                                     ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitNameComponent(@NotNull AidlNameComponent o) {"
+        errorLine2="                                 ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitPackage(@NotNull AidlPackage o) {"
+        errorLine2="                           ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitParameter(@NotNull AidlParameter o) {"
+        errorLine2="                             ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitParcelableDeclaration(@NotNull AidlParcelableDeclaration o) {"
+        errorLine2="                                         ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitQualifiedName(@NotNull AidlQualifiedName o) {"
+        errorLine2="                                 ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitTypeElement(@NotNull AidlTypeElement o) {"
+        errorLine2="                               ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitUnionDeclaration(@NotNull AidlUnionDeclaration o) {"
+        errorLine2="                                    ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitVariableDeclaration(@NotNull AidlVariableDeclaration o) {"
+        errorLine2="                                       ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitDeclaration(@NotNull AidlDeclaration o) {"
+        errorLine2="                               ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitNamedElement(@NotNull AidlNamedElement o) {"
+        errorLine2="                                ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="  public void visitPsiCompositeElement(@NotNull AidlPsiCompositeElement o) {"
+        errorLine2="                                       ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlVisitor.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="    @NotNull"
+        errorLine2="    ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/analysis/AnalysisBundle.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="    public static @Nls String message(@NotNull @PropertyKey(resourceBundle = BUNDLE) String key,"
+        errorLine2="                                      ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/analysis/AnalysisBundle.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="            @NotNull Object... params) {"
+        errorLine2="            ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/analysis/AnalysisBundle.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="    public static boolean isWhitespaceOrComment(@NotNull PsiBuilder builder, @Nullable IElementType type) {"
+        errorLine2="                                                ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/lang/parser/GeneratedParserUtilBase.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="    public static boolean isWhitespaceOrComment(@NotNull PsiBuilder builder, @Nullable IElementType type) {"
+        errorLine2="                                                                             ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/lang/parser/GeneratedParserUtilBase.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="    private static boolean wasAutoSkipped(@NotNull PsiBuilder builder, int steps) {"
+        errorLine2="                                          ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/lang/parser/GeneratedParserUtilBase.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="            @Nullable IElementType elementType,"
+        errorLine2="            ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/lang/parser/GeneratedParserUtilBase.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="            @Nullable Parser eatMore) {"
+        errorLine2="            ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/lang/parser/GeneratedParserUtilBase.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="            @Nullable IElementType elementType,"
+        errorLine2="            ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/lang/parser/GeneratedParserUtilBase.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="            @Nullable Parser eatMore) {"
+        errorLine2="            ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/lang/parser/GeneratedParserUtilBase.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="    private static void run_hooks_impl_(PsiBuilder builder, ErrorState state, @Nullable IElementType elementType) {"
+        errorLine2="                                                                              ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/lang/parser/GeneratedParserUtilBase.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="            @Nullable IElementType elementType,"
+        errorLine2="            ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/lang/parser/GeneratedParserUtilBase.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="            @Nullable Parser eatMore) {"
+        errorLine2="            ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/lang/parser/GeneratedParserUtilBase.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.Nullable` instead of `@org.jetbrains.annotations.Nullable`"
+        errorLine1="    @Nullable"
+        errorLine2="    ~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/lang/parser/GeneratedParserUtilBase.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="    private static PsiBuilderImpl.ProductionMarker getLatestExtensibleDoneMarker(@NotNull PsiBuilder builder) {"
+        errorLine2="                                                                                 ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/lang/parser/GeneratedParserUtilBase.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="        @NotNull"
+        errorLine2="        ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/lang/parser/GeneratedParserUtilBase.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="        @NotNull"
+        errorLine2="        ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/lang/parser/GeneratedParserUtilBase.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="        public @NotNull String getExpected(int position, boolean expected) {"
+        errorLine2="               ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/lang/parser/GeneratedParserUtilBase.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="        @NotNull"
+        errorLine2="        ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/lang/parser/GeneratedParserUtilBase.java"/>
+    </issue>
+
+    <issue
+        id="NullabilityAnnotationsDetector"
+        message="Use `@androidx.annotation.NonNull` instead of `@org.jetbrains.annotations.NotNull`"
+        errorLine1="        @NotNull"
+        errorLine2="        ~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/lang/parser/GeneratedParserUtilBase.java"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class is missing private constructor"
+        errorLine1="  class Factory {"
+        errorLine2="        ~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/android/tools/idea/lang/aidl/lexer/AidlTokenTypes.java"/>
+    </issue>
+
+    <issue
+        id="PrivateConstructorForUtilityClass"
+        message="Utility class is missing private constructor"
+        errorLine1="public class GeneratedParserUtilBase {"
+        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="src/main/java/androidx/com/intellij/lang/parser/GeneratedParserUtilBase.java"/>
+    </issue>
+
 </issues>
diff --git a/lint-checks/src/main/java/androidx/build/lint/AndroidXIssueRegistry.kt b/lint-checks/src/main/java/androidx/build/lint/AndroidXIssueRegistry.kt
index 6490110..b9cbe32 100644
--- a/lint-checks/src/main/java/androidx/build/lint/AndroidXIssueRegistry.kt
+++ b/lint-checks/src/main/java/androidx/build/lint/AndroidXIssueRegistry.kt
@@ -70,6 +70,7 @@
                 NullabilityAnnotationsDetector.ISSUE,
                 IgnoreClassLevelDetector.ISSUE,
                 ExperimentalPropertyAnnotationDetector.ISSUE,
+                UnstableAidlAnnotationDetector.ISSUE,
                 // MissingJvmDefaultWithCompatibilityDetector is intentionally left out of the
                 // registry, see comments on the class for more details.
             )
diff --git a/lint-checks/src/main/java/androidx/build/lint/UnstableAidlAnnotationDetector.kt b/lint-checks/src/main/java/androidx/build/lint/UnstableAidlAnnotationDetector.kt
new file mode 100644
index 0000000..fb9e2ef
--- /dev/null
+++ b/lint-checks/src/main/java/androidx/build/lint/UnstableAidlAnnotationDetector.kt
@@ -0,0 +1,121 @@
+/*
+ * Copyright 2023 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.build.lint
+
+import androidx.build.lint.aidl.AidlDefinitionDetector
+import androidx.build.lint.aidl.getLocation
+import androidx.com.android.tools.idea.lang.aidl.psi.AidlAnnotationElement
+import androidx.com.android.tools.idea.lang.aidl.psi.AidlDeclaration
+import androidx.com.android.tools.idea.lang.aidl.psi.AidlInterfaceDeclaration
+import com.android.tools.lint.detector.api.Category
+import com.android.tools.lint.detector.api.Context
+import com.android.tools.lint.detector.api.Implementation
+import com.android.tools.lint.detector.api.Issue
+import com.android.tools.lint.detector.api.Scope
+import com.android.tools.lint.detector.api.Severity
+import com.intellij.psi.JavaPsiFacade
+import com.intellij.psi.PsiElement
+import com.intellij.psi.search.GlobalSearchScope
+
+/**
+ * Annotation used by the AIDL compiler to emit arbitrary Java annotations in generated source.
+ *
+ * This detector's functionality requires that Stable AIDL files are _not_ passed to Lint. See the
+ * `Project.configureLintForAidl()` extension function in `LintConfiguration.kt` for implementation.
+ */
+private const val JAVA_PASSTHROUGH = "JavaPassthrough"
+
+class UnstableAidlAnnotationDetector : AidlDefinitionDetector() {
+
+    override fun visitAidlInterfaceDeclaration(context: Context, node: AidlInterfaceDeclaration) {
+        var passthruAnnotations: List<AidlAnnotationElement> = node.annotationElementList.filter {
+                annotationElement ->
+            annotationElement.qualifiedName.name.equals(JAVA_PASSTHROUGH)
+        }
+
+        // The AIDL lexer doesn't handle @JavaPassthrough correctly, so look through the previous
+        // elements until we either find it or hit another declaration.
+        if (passthruAnnotations.isEmpty()) {
+            passthruAnnotations = node.filterPrevSiblingUntilNull { element ->
+                when (element) {
+                    is AidlAnnotationElement -> element.qualifiedName.name.equals(JAVA_PASSTHROUGH)
+                    is AidlDeclaration -> null
+                    else -> false
+                }
+            }
+        }
+
+        // Find a JavaPassthrough annotation whose parameter is a RequiresOptIn marker.
+        val isAnnotated = passthruAnnotations.any { passthruAnnotation ->
+            val annotationName = passthruAnnotation.expression?.text?.toString()
+            if (annotationName?.startsWith("\"@") == true) {
+                // Attempt to load the fully-qualified class name as a PsiClass.
+                val project = passthruAnnotation.project
+                val psiClass = JavaPsiFacade.getInstance(project).findClass(
+                    annotationName.substring(2, annotationName.length - 1),
+                    GlobalSearchScope.projectScope(project)
+                )
+                // Determine if the class is annotated with RequiresOptIn.
+                psiClass?.annotations?.any { psiAnnotation ->
+                    // Either androidx.annotation or kotlin version is fine here.
+                    psiAnnotation.hasQualifiedName("RequiresOptIn")
+                } ?: false
+            } else {
+                false
+            }
+        }
+
+        if (!isAnnotated) {
+            context.report(ISSUE, node.getLocation(),
+                "Unstable AIDL files must be annotated with `@RequiresOptIn` marker")
+        }
+    }
+
+    companion object {
+        val ISSUE = Issue.create(
+            "RequireUnstableAidlAnnotation",
+            "Unstable AIDL files must be annotated",
+            "AIDL files that are not managed by the Stable AIDL plugin must be " +
+                "annotated with a `@RequiresOptIn` marker to indicate they must not be used in " +
+                "production code. See go/androidx-api-guidelines#annotating-unstable-ipc for " +
+                "details on creating marker annotations and migrating to Stable AIDL.",
+            Category.CORRECTNESS, 5, Severity.ERROR,
+            Implementation(UnstableAidlAnnotationDetector::class.java, Scope.OTHER_SCOPE)
+        )
+    }
+}
+
+/**
+ * Collects siblings in the "previous" direction, keeping them when the predicate returns true,
+ * dropping them when the predicate returns false, and stopping when the predicate returns null.
+ */
+internal inline fun <reified T> PsiElement.filterPrevSiblingUntilNull(
+    predicate: (PsiElement) -> Boolean?
+): List<T> {
+    val output = mutableListOf<T>()
+    var sibling = this.prevSibling
+    while (sibling != null) {
+        val result = predicate(sibling)
+        if (result == true && sibling is T) {
+            output += sibling
+        } else if (result == null) {
+            break
+        }
+        sibling = sibling.prevSibling
+    }
+    return output
+}
diff --git a/lint-checks/src/main/java/androidx/build/lint/aidl/AidlDefinitionDetector.kt b/lint-checks/src/main/java/androidx/build/lint/aidl/AidlDefinitionDetector.kt
new file mode 100644
index 0000000..0e552a9
--- /dev/null
+++ b/lint-checks/src/main/java/androidx/build/lint/aidl/AidlDefinitionDetector.kt
@@ -0,0 +1,118 @@
+/*
+ * Copyright 2023 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.build.lint.aidl
+
+import androidx.com.android.tools.idea.lang.aidl.AidlFileType
+import androidx.com.android.tools.idea.lang.aidl.AidlParserDefinition
+import androidx.com.android.tools.idea.lang.aidl.psi.AidlDeclaration
+import androidx.com.android.tools.idea.lang.aidl.psi.AidlFile
+import androidx.com.android.tools.idea.lang.aidl.psi.AidlInterfaceDeclaration
+import androidx.com.android.tools.idea.lang.aidl.psi.AidlMethodDeclaration
+import androidx.com.android.tools.idea.lang.aidl.psi.AidlParcelableDeclaration
+import com.android.tools.lint.detector.api.Context
+import com.android.tools.lint.detector.api.Detector
+import com.android.tools.lint.detector.api.Location
+import com.android.tools.lint.detector.api.OtherFileScanner
+import com.android.tools.lint.detector.api.Scope
+import com.intellij.core.CoreFileTypeRegistry
+import com.intellij.lang.LanguageParserDefinitions
+import com.intellij.openapi.vfs.local.CoreLocalFileSystem
+import com.intellij.psi.PsiManager
+import com.intellij.psi.SingleRootFileViewProvider
+import java.io.File
+
+/**
+ * Abstract class for detectors running against AIDL definitions (e.g. .aidl files).
+ */
+abstract class AidlDefinitionDetector : Detector(), OtherFileScanner {
+
+    override fun getApplicableFiles() = Scope.OTHER_SCOPE
+
+    override fun beforeCheckEachProject(context: Context) {
+        LanguageParserDefinitions.INSTANCE.apply {
+            // When we run from CLI, the IntelliJ parser (which does not support lexing AIDL) will
+            // already be set. Only the first parser will be used, so we need to remove that parser
+            // before we add our own.
+            allForLanguage(AidlFileType.INSTANCE.language).forEach { parser ->
+                removeExplicitExtension(AidlFileType.INSTANCE.language, parser)
+            }
+            addExplicitExtension(AidlFileType.INSTANCE.language, AidlParserDefinition())
+        }
+        (CoreFileTypeRegistry.getInstance() as CoreFileTypeRegistry).registerFileType(
+            AidlFileType.INSTANCE,
+            AidlFileType.INSTANCE.defaultExtension
+        )
+    }
+
+    override fun run(context: Context) {
+        if (context.file.extension == AidlFileType.DEFAULT_ASSOCIATED_EXTENSION) {
+            ioFileToAidlFile(context, context.file)
+                .allAidlDeclarations
+                .forEach { declaration ->
+                    visitAidlDeclaration(context, declaration)
+                }
+        }
+    }
+
+    private fun visitAidlDeclaration(context: Context, aidlDeclaration: AidlDeclaration) {
+        when (aidlDeclaration) {
+            is AidlInterfaceDeclaration ->
+                visitAidlInterfaceDeclaration(context, aidlDeclaration)
+            is AidlMethodDeclaration ->
+                visitAidlMethodDeclaration(context, aidlDeclaration)
+            is AidlParcelableDeclaration ->
+                visitAidlParcelableDeclaration(context, aidlDeclaration)
+        }
+    }
+
+    /**
+     * Visitor for `interface`s defined in AIDL.
+     */
+    open fun visitAidlInterfaceDeclaration(context: Context, node: AidlInterfaceDeclaration) {
+        // Stub.
+    }
+
+    /**
+     * Visitor for methods defined on `interface`s in AIDL.
+     */
+    open fun visitAidlMethodDeclaration(context: Context, node: AidlMethodDeclaration) {
+        // Stub.
+    }
+
+    /**
+     * Visitor for `parcelable`s defined in AIDL.
+     */
+    open fun visitAidlParcelableDeclaration(context: Context, node: AidlParcelableDeclaration) {
+        // Stub.
+    }
+}
+
+internal fun ioFileToAidlFile(context: Context, file: File): AidlFile {
+    val vFile = CoreLocalFileSystem().findFileByIoFile(file)!!
+    val psiManager = PsiManager.getInstance(context.project.ideaProject)
+    val singleRootFileViewProvider = SingleRootFileViewProvider(
+        psiManager, vFile, false, AidlFileType.INSTANCE
+    )
+    return AidlFile(singleRootFileViewProvider)
+}
+
+fun AidlDeclaration.getLocation() = Location.create(
+    File(containingFile.viewProvider.virtualFile.path),
+    containingFile.text,
+    textRange.startOffset,
+    textRange.endOffset
+)
\ No newline at end of file
diff --git a/lint-checks/src/test/java/androidx/build/lint/BanInappropriateExperimentalUsageTest.kt b/lint-checks/src/test/java/androidx/build/lint/BanInappropriateExperimentalUsageTest.kt
index 7a5349a..eb31f16 100644
--- a/lint-checks/src/test/java/androidx/build/lint/BanInappropriateExperimentalUsageTest.kt
+++ b/lint-checks/src/test/java/androidx/build/lint/BanInappropriateExperimentalUsageTest.kt
@@ -20,8 +20,9 @@
 
 import androidx.build.lint.BanInappropriateExperimentalUsage.Companion.getMavenCoordinatesFromPath
 import androidx.build.lint.BanInappropriateExperimentalUsage.Companion.isAnnotationAlwaysAllowed
+import androidx.build.lint.Stubs.Companion.JetpackOptIn
+import androidx.build.lint.Stubs.Companion.JetpackRequiresOptIn
 import com.android.tools.lint.checks.infrastructure.ProjectDescription
-import com.android.tools.lint.checks.infrastructure.TestFile
 import com.android.tools.lint.checks.infrastructure.TestMode
 import org.junit.Test
 import org.junit.runner.RunWith
@@ -143,7 +144,7 @@
             .type(ProjectDescription.Type.LIBRARY)
             .report(false)
             .files(
-                ANDROIDX_REQUIRES_OPT_IN_KT,
+                JetpackRequiresOptIn,
                 ktSample("sample.annotation.provider.ExperimentalSampleAnnotation"),
                 javaSample("sample.annotation.provider.ExperimentalSampleAnnotationJava"),
                 javaSample("sample.annotation.provider.RequiresOptInSampleAnnotationJava"),
@@ -164,7 +165,7 @@
             .type(ProjectDescription.Type.LIBRARY)
             .dependsOn(provider)
             .files(
-                ANDROIDX_OPT_IN_KT,
+                JetpackOptIn,
                 ktSample("androidx.sample.consumer.OutsideGroupExperimentalAnnotatedClass"),
                 gradle(
                     """
@@ -207,60 +208,4 @@
         // TODO: Using TestMode.DEFAULT due to b/188814760; remove testModes once bug is resolved
         check(provider, consumer, testModes = listOf(TestMode.DEFAULT)).expect(expected)
     }
-
-    companion object {
-        /**
-         * [TestFile] containing OptIn.kt from the AndroidX experimental annotation library.
-         */
-        val ANDROIDX_OPT_IN_KT: TestFile = kotlin(
-            """
-package androidx.annotation
-
-import kotlin.annotation.Retention
-import kotlin.annotation.Target
-import kotlin.reflect.KClass
-
-@Retention(AnnotationRetention.BINARY)
-@Target(
-    AnnotationTarget.CLASS,
-    AnnotationTarget.PROPERTY,
-    AnnotationTarget.LOCAL_VARIABLE,
-    AnnotationTarget.VALUE_PARAMETER,
-    AnnotationTarget.CONSTRUCTOR,
-    AnnotationTarget.FUNCTION,
-    AnnotationTarget.PROPERTY_GETTER,
-    AnnotationTarget.PROPERTY_SETTER,
-    AnnotationTarget.FILE,
-    AnnotationTarget.TYPEALIAS
-)
-public annotation class OptIn(
-    @get:Suppress("ArrayReturn")
-    vararg val markerClass: KClass<out Annotation>
-)
-            """.trimIndent()
-        )
-
-        /**
-         * [TestFile] containing RequiresOptIn.kt from the AndroidX experimental annotation library.
-         */
-        val ANDROIDX_REQUIRES_OPT_IN_KT: TestFile = kotlin(
-            """
-package androidx.annotation
-
-import kotlin.annotation.Retention
-import kotlin.annotation.Target
-
-@Retention(AnnotationRetention.BINARY)
-@Target(AnnotationTarget.ANNOTATION_CLASS)
-public annotation class RequiresOptIn(
-    val level: Level = Level.ERROR
-) {
-    public enum class Level {
-        WARNING,
-        ERROR
-    }
-}
-            """.trimIndent()
-        )
-    }
 }
diff --git a/lint-checks/src/test/java/androidx/build/lint/Stubs.kt b/lint-checks/src/test/java/androidx/build/lint/Stubs.kt
index 685f57c..0790621 100644
--- a/lint-checks/src/test/java/androidx/build/lint/Stubs.kt
+++ b/lint-checks/src/test/java/androidx/build/lint/Stubs.kt
@@ -18,6 +18,7 @@
 
 package androidx.build.lint
 
+import com.android.tools.lint.checks.infrastructure.LintDetectorTest
 import com.android.tools.lint.checks.infrastructure.TestFile
 import com.android.tools.lint.checks.infrastructure.TestFiles
 
@@ -309,6 +310,60 @@
 annotation class JvmDefaultWithCompatibility
             """.trimIndent()
         )
+
+        /**
+         * [TestFile] containing OptIn.kt from the AndroidX experimental annotation library.
+         */
+        val JetpackOptIn: TestFile = LintDetectorTest.kotlin(
+            """
+package androidx.annotation
+
+import kotlin.annotation.Retention
+import kotlin.annotation.Target
+import kotlin.reflect.KClass
+
+@Retention(AnnotationRetention.BINARY)
+@Target(
+    AnnotationTarget.CLASS,
+    AnnotationTarget.PROPERTY,
+    AnnotationTarget.LOCAL_VARIABLE,
+    AnnotationTarget.VALUE_PARAMETER,
+    AnnotationTarget.CONSTRUCTOR,
+    AnnotationTarget.FUNCTION,
+    AnnotationTarget.PROPERTY_GETTER,
+    AnnotationTarget.PROPERTY_SETTER,
+    AnnotationTarget.FILE,
+    AnnotationTarget.TYPEALIAS
+)
+annotation class OptIn(
+    @get:Suppress("ArrayReturn")
+    vararg val markerClass: KClass<out Annotation>
+)
+    """.trimIndent()
+        )
+
+        /**
+         * [TestFile] containing RequiresOptIn.kt from the AndroidX experimental annotation library.
+         */
+        val JetpackRequiresOptIn: TestFile = LintDetectorTest.kotlin(
+            """
+package androidx.annotation
+
+import kotlin.annotation.Retention
+import kotlin.annotation.Target
+
+@Retention(AnnotationRetention.BINARY)
+@Target(AnnotationTarget.ANNOTATION_CLASS)
+annotation class RequiresOptIn(
+    val level: Level = Level.ERROR
+) {
+    enum class Level {
+        WARNING,
+        ERROR
+    }
+}
+    """.trimIndent()
+        )
         /* ktlint-enable max-line-length */
     }
 }
diff --git a/lint-checks/src/test/java/androidx/build/lint/UnstableAidlAnnotationDetectorTest.kt b/lint-checks/src/test/java/androidx/build/lint/UnstableAidlAnnotationDetectorTest.kt
new file mode 100644
index 0000000..e220f0f
--- /dev/null
+++ b/lint-checks/src/test/java/androidx/build/lint/UnstableAidlAnnotationDetectorTest.kt
@@ -0,0 +1,179 @@
+/*
+ * Copyright 2023 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.build.lint
+
+import androidx.build.lint.Stubs.Companion.JetpackRequiresOptIn
+import com.android.tools.lint.checks.infrastructure.TestFile
+import com.android.tools.lint.checks.infrastructure.TestFiles
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+
+@RunWith(JUnit4::class)
+class UnstableAidlAnnotationDetectorTest : AbstractLintDetectorTest(
+    useDetector = UnstableAidlAnnotationDetector(),
+    useIssues = listOf(UnstableAidlAnnotationDetector.ISSUE)
+) {
+
+    @Test
+    fun noAnnotation() {
+        val input = aidl(
+            "android/support/v4/os/IResultReceiver.aidl",
+            """
+                package android.support.v4.os;
+
+                import android.os.Bundle;
+
+                /** @hide */
+                oneway interface IResultReceiver {
+                    void send(int resultCode, in Bundle resultData);
+                }
+            """.trimIndent()
+        )
+
+        /* ktlint-disable max-line-length */
+        val expected = """
+            src/main/aidl/android/support/v4/os/IResultReceiver.aidl:6: Error: Unstable AIDL files must be annotated with @RequiresOptIn marker [RequireUnstableAidlAnnotation]
+            oneway interface IResultReceiver {
+            ^
+            1 errors, 0 warnings
+        """.trimIndent()
+        /* ktlint-enable max-line-length */
+
+        check(input).expect(expected)
+    }
+
+    @Test
+    fun wrongAnnotation() {
+        val input = arrayOf(
+            java(
+                "src/androidx/core/MyAnnotation.java",
+                """
+                    public @interface MyAnnotation {}
+                """.trimIndent()
+            ),
+            aidl(
+                "android/support/v4/os/IResultReceiver.aidl",
+                """
+                    package android.support.v4.os;
+
+                    import android.os.Bundle;
+
+                    /** @hide */
+                    @JavaPassthrough(annotation="@androidx.core.MyAnnotation")
+                    oneway interface IResultReceiver {
+                        void send(int resultCode, in Bundle resultData);
+                    }
+                """.trimIndent()
+            )
+        )
+
+        /* ktlint-disable max-line-length */
+        val expected = """
+            src/main/aidl/android/support/v4/os/IResultReceiver.aidl:7: Error: Unstable AIDL files must be annotated with @RequiresOptIn marker [RequireUnstableAidlAnnotation]
+            oneway interface IResultReceiver {
+            ^
+            1 errors, 0 warnings
+        """.trimIndent()
+        /* ktlint-enable max-line-length */
+
+        check(*input).expect(expected)
+    }
+
+    @Test
+    fun multipleAnnotations() {
+        val input = arrayOf(
+            JetpackRequiresOptIn,
+            java(
+                "src/androidx/core/MyAnnotation.java",
+                """
+                    public @interface MyAnnotation {}
+                """.trimIndent()
+            ),
+            java(
+                "src/androidx/core/UnstableAidlDefinition.java",
+                """
+                    @RequiresOptIn
+                    public @interface UnstableAidlDefinition {}
+                """.trimIndent()
+            ),
+            aidl(
+                "android/support/v4/os/IResultReceiver.aidl",
+                """
+                    package android.support.v4.os;
+
+                    import android.os.Bundle;
+
+                    /** @hide */
+                    @JavaPassthrough(annotation="@androidx.core.UnstableAidlDefinition")
+                    @JavaPassthrough(annotation="@androidx.core.MyAnnotation")
+                    oneway interface IResultReceiver {
+                        void send(int resultCode, in Bundle resultData);
+                    }
+                """.trimIndent()
+            ),
+        )
+
+        /* ktlint-disable max-line-length */
+        val expected = """
+No warnings.
+        """.trimIndent()
+        /* ktlint-enable max-line-length */
+
+        check(*input).expect(expected)
+    }
+
+    @Test
+    fun correctAnnotation() {
+        val input = arrayOf(
+            JetpackRequiresOptIn,
+            java(
+                "src/androidx/core/UnstableAidlDefinition.java",
+                """
+                    @RequiresOptIn
+                    public @interface UnstableAidlDefinition {}
+                """.trimIndent()
+            ),
+            aidl(
+                "android/support/v4/os/IResultReceiver.aidl",
+                """
+                    package android.support.v4.os;
+
+                    import android.os.Bundle;
+
+                    /** @hide */
+                    @JavaPassthrough(annotation="@androidx.core.UnstableAidlDefinition")
+                    oneway interface IResultReceiver {
+                        void send(int resultCode, in Bundle resultData);
+                    }
+                """.trimIndent()
+            ),
+        )
+
+        /* ktlint-disable max-line-length */
+        val expected = """
+No warnings.
+        """.trimIndent()
+        /* ktlint-enable max-line-length */
+
+        check(*input).expect(expected)
+    }
+}
+
+fun aidl(to: String, source: String): TestFile = TestFiles
+    .source(to, source)
+    .within("src/main/aidl")
diff --git a/media/media/lint-baseline.xml b/media/media/lint-baseline.xml
index feab3b5..78efc10 100644
--- a/media/media/lint-baseline.xml
+++ b/media/media/lint-baseline.xml
@@ -2,6 +2,24 @@
 <issues format="6" by="lint 8.0.0-beta03" type="baseline" client="gradle" dependencies="false" name="AGP (8.0.0-beta03)" variant="all" version="8.0.0-beta03">
 
     <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with @RequiresOptIn marker"
+        errorLine1="oneway interface IMediaControllerCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/android/support/v4/media/session/IMediaControllerCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with @RequiresOptIn marker"
+        errorLine1="interface IMediaSession {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/android/support/v4/media/session/IMediaSession.aidl"/>
+    </issue>
+
+    <issue
         id="LambdaLast"
         message="Functional interface parameters (such as parameter 1, &quot;listener&quot;, in androidx.media.AudioFocusRequestCompat.Builder.setOnAudioFocusChangeListener) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions"
         errorLine1="                @NonNull OnAudioFocusChangeListener listener, @NonNull Handler handler) {"
diff --git a/media2/media2-session/lint-baseline.xml b/media2/media2-session/lint-baseline.xml
index 1d566f1..e52b867 100644
--- a/media2/media2-session/lint-baseline.xml
+++ b/media2/media2-session/lint-baseline.xml
@@ -38,6 +38,33 @@
     </issue>
 
     <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IMediaController {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/media2/session/IMediaController.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IMediaSession {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/media2/session/IMediaSession.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IMediaSessionService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/media2/session/IMediaSessionService.aidl"/>
+    </issue>
+
+    <issue
         id="UnknownNullness"
         message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
         errorLine1="    public void setTimeDiff(Long timeDiff) {"
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 cd2fd41..66ef781 100644
--- a/media2/media2-session/version-compat-tests/common/lint-baseline.xml
+++ b/media2/media2-session/version-compat-tests/common/lint-baseline.xml
@@ -11,6 +11,51 @@
     </issue>
 
     <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IRemoteMediaBrowserCompat {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/media2/test/common/IRemoteMediaBrowserCompat.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IRemoteMediaController {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/media2/test/common/IRemoteMediaController.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IRemoteMediaControllerCompat {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/media2/test/common/IRemoteMediaControllerCompat.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IRemoteMediaSession {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/media2/test/common/IRemoteMediaSession.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IRemoteMediaSessionCompat {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/media2/test/common/IRemoteMediaSessionCompat.aidl"/>
+    </issue>
+
+    <issue
         id="UnknownNullness"
         message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
         errorLine1="    public static void waitFor(final PollingCheckCondition condition) {"
diff --git a/privacysandbox/ui/integration-tests/testaidl/lint-baseline.xml b/privacysandbox/ui/integration-tests/testaidl/lint-baseline.xml
new file mode 100644
index 0000000..7319061
--- /dev/null
+++ b/privacysandbox/ui/integration-tests/testaidl/lint-baseline.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 8.1.0-alpha11" type="baseline" client="gradle" dependencies="false" name="AGP (8.1.0-alpha11)" variant="all" version="8.1.0-alpha11">
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface ISdkApi {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/privacysandbox/ui/integration/testaidl/ISdkApi.aidl"/>
+    </issue>
+
+</issues>
diff --git a/privacysandbox/ui/ui-core/lint-baseline.xml b/privacysandbox/ui/ui-core/lint-baseline.xml
index a313d36..c6aa1c9 100644
--- a/privacysandbox/ui/ui-core/lint-baseline.xml
+++ b/privacysandbox/ui/ui-core/lint-baseline.xml
@@ -10,4 +10,31 @@
             file="src/main/java/androidx/privacysandbox/ui/core/SdkRuntimeUiLibVersions.kt"/>
     </issue>
 
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IRemoteSessionClient {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/privacysandbox/ui/core/IRemoteSessionClient.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IRemoteSessionController {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/privacysandbox/ui/core/IRemoteSessionController.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface ISandboxedUiAdapter {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/privacysandbox/ui/core/ISandboxedUiAdapter.aidl"/>
+    </issue>
+
 </issues>
diff --git a/room/integration-tests/testapp/lint-baseline.xml b/room/integration-tests/testapp/lint-baseline.xml
index cbbe2b6..aa5386e 100644
--- a/room/integration-tests/testapp/lint-baseline.xml
+++ b/room/integration-tests/testapp/lint-baseline.xml
@@ -164,6 +164,15 @@
     </issue>
 
     <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface ISampleDatabaseService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/room/integration/testapp/ISampleDatabaseService.aidl"/>
+    </issue>
+
+    <issue
         id="UnknownNullness"
         message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
         errorLine1="    public String getName() {"
diff --git a/room/room-runtime/lint-baseline.xml b/room/room-runtime/lint-baseline.xml
index aea332b..e72c996 100644
--- a/room/room-runtime/lint-baseline.xml
+++ b/room/room-runtime/lint-baseline.xml
@@ -397,4 +397,22 @@
             file="src/test/java/androidx/room/TransactionExecutorTest.kt"/>
     </issue>
 
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IMultiInstanceInvalidationCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/room/IMultiInstanceInvalidationCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IMultiInstanceInvalidationService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/room/IMultiInstanceInvalidationService.aidl"/>
+    </issue>
+
 </issues>
diff --git a/wear/tiles/tiles/lint-baseline.xml b/wear/tiles/tiles/lint-baseline.xml
new file mode 100644
index 0000000..6b98413
--- /dev/null
+++ b/wear/tiles/tiles/lint-baseline.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 8.1.0-alpha11" type="baseline" client="gradle" dependencies="false" name="AGP (8.1.0-alpha11)" variant="all" version="8.1.0-alpha11">
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface ResourcesCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/wear/tiles/ResourcesCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface TileCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/wear/tiles/TileCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface TileProvider {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/wear/tiles/TileProvider.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface TileUpdateRequesterService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/wear/tiles/TileUpdateRequesterService.aidl"/>
+    </issue>
+
+</issues>
diff --git a/wear/watchface/watchface-complications-data/lint-baseline.xml b/wear/watchface/watchface-complications-data/lint-baseline.xml
index c1ad00d..43bf416 100644
--- a/wear/watchface/watchface-complications-data/lint-baseline.xml
+++ b/wear/watchface/watchface-complications-data/lint-baseline.xml
@@ -226,4 +226,40 @@
             file="src/main/java/androidx/wear/watchface/complications/data/Type.kt"/>
     </issue>
 
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IComplicationManager {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/android/support/wearable/complications/IComplicationManager.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IComplicationProvider {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/android/support/wearable/complications/IComplicationProvider.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="oneway interface IPreviewComplicationDataCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/android/support/wearable/complications/IPreviewComplicationDataCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IProviderInfoService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/android/support/wearable/complications/IProviderInfoService.aidl"/>
+    </issue>
+
 </issues>
diff --git a/wear/watchface/watchface-data/lint-baseline.xml b/wear/watchface/watchface-data/lint-baseline.xml
index f6ad76f..c479c42 100644
--- a/wear/watchface/watchface-data/lint-baseline.xml
+++ b/wear/watchface/watchface-data/lint-baseline.xml
@@ -19,4 +19,94 @@
             file="src/main/java/androidx/wear/watchface/data/WatchFaceColorsWireFormat.java"/>
     </issue>
 
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IEditorObserver {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/wear/watchface/editor/IEditorObserver.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IEditorService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/wear/watchface/editor/IEditorService.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IHeadlessWatchFace {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/wear/watchface/control/IHeadlessWatchFace.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IInteractiveWatchFace {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/wear/watchface/control/IInteractiveWatchFace.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IPendingInteractiveWatchFace {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/wear/watchface/control/IPendingInteractiveWatchFace.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IRemoteWatchFaceView {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/wear/watchface/control/IRemoteWatchFaceView.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IWatchFaceControlService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/wear/watchface/control/IWatchFaceControlService.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IWatchFaceService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/android/support/wearable/watchface/IWatchFaceService.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IWatchfaceListener {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/wear/watchface/control/IWatchfaceListener.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IWatchfaceReadyListener {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/wear/watchface/control/IWatchfaceReadyListener.aidl"/>
+    </issue>
+
 </issues>
diff --git a/wear/watchface/watchface-style/old-api-test-stub/lint-baseline.xml b/wear/watchface/watchface-style/old-api-test-stub/lint-baseline.xml
new file mode 100644
index 0000000..1441b88
--- /dev/null
+++ b/wear/watchface/watchface-style/old-api-test-stub/lint-baseline.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 8.1.0-alpha11" type="baseline" client="gradle" dependencies="false" name="AGP (8.1.0-alpha11)" variant="all" version="8.1.0-alpha11">
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IStyleEchoService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/wear/watchface/style/test/IStyleEchoService.aidl"/>
+    </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..229ded5
--- /dev/null
+++ b/wear/wear-phone-interactions/lint-baseline.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 8.1.0-alpha11" type="baseline" client="gradle" dependencies="false" name="AGP (8.1.0-alpha11)" variant="all" version="8.1.0-alpha11">
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IAuthenticationRequestCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/android/support/wearable/authentication/IAuthenticationRequestCallback.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IAuthenticationRequestService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/android/support/wearable/authentication/IAuthenticationRequestService.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with `@RequiresOptIn` marker"
+        errorLine1="interface IBridgingManagerService {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/android/support/wearable/notifications/IBridgingManagerService.aidl"/>
+    </issue>
+
+</issues>
diff --git a/work/work-runtime/lint-baseline.xml b/work/work-runtime/lint-baseline.xml
index 96d0027..e8a0ac0 100644
--- a/work/work-runtime/lint-baseline.xml
+++ b/work/work-runtime/lint-baseline.xml
@@ -263,6 +263,33 @@
     </issue>
 
     <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with @RequiresOptIn marker"
+        errorLine1="oneway interface IListenableWorkerImpl {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/work/multiprocess/IListenableWorkerImpl.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with @RequiresOptIn marker"
+        errorLine1="oneway interface IWorkManagerImpl {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/work/multiprocess/IWorkManagerImpl.aidl"/>
+    </issue>
+
+    <issue
+        id="RequireUnstableAidlAnnotation"
+        message="Unstable AIDL files must be annotated with @RequiresOptIn marker"
+        errorLine1="oneway interface IWorkManagerImplCallback {"
+        errorLine2="^">
+        <location
+            file="src/main/aidl/androidx/work/multiprocess/IWorkManagerImplCallback.aidl"/>
+    </issue>
+
+    <issue
         id="UnknownNullness"
         message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
         errorLine1="    public final void addListener(Runnable listener, Executor executor) {"
