[go: nahoru, domu]

API lint check for the ExecutorRegistration is enabled for androidx

Existing issues are suppressed with updated baseline and the
ExecutorRegistration is turned into an error in androidx configuration

Bug: 138602561

Test: ./gradlew checkApi
Change-Id: I46c81f7f8a4906149ac241a7d7d8ef5eedcd1724
diff --git a/activity/activity/api/api_lint.ignore b/activity/activity/api/api_lint.ignore
index 2784aac..7081284 100644
--- a/activity/activity/api/api_lint.ignore
+++ b/activity/activity/api/api_lint.ignore
@@ -1,4 +1,12 @@
 // Baseline format: 1.0
+ExecutorRegistration: androidx.activity.OnBackPressedDispatcher#addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback):
+    Registration methods should have overload that accepts delivery Executor: `addCallback`
+ExecutorRegistration: androidx.activity.contextaware.ContextAware#addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener):
+    Registration methods should have overload that accepts delivery Executor: `addOnContextAvailableListener`
+ExecutorRegistration: androidx.activity.contextaware.ContextAwareHelper#addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener):
+    Registration methods should have overload that accepts delivery Executor: `addOnContextAvailableListener`
+
+
 ForbiddenSuperClass: androidx.activity.ComponentActivity:
     ComponentActivity should not extend `Activity`. Activity subclasses are impossible to compose. Expose a composable API instead.
 
diff --git a/appcompat/appcompat/api/api_lint.ignore b/appcompat/appcompat/api/api_lint.ignore
index edddedd..49ba05b 100644
--- a/appcompat/appcompat/api/api_lint.ignore
+++ b/appcompat/appcompat/api/api_lint.ignore
@@ -27,6 +27,12 @@
     Context is distinct, so it must be the first argument (method `createView`)
 
 
+ExecutorRegistration: androidx.appcompat.app.AppCompatDelegate#create(android.content.Context, android.app.Activity, androidx.appcompat.app.AppCompatCallback):
+    Registration methods should have overload that accepts delivery Executor: `create`
+ExecutorRegistration: androidx.appcompat.app.AppCompatDelegate#startSupportActionMode(androidx.appcompat.view.ActionMode.Callback):
+    Registration methods should have overload that accepts delivery Executor: `startSupportActionMode`
+
+
 ForbiddenSuperClass: androidx.appcompat.app.AppCompatActivity:
     AppCompatActivity should not extend `Activity`. Activity subclasses are impossible to compose. Expose a composable API instead.
 
diff --git a/browser/browser/api/api_lint.ignore b/browser/browser/api/api_lint.ignore
index 6a0ba47..02e5401 100644
--- a/browser/browser/api/api_lint.ignore
+++ b/browser/browser/api/api_lint.ignore
@@ -71,6 +71,12 @@
     Parameter type is concrete collection (`java.util.ArrayList`); must be higher-level interface
 
 
+ExecutorRegistration: androidx.browser.customtabs.CustomTabsClient#newSession(androidx.browser.customtabs.CustomTabsCallback, int):
+    Registration methods should have overload that accepts delivery Executor: `newSession`
+ExecutorRegistration: androidx.browser.trusted.TrustedWebActivityServiceConnection#sendExtraCommand(String, android.os.Bundle, androidx.browser.trusted.TrustedWebActivityCallback):
+    Registration methods should have overload that accepts delivery Executor: `sendExtraCommand`
+
+
 IntentName: androidx.browser.browseractions.BrowserActionsIntent#KEY_ACTION:
     Intent action constant name must be ACTION_FOO: KEY_ACTION
 
diff --git a/buildSrc/src/main/kotlin/androidx/build/metalava/MetalavaRunner.kt b/buildSrc/src/main/kotlin/androidx/build/metalava/MetalavaRunner.kt
index fef5b61..74ebf6e 100644
--- a/buildSrc/src/main/kotlin/androidx/build/metalava/MetalavaRunner.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/metalava/MetalavaRunner.kt
@@ -115,7 +115,6 @@
             "StartWithLower", // b/135710527
 
             // The list of checks that are API lint warnings and are yet to be enabled
-            "ExecutorRegistration",
             "SamShouldBeLast",
             "CallbackMethodName",
             "GetterOnBuilder",
@@ -137,6 +136,7 @@
             "OverlappingConstants",
             "IllegalStateException",
             "ListenerLast",
+            "ExecutorRegistration",
             "StreamFiles",
             "AbstractInner",
             "NotCloseable",
diff --git a/camera/camera-camera2/src/main/java/androidx/camera/camera2/interop/Camera2Interop.java b/camera/camera-camera2/src/main/java/androidx/camera/camera2/interop/Camera2Interop.java
index f0ad139..9e4decc 100644
--- a/camera/camera-camera2/src/main/java/androidx/camera/camera2/interop/Camera2Interop.java
+++ b/camera/camera-camera2/src/main/java/androidx/camera/camera2/interop/Camera2Interop.java
@@ -21,6 +21,7 @@
 import static androidx.camera.camera2.impl.Camera2ImplConfig.SESSION_STATE_CALLBACK_OPTION;
 import static androidx.camera.camera2.impl.Camera2ImplConfig.TEMPLATE_TYPE_OPTION;
 
+import android.annotation.SuppressLint;
 import android.hardware.camera2.CameraCaptureSession;
 import android.hardware.camera2.CameraDevice;
 import android.hardware.camera2.CaptureRequest;
@@ -111,6 +112,7 @@
          * @param stateCallback The {@link CameraDevice.StateCallback}.
          * @return The current Extender.
          */
+        @SuppressLint("ExecutorRegistration")
         @NonNull
         public Extender<T> setDeviceStateCallback(
                 @NonNull CameraDevice.StateCallback stateCallback) {
@@ -135,6 +137,7 @@
          * @param stateCallback The {@link CameraCaptureSession.StateCallback}.
          * @return The current Extender.
          */
+        @SuppressLint("ExecutorRegistration")
         @NonNull
         public Extender<T> setSessionStateCallback(
                 @NonNull CameraCaptureSession.StateCallback stateCallback) {
@@ -161,6 +164,7 @@
          * @param captureCallback The {@link CameraCaptureSession.CaptureCallback}.
          * @return The current Extender.
          */
+        @SuppressLint("ExecutorRegistration")
         @NonNull
         public Extender<T> setSessionCaptureCallback(
                 @NonNull CameraCaptureSession.CaptureCallback captureCallback) {
diff --git a/compose/runtime/runtime/api/api_lint.ignore b/compose/runtime/runtime/api/api_lint.ignore
index f8a9922..b99ace6 100644
--- a/compose/runtime/runtime/api/api_lint.ignore
+++ b/compose/runtime/runtime/api/api_lint.ignore
@@ -35,6 +35,16 @@
     Method Failure.check appears to be throwing androidx.compose.runtime.snapshots.SnapshotApplyConflictException; this should be recorded with a @Throws annotation; see https://android.github.io/kotlin-guides/interop.html#document-exceptions
 
 
+ExecutorRegistration: androidx.compose.runtime.AndroidEmbeddingContext#cancelFrameCallback(android.view.Choreographer.FrameCallback):
+    Registration methods should have overload that accepts delivery Executor: `cancelFrameCallback`
+ExecutorRegistration: androidx.compose.runtime.AndroidEmbeddingContext#postFrameCallback(android.view.Choreographer.FrameCallback):
+    Registration methods should have overload that accepts delivery Executor: `postFrameCallback`
+ExecutorRegistration: androidx.compose.runtime.EmbeddingContext#cancelFrameCallback(android.view.Choreographer.FrameCallback):
+    Registration methods should have overload that accepts delivery Executor: `cancelFrameCallback`
+ExecutorRegistration: androidx.compose.runtime.EmbeddingContext#postFrameCallback(android.view.Choreographer.FrameCallback):
+    Registration methods should have overload that accepts delivery Executor: `postFrameCallback`
+
+
 KotlinOperator: androidx.compose.runtime.SlotReader#get(androidx.compose.runtime.Anchor):
     Note that adding the `operator` keyword would allow calling this method using operator syntax
 KotlinOperator: androidx.compose.runtime.SlotReader#get(int):
diff --git a/compose/ui/ui/api/api_lint.ignore b/compose/ui/ui/api/api_lint.ignore
index aa82919..913efd5 100644
--- a/compose/ui/ui/api/api_lint.ignore
+++ b/compose/ui/ui/api/api_lint.ignore
@@ -27,6 +27,10 @@
     Class should be named ScaleCallback
 
 
+ExecutorRegistration: androidx.compose.ui.gesture.ScrollGestureFilterKt#scrollGestureFilter(androidx.compose.ui.Modifier, androidx.compose.ui.gesture.ScrollCallback, androidx.compose.ui.gesture.scrollorientationlocking.Orientation, kotlin.jvm.functions.Function1<? super androidx.compose.ui.gesture.Direction,java.lang.Boolean>, boolean):
+    Registration methods should have overload that accepts delivery Executor: `scrollGestureFilter`
+
+
 ListenerLast: androidx.compose.ui.gesture.ScrollGestureFilterKt#scrollGestureFilter(androidx.compose.ui.Modifier, androidx.compose.ui.gesture.ScrollCallback, androidx.compose.ui.gesture.scrollorientationlocking.Orientation, kotlin.jvm.functions.Function1<? super androidx.compose.ui.gesture.Direction,java.lang.Boolean>, boolean) parameter #2:
     Listeners should always be at end of argument list (method `scrollGestureFilter`)
 ListenerLast: androidx.compose.ui.gesture.ScrollGestureFilterKt#scrollGestureFilter(androidx.compose.ui.Modifier, androidx.compose.ui.gesture.ScrollCallback, androidx.compose.ui.gesture.scrollorientationlocking.Orientation, kotlin.jvm.functions.Function1<? super androidx.compose.ui.gesture.Direction,java.lang.Boolean>, boolean) parameter #3:
diff --git a/contentpager/contentpager/api/api_lint.ignore b/contentpager/contentpager/api/api_lint.ignore
index 0ff97db..f99d8fd 100644
--- a/contentpager/contentpager/api/api_lint.ignore
+++ b/contentpager/contentpager/api/api_lint.ignore
@@ -9,6 +9,12 @@
     Inconsistent extra value; expected `androidx.contentpager.content.extra.TOTAL_COUNT`, was `android.content.extra.TOTAL_COUNT`
 
 
+ExecutorRegistration: androidx.contentpager.content.ContentPager#query(android.net.Uri, String[], android.os.Bundle, android.os.CancellationSignal, androidx.contentpager.content.ContentPager.ContentCallback):
+    Registration methods should have overload that accepts delivery Executor: `query`
+ExecutorRegistration: androidx.contentpager.content.ContentPager.QueryRunner#query(androidx.contentpager.content.Query, androidx.contentpager.content.ContentPager.QueryRunner.Callback):
+    Registration methods should have overload that accepts delivery Executor: `query`
+
+
 MissingNullability: androidx.contentpager.content.ContentPager#ContentPager(android.content.ContentResolver, androidx.contentpager.content.ContentPager.QueryRunner) parameter #0:
     Missing nullability on parameter `resolver` in method `ContentPager`
 MissingNullability: androidx.contentpager.content.ContentPager#ContentPager(android.content.ContentResolver, androidx.contentpager.content.ContentPager.QueryRunner) parameter #1:
diff --git a/core/core/api/api_lint.ignore b/core/core/api/api_lint.ignore
index e70fc14..b9a6d3c 100644
--- a/core/core/api/api_lint.ignore
+++ b/core/core/api/api_lint.ignore
@@ -177,6 +177,18 @@
     Context is distinct, so it must be the first argument (method `shouldShowMenuShortcutsWhenKeyboardPresent`)
 
 
+ExecutorRegistration: androidx.core.content.res.ResourcesCompat#getFont(android.content.Context, int, androidx.core.content.res.ResourcesCompat.FontCallback, android.os.Handler):
+    Registration methods should have overload that accepts delivery Executor: `getFont`
+ExecutorRegistration: androidx.core.hardware.fingerprint.FingerprintManagerCompat#authenticate(androidx.core.hardware.fingerprint.FingerprintManagerCompat.CryptoObject, int, androidx.core.os.CancellationSignal, androidx.core.hardware.fingerprint.FingerprintManagerCompat.AuthenticationCallback, android.os.Handler):
+    Registration methods should have overload that accepts delivery Executor: `authenticate`
+ExecutorRegistration: androidx.core.os.CancellationSignal#setOnCancelListener(androidx.core.os.CancellationSignal.OnCancelListener):
+    Registration methods should have overload that accepts delivery Executor: `setOnCancelListener`
+ExecutorRegistration: androidx.core.os.HandlerCompat#createAsync(android.os.Looper, android.os.Handler.Callback):
+    Registration methods should have overload that accepts delivery Executor: `createAsync`
+ExecutorRegistration: androidx.core.provider.FontsContractCompat#requestFont(android.content.Context, androidx.core.provider.FontRequest, androidx.core.provider.FontsContractCompat.FontRequestCallback, android.os.Handler):
+    Registration methods should have overload that accepts delivery Executor: `requestFont`
+
+
 KotlinOperator: androidx.core.os.LocaleListCompat#get(int):
     Method can be invoked with an indexing operator from Kotlin: `get` (this is usually desirable; just make sure it makes sense for this type of object)
 
diff --git a/emoji/core/api/api_lint.ignore b/emoji/core/api/api_lint.ignore
index 327459c..c22e323 100644
--- a/emoji/core/api/api_lint.ignore
+++ b/emoji/core/api/api_lint.ignore
@@ -9,6 +9,14 @@
     Method parameter should be Collection<InputFilter> (or subclass) instead of raw array; was `android.text.InputFilter[]`
 
 
+ExecutorRegistration: androidx.emoji.text.EmojiCompat#registerInitCallback(androidx.emoji.text.EmojiCompat.InitCallback):
+    Registration methods should have overload that accepts delivery Executor: `registerInitCallback`
+ExecutorRegistration: androidx.emoji.text.EmojiCompat.Config#registerInitCallback(androidx.emoji.text.EmojiCompat.InitCallback):
+    Registration methods should have overload that accepts delivery Executor: `registerInitCallback`
+ExecutorRegistration: androidx.emoji.text.EmojiCompat.MetadataRepoLoader#load(androidx.emoji.text.EmojiCompat.MetadataRepoLoaderCallback):
+    Registration methods should have overload that accepts delivery Executor: `load`
+
+
 MissingNullability: androidx.emoji.text.EmojiCompat#get():
     Missing nullability on method `get` return
 MissingNullability: androidx.emoji.text.EmojiCompat#handleOnKeyDown(android.text.Editable, int, android.view.KeyEvent) parameter #2:
diff --git a/enterprise/feedback/api/api_lint.ignore b/enterprise/feedback/api/api_lint.ignore
new file mode 100644
index 0000000..9256640
--- /dev/null
+++ b/enterprise/feedback/api/api_lint.ignore
@@ -0,0 +1,5 @@
+// Baseline format: 1.0
+ExecutorRegistration: androidx.enterprise.feedback.KeyedAppStatesReporter#setStates(java.util.Collection<androidx.enterprise.feedback.KeyedAppState>, androidx.enterprise.feedback.KeyedAppStatesCallback):
+    Registration methods should have overload that accepts delivery Executor: `setStates`
+ExecutorRegistration: androidx.enterprise.feedback.KeyedAppStatesReporter#setStatesImmediate(java.util.Collection<androidx.enterprise.feedback.KeyedAppState>, androidx.enterprise.feedback.KeyedAppStatesCallback):
+    Registration methods should have overload that accepts delivery Executor: `setStatesImmediate`
diff --git a/enterprise/feedback/testing/api/api_lint.ignore b/enterprise/feedback/testing/api/api_lint.ignore
new file mode 100644
index 0000000..a20f322
--- /dev/null
+++ b/enterprise/feedback/testing/api/api_lint.ignore
@@ -0,0 +1,5 @@
+// Baseline format: 1.0
+ExecutorRegistration: androidx.enterprise.feedback.FakeKeyedAppStatesReporter#setStates(java.util.Collection<androidx.enterprise.feedback.KeyedAppState>, androidx.enterprise.feedback.KeyedAppStatesCallback):
+    Registration methods should have overload that accepts delivery Executor: `setStates`
+ExecutorRegistration: androidx.enterprise.feedback.FakeKeyedAppStatesReporter#setStatesImmediate(java.util.Collection<androidx.enterprise.feedback.KeyedAppState>, androidx.enterprise.feedback.KeyedAppStatesCallback):
+    Registration methods should have overload that accepts delivery Executor: `setStatesImmediate`
diff --git a/leanback/leanback/api/api_lint.ignore b/leanback/leanback/api/api_lint.ignore
index 1eea158..a1d3a96 100644
--- a/leanback/leanback/api/api_lint.ignore
+++ b/leanback/leanback/api/api_lint.ignore
@@ -83,6 +83,20 @@
     Context is distinct, so it must be the first argument (method `ThumbsAction`)
 
 
+ExecutorRegistration: androidx.leanback.media.PlaybackGlue#addPlayerCallback(androidx.leanback.media.PlaybackGlue.PlayerCallback):
+    Registration methods should have overload that accepts delivery Executor: `addPlayerCallback`
+ExecutorRegistration: androidx.leanback.media.PlaybackGlueHost#setHostCallback(androidx.leanback.media.PlaybackGlueHost.HostCallback):
+    Registration methods should have overload that accepts delivery Executor: `setHostCallback`
+ExecutorRegistration: androidx.leanback.media.PlaybackGlueHost#setOnActionClickedListener(androidx.leanback.widget.OnActionClickedListener):
+    Registration methods should have overload that accepts delivery Executor: `setOnActionClickedListener`
+ExecutorRegistration: androidx.leanback.media.PlaybackGlueHost#setOnKeyInterceptListener(android.view.View.OnKeyListener):
+    Registration methods should have overload that accepts delivery Executor: `setOnKeyInterceptListener`
+ExecutorRegistration: androidx.leanback.media.PlayerAdapter#setCallback(androidx.leanback.media.PlayerAdapter.Callback):
+    Registration methods should have overload that accepts delivery Executor: `setCallback`
+ExecutorRegistration: androidx.leanback.media.SurfaceHolderGlueHost#setSurfaceHolderCallback(android.view.SurfaceHolder.Callback):
+    Registration methods should have overload that accepts delivery Executor: `setSurfaceHolderCallback`
+
+
 FractionFloat: androidx.leanback.widget.Parallax.FloatProperty#atFraction(float):
     Fractions must use floats, was `androidx.leanback.widget.Parallax.PropertyMarkerValue` in `atFraction`
 FractionFloat: androidx.leanback.widget.Parallax.IntProperty#atFraction(float):
diff --git a/media/media/api/api_lint.ignore b/media/media/api/api_lint.ignore
index fe4b00a..f605218 100644
--- a/media/media/api/api_lint.ignore
+++ b/media/media/api/api_lint.ignore
@@ -37,6 +37,30 @@
     Inconsistent class name; should be `<Foo>Service`, was `MediaBrowserServiceCompat`
 
 
+ExecutorRegistration: android.support.v4.media.MediaBrowserCompat#MediaBrowserCompat(android.content.Context, android.content.ComponentName, android.support.v4.media.MediaBrowserCompat.ConnectionCallback, android.os.Bundle):
+    Registration methods should have overload that accepts delivery Executor: `MediaBrowserCompat`
+ExecutorRegistration: android.support.v4.media.MediaBrowserCompat#getItem(String, android.support.v4.media.MediaBrowserCompat.ItemCallback):
+    Registration methods should have overload that accepts delivery Executor: `getItem`
+ExecutorRegistration: android.support.v4.media.MediaBrowserCompat#search(String, android.os.Bundle, android.support.v4.media.MediaBrowserCompat.SearchCallback):
+    Registration methods should have overload that accepts delivery Executor: `search`
+ExecutorRegistration: android.support.v4.media.MediaBrowserCompat#sendCustomAction(String, android.os.Bundle, android.support.v4.media.MediaBrowserCompat.CustomActionCallback):
+    Registration methods should have overload that accepts delivery Executor: `sendCustomAction`
+ExecutorRegistration: android.support.v4.media.MediaBrowserCompat#subscribe(String, android.os.Bundle, android.support.v4.media.MediaBrowserCompat.SubscriptionCallback):
+    Registration methods should have overload that accepts delivery Executor: `subscribe`
+ExecutorRegistration: android.support.v4.media.MediaBrowserCompat#unsubscribe(String, android.support.v4.media.MediaBrowserCompat.SubscriptionCallback):
+    Registration methods should have overload that accepts delivery Executor: `unsubscribe`
+ExecutorRegistration: android.support.v4.media.session.MediaControllerCompat#registerCallback(android.support.v4.media.session.MediaControllerCompat.Callback, android.os.Handler):
+    Registration methods should have overload that accepts delivery Executor: `registerCallback`
+ExecutorRegistration: android.support.v4.media.session.MediaSessionCompat#addOnActiveChangeListener(android.support.v4.media.session.MediaSessionCompat.OnActiveChangeListener):
+    Registration methods should have overload that accepts delivery Executor: `addOnActiveChangeListener`
+ExecutorRegistration: android.support.v4.media.session.MediaSessionCompat#setCallback(android.support.v4.media.session.MediaSessionCompat.Callback, android.os.Handler):
+    Registration methods should have overload that accepts delivery Executor: `setCallback`
+ExecutorRegistration: androidx.media.AudioFocusRequestCompat.Builder#setOnAudioFocusChangeListener(android.media.AudioManager.OnAudioFocusChangeListener, android.os.Handler):
+    Registration methods should have overload that accepts delivery Executor: `setOnAudioFocusChangeListener`
+ExecutorRegistration: androidx.media.VolumeProviderCompat#setCallback(androidx.media.VolumeProviderCompat.Callback):
+    Registration methods should have overload that accepts delivery Executor: `setCallback`
+
+
 IntentName: android.support.v4.media.MediaBrowserCompat#CUSTOM_ACTION_DOWNLOAD:
     Intent action constant name must be ACTION_FOO: CUSTOM_ACTION_DOWNLOAD
 IntentName: android.support.v4.media.MediaBrowserCompat#CUSTOM_ACTION_REMOVE_DOWNLOADED_FILE:
diff --git a/media2/common/api/api_lint.ignore b/media2/common/api/api_lint.ignore
index d3d06d5..8464891 100644
--- a/media2/common/api/api_lint.ignore
+++ b/media2/common/api/api_lint.ignore
@@ -13,5 +13,9 @@
     Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.media2.common.MediaMetadata.Builder.putText(String,CharSequence)
 
 
+ExecutorRegistration: androidx.media2.common.CallbackMediaItem.Builder#Builder(androidx.media2.common.DataSourceCallback):
+    Registration methods should have overload that accepts delivery Executor: `Builder`
+
+
 IntentName: androidx.media2.common.MediaMetadata#METADATA_KEY_EXTRAS:
     Intent extra constant name must be EXTRA_FOO: METADATA_KEY_EXTRAS
diff --git a/mediarouter/mediarouter/api/api_lint.ignore b/mediarouter/mediarouter/api/api_lint.ignore
index af8d6eb..0969c27 100644
--- a/mediarouter/mediarouter/api/api_lint.ignore
+++ b/mediarouter/mediarouter/api/api_lint.ignore
@@ -53,6 +53,42 @@
     Inconsistent extra value; expected `androidx.mediarouter.media.extra.HTTP_STATUS_CODE`, was `android.media.status.extra.HTTP_STATUS_CODE`
 
 
+ExecutorRegistration: androidx.mediarouter.media.MediaRouteProvider#setCallback(androidx.mediarouter.media.MediaRouteProvider.Callback):
+    Registration methods should have overload that accepts delivery Executor: `setCallback`
+ExecutorRegistration: androidx.mediarouter.media.MediaRouter#addCallback(androidx.mediarouter.media.MediaRouteSelector, androidx.mediarouter.media.MediaRouter.Callback, int):
+    Registration methods should have overload that accepts delivery Executor: `addCallback`
+ExecutorRegistration: androidx.mediarouter.media.MediaRouter#setOnPrepareTransferListener(androidx.mediarouter.media.MediaRouter.OnPrepareTransferListener):
+    Registration methods should have overload that accepts delivery Executor: `setOnPrepareTransferListener`
+ExecutorRegistration: androidx.mediarouter.media.MediaRouter.RouteInfo#sendControlRequest(android.content.Intent, androidx.mediarouter.media.MediaRouter.ControlRequestCallback):
+    Registration methods should have overload that accepts delivery Executor: `sendControlRequest`
+ExecutorRegistration: androidx.mediarouter.media.RemotePlaybackClient#endSession(android.os.Bundle, androidx.mediarouter.media.RemotePlaybackClient.SessionActionCallback):
+    Registration methods should have overload that accepts delivery Executor: `endSession`
+ExecutorRegistration: androidx.mediarouter.media.RemotePlaybackClient#enqueue(android.net.Uri, String, android.os.Bundle, long, android.os.Bundle, androidx.mediarouter.media.RemotePlaybackClient.ItemActionCallback):
+    Registration methods should have overload that accepts delivery Executor: `enqueue`
+ExecutorRegistration: androidx.mediarouter.media.RemotePlaybackClient#getSessionStatus(android.os.Bundle, androidx.mediarouter.media.RemotePlaybackClient.SessionActionCallback):
+    Registration methods should have overload that accepts delivery Executor: `getSessionStatus`
+ExecutorRegistration: androidx.mediarouter.media.RemotePlaybackClient#getStatus(String, android.os.Bundle, androidx.mediarouter.media.RemotePlaybackClient.ItemActionCallback):
+    Registration methods should have overload that accepts delivery Executor: `getStatus`
+ExecutorRegistration: androidx.mediarouter.media.RemotePlaybackClient#pause(android.os.Bundle, androidx.mediarouter.media.RemotePlaybackClient.SessionActionCallback):
+    Registration methods should have overload that accepts delivery Executor: `pause`
+ExecutorRegistration: androidx.mediarouter.media.RemotePlaybackClient#play(android.net.Uri, String, android.os.Bundle, long, android.os.Bundle, androidx.mediarouter.media.RemotePlaybackClient.ItemActionCallback):
+    Registration methods should have overload that accepts delivery Executor: `play`
+ExecutorRegistration: androidx.mediarouter.media.RemotePlaybackClient#resume(android.os.Bundle, androidx.mediarouter.media.RemotePlaybackClient.SessionActionCallback):
+    Registration methods should have overload that accepts delivery Executor: `resume`
+ExecutorRegistration: androidx.mediarouter.media.RemotePlaybackClient#seek(String, long, android.os.Bundle, androidx.mediarouter.media.RemotePlaybackClient.ItemActionCallback):
+    Registration methods should have overload that accepts delivery Executor: `seek`
+ExecutorRegistration: androidx.mediarouter.media.RemotePlaybackClient#sendMessage(android.os.Bundle, androidx.mediarouter.media.RemotePlaybackClient.SessionActionCallback):
+    Registration methods should have overload that accepts delivery Executor: `sendMessage`
+ExecutorRegistration: androidx.mediarouter.media.RemotePlaybackClient#setOnMessageReceivedListener(androidx.mediarouter.media.RemotePlaybackClient.OnMessageReceivedListener):
+    Registration methods should have overload that accepts delivery Executor: `setOnMessageReceivedListener`
+ExecutorRegistration: androidx.mediarouter.media.RemotePlaybackClient#setStatusCallback(androidx.mediarouter.media.RemotePlaybackClient.StatusCallback):
+    Registration methods should have overload that accepts delivery Executor: `setStatusCallback`
+ExecutorRegistration: androidx.mediarouter.media.RemotePlaybackClient#startSession(android.os.Bundle, androidx.mediarouter.media.RemotePlaybackClient.SessionActionCallback):
+    Registration methods should have overload that accepts delivery Executor: `startSession`
+ExecutorRegistration: androidx.mediarouter.media.RemotePlaybackClient#stop(android.os.Bundle, androidx.mediarouter.media.RemotePlaybackClient.SessionActionCallback):
+    Registration methods should have overload that accepts delivery Executor: `stop`
+
+
 InterfaceConstant: androidx.mediarouter.media.MediaRouteProviderService#SERVICE_INTERFACE:
     Inconsistent interface constant; expected 'androidx.mediarouter.media.MediaRouteProviderService'`
 
diff --git a/navigation/navigation-runtime/api/api_lint.ignore b/navigation/navigation-runtime/api/api_lint.ignore
index 8005e78..15edacb 100644
--- a/navigation/navigation-runtime/api/api_lint.ignore
+++ b/navigation/navigation-runtime/api/api_lint.ignore
@@ -5,6 +5,10 @@
     Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.navigation.NavDeepLinkBuilder.createTaskStackBuilder()
 
 
+ExecutorRegistration: androidx.navigation.NavController#addOnDestinationChangedListener(androidx.navigation.NavController.OnDestinationChangedListener):
+    Registration methods should have overload that accepts delivery Executor: `addOnDestinationChangedListener`
+
+
 MissingBuildMethod: androidx.navigation.NavDeepLinkBuilder:
     androidx.navigation.NavDeepLinkBuilder does not declare a `build()` method, but builder classes are expected to
 
diff --git a/navigation/navigation-ui/api/api_lint.ignore b/navigation/navigation-ui/api/api_lint.ignore
index f05bc95..b0a83b0 100644
--- a/navigation/navigation-ui/api/api_lint.ignore
+++ b/navigation/navigation-ui/api/api_lint.ignore
@@ -1,3 +1,7 @@
 // Baseline format: 1.0
 AcronymName: androidx.navigation.ui.NavigationUI:
     Acronyms should not be capitalized in class names: was `NavigationUI`, should this be `NavigationUi`?
+
+
+ExecutorRegistration: androidx.navigation.ui.AppBarConfiguration.Builder#setFallbackOnNavigateUpListener(androidx.navigation.ui.AppBarConfiguration.OnNavigateUpListener):
+    Registration methods should have overload that accepts delivery Executor: `setFallbackOnNavigateUpListener`
diff --git a/paging/common/api/api_lint.ignore b/paging/common/api/api_lint.ignore
index 53b37a1..41fce69 100644
--- a/paging/common/api/api_lint.ignore
+++ b/paging/common/api/api_lint.ignore
@@ -3,3 +3,9 @@
     Must avoid boxed primitives (`java.lang.Integer`)
 AutoBoxing: androidx.paging.PagingState#getAnchorPosition():
     Must avoid boxed primitives (`java.lang.Integer`)
+
+
+ExecutorRegistration: androidx.paging.DataSource#addInvalidatedCallback(androidx.paging.DataSource.InvalidatedCallback):
+    Registration methods should have overload that accepts delivery Executor: `addInvalidatedCallback`
+ExecutorRegistration: androidx.paging.PagedList#addWeakCallback(androidx.paging.PagedList.Callback):
+    Registration methods should have overload that accepts delivery Executor: `addWeakCallback`
diff --git a/paging/runtime/api/api_lint.ignore b/paging/runtime/api/api_lint.ignore
new file mode 100644
index 0000000..d5459e7
--- /dev/null
+++ b/paging/runtime/api/api_lint.ignore
@@ -0,0 +1,3 @@
+// Baseline format: 1.0
+ExecutorRegistration: androidx.paging.AsyncPagingDataDiffer#AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T>, androidx.recyclerview.widget.ListUpdateCallback):
+    Registration methods should have overload that accepts delivery Executor: `AsyncPagingDataDiffer`
diff --git a/preference/preference/api/api_lint.ignore b/preference/preference/api/api_lint.ignore
index 8cd2bf7..49deee8 100644
--- a/preference/preference/api/api_lint.ignore
+++ b/preference/preference/api/api_lint.ignore
@@ -19,6 +19,22 @@
     Method parameter should be Collection<CharSequence> (or subclass) instead of raw array; was `java.lang.CharSequence[]`
 
 
+ExecutorRegistration: androidx.preference.EditTextPreference#setOnBindEditTextListener(androidx.preference.EditTextPreference.OnBindEditTextListener):
+    Registration methods should have overload that accepts delivery Executor: `setOnBindEditTextListener`
+ExecutorRegistration: androidx.preference.Preference#setOnPreferenceChangeListener(androidx.preference.Preference.OnPreferenceChangeListener):
+    Registration methods should have overload that accepts delivery Executor: `setOnPreferenceChangeListener`
+ExecutorRegistration: androidx.preference.Preference#setOnPreferenceClickListener(androidx.preference.Preference.OnPreferenceClickListener):
+    Registration methods should have overload that accepts delivery Executor: `setOnPreferenceClickListener`
+ExecutorRegistration: androidx.preference.PreferenceManager#setOnDisplayPreferenceDialogListener(androidx.preference.PreferenceManager.OnDisplayPreferenceDialogListener):
+    Registration methods should have overload that accepts delivery Executor: `setOnDisplayPreferenceDialogListener`
+ExecutorRegistration: androidx.preference.PreferenceManager#setOnNavigateToScreenListener(androidx.preference.PreferenceManager.OnNavigateToScreenListener):
+    Registration methods should have overload that accepts delivery Executor: `setOnNavigateToScreenListener`
+ExecutorRegistration: androidx.preference.PreferenceManager#setOnPreferenceTreeClickListener(androidx.preference.PreferenceManager.OnPreferenceTreeClickListener):
+    Registration methods should have overload that accepts delivery Executor: `setOnPreferenceTreeClickListener`
+ExecutorRegistration: androidx.preference.PreferenceManager#setPreferenceComparisonCallback(androidx.preference.PreferenceManager.PreferenceComparisonCallback):
+    Registration methods should have overload that accepts delivery Executor: `setPreferenceComparisonCallback`
+
+
 InternalField: androidx.preference.TwoStatePreference#mChecked:
     Internal field mChecked must not be exposed
 
diff --git a/print/print/api/api_lint.ignore b/print/print/api/api_lint.ignore
new file mode 100644
index 0000000..0b0b74c
--- /dev/null
+++ b/print/print/api/api_lint.ignore
@@ -0,0 +1,3 @@
+// Baseline format: 1.0
+ExecutorRegistration: androidx.print.PrintHelper#printBitmap(String, android.net.Uri, androidx.print.PrintHelper.OnPrintFinishCallback):
+    Registration methods should have overload that accepts delivery Executor: `printBitmap`
diff --git a/recyclerview/recyclerview-selection/api/api_lint.ignore b/recyclerview/recyclerview-selection/api/api_lint.ignore
index 82e97e9..cae1fa6 100644
--- a/recyclerview/recyclerview-selection/api/api_lint.ignore
+++ b/recyclerview/recyclerview-selection/api/api_lint.ignore
@@ -27,6 +27,14 @@
     Class should be named SelectionCallback
 
 
+ExecutorRegistration: androidx.recyclerview.selection.OperationMonitor#addListener(androidx.recyclerview.selection.OperationMonitor.OnChangeListener):
+    Registration methods should have overload that accepts delivery Executor: `addListener`
+ExecutorRegistration: androidx.recyclerview.selection.SelectionTracker.Builder#withOnContextClickListener(androidx.recyclerview.selection.OnContextClickListener):
+    Registration methods should have overload that accepts delivery Executor: `withOnContextClickListener`
+ExecutorRegistration: androidx.recyclerview.selection.SelectionTracker.Builder#withOnDragInitiatedListener(androidx.recyclerview.selection.OnDragInitiatedListener):
+    Registration methods should have overload that accepts delivery Executor: `withOnDragInitiatedListener`
+
+
 KotlinOperator: androidx.recyclerview.selection.Selection#contains(K):
     Method can be invoked as a "in" operator from Kotlin: `contains` (this is usually desirable; just make sure it makes sense for this type of object)
 
diff --git a/room/runtime/api/api_lint.ignore b/room/runtime/api/api_lint.ignore
index 8c2f59a..516051a 100644
--- a/room/runtime/api/api_lint.ignore
+++ b/room/runtime/api/api_lint.ignore
@@ -25,6 +25,16 @@
     Class should be named Callback
 
 
+ExecutorRegistration: androidx.room.RoomDatabase.Builder#addCallback(androidx.room.RoomDatabase.Callback):
+    Registration methods should have overload that accepts delivery Executor: `addCallback`
+ExecutorRegistration: androidx.room.RoomDatabase.Builder#createFromAsset(String, androidx.room.RoomDatabase.PrepackagedCallback):
+    Registration methods should have overload that accepts delivery Executor: `createFromAsset`
+ExecutorRegistration: androidx.room.RoomDatabase.Builder#createFromFile(java.io.File, androidx.room.RoomDatabase.PrepackagedCallback):
+    Registration methods should have overload that accepts delivery Executor: `createFromFile`
+ExecutorRegistration: androidx.room.RoomDatabase.Builder#createFromInputStream(java.util.concurrent.Callable<java.io.InputStream>, androidx.room.RoomDatabase.PrepackagedCallback):
+    Registration methods should have overload that accepts delivery Executor: `createFromInputStream`
+
+
 MissingNullability: androidx.room.DatabaseConfiguration#journalMode:
     Missing nullability on field `journalMode` in class `class androidx.room.DatabaseConfiguration`
 MissingNullability: androidx.room.InvalidationTracker.Observer#Observer(String, java.lang.String...) parameter #1:
diff --git a/security/crypto/api/api_lint.ignore b/security/crypto/api/api_lint.ignore
index 0b681f2..3e58a76 100644
--- a/security/crypto/api/api_lint.ignore
+++ b/security/crypto/api/api_lint.ignore
@@ -5,6 +5,10 @@
     Context is distinct, so it must be the first argument (method `create`)
 
 
+ExecutorRegistration: androidx.security.crypto.EncryptedSharedPreferences#registerOnSharedPreferenceChangeListener(android.content.SharedPreferences.OnSharedPreferenceChangeListener):
+    Registration methods should have overload that accepts delivery Executor: `registerOnSharedPreferenceChangeListener`
+
+
 RegistrationName: androidx.security.crypto.EncryptedSharedPreferences#registerOnSharedPreferenceChangeListener(android.content.SharedPreferences.OnSharedPreferenceChangeListener):
     Listener methods should be named add/remove; was registerOnSharedPreferenceChangeListener
 RegistrationName: androidx.security.crypto.EncryptedSharedPreferences#unregisterOnSharedPreferenceChangeListener(android.content.SharedPreferences.OnSharedPreferenceChangeListener):
diff --git a/slices/builders/api/api_lint.ignore b/slices/builders/api/api_lint.ignore
index 00f8afa..64180a3 100644
--- a/slices/builders/api/api_lint.ignore
+++ b/slices/builders/api/api_lint.ignore
@@ -1,4 +1,22 @@
 // Baseline format: 1.0
+ExecutorRegistration: androidx.slice.builders.GridRowBuilder#setSeeMoreAction(androidx.remotecallback.RemoteCallback):
+    Registration methods should have overload that accepts delivery Executor: `setSeeMoreAction`
+ExecutorRegistration: androidx.slice.builders.GridRowBuilder.CellBuilder#setContentIntent(androidx.remotecallback.RemoteCallback):
+    Registration methods should have overload that accepts delivery Executor: `setContentIntent`
+ExecutorRegistration: androidx.slice.builders.ListBuilder#setSeeMoreAction(androidx.remotecallback.RemoteCallback):
+    Registration methods should have overload that accepts delivery Executor: `setSeeMoreAction`
+ExecutorRegistration: androidx.slice.builders.ListBuilder.InputRangeBuilder#setInputAction(androidx.remotecallback.RemoteCallback):
+    Registration methods should have overload that accepts delivery Executor: `setInputAction`
+ExecutorRegistration: androidx.slice.builders.SelectionBuilder#setInputAction(androidx.remotecallback.RemoteCallback):
+    Registration methods should have overload that accepts delivery Executor: `setInputAction`
+ExecutorRegistration: androidx.slice.builders.SliceAction#create(androidx.remotecallback.RemoteCallback, androidx.core.graphics.drawable.IconCompat, int, CharSequence):
+    Registration methods should have overload that accepts delivery Executor: `create`
+ExecutorRegistration: androidx.slice.builders.SliceAction#createDeeplink(androidx.remotecallback.RemoteCallback, androidx.core.graphics.drawable.IconCompat, int, CharSequence):
+    Registration methods should have overload that accepts delivery Executor: `createDeeplink`
+ExecutorRegistration: androidx.slice.builders.SliceAction#createToggle(androidx.remotecallback.RemoteCallback, androidx.core.graphics.drawable.IconCompat, CharSequence, boolean):
+    Registration methods should have overload that accepts delivery Executor: `createToggle`
+
+
 ListenerLast: androidx.slice.builders.SliceAction#create(androidx.remotecallback.RemoteCallback, androidx.core.graphics.drawable.IconCompat, int, CharSequence) parameter #1:
     Listeners should always be at end of argument list (method `create`)
 ListenerLast: androidx.slice.builders.SliceAction#create(androidx.remotecallback.RemoteCallback, androidx.core.graphics.drawable.IconCompat, int, CharSequence) parameter #2:
diff --git a/slices/view/api/api_lint.ignore b/slices/view/api/api_lint.ignore
index a53fe19..4119f64 100644
--- a/slices/view/api/api_lint.ignore
+++ b/slices/view/api/api_lint.ignore
@@ -9,6 +9,10 @@
     Context is distinct, so it must be the first argument (method `onSliceAction`)
 
 
+ExecutorRegistration: androidx.slice.SliceUtils#parseSlice(android.content.Context, java.io.InputStream, String, androidx.slice.SliceUtils.SliceActionListener):
+    Registration methods should have overload that accepts delivery Executor: `parseSlice`
+
+
 MissingNullability: androidx.slice.SliceMetadata#from(android.content.Context, androidx.slice.Slice):
     Missing nullability on method `from` return
 MissingNullability: androidx.slice.SliceMetadata#getToggles():
diff --git a/sqlite/sqlite/api/api_lint.ignore b/sqlite/sqlite/api/api_lint.ignore
index a9d0891..22d991a 100644
--- a/sqlite/sqlite/api/api_lint.ignore
+++ b/sqlite/sqlite/api/api_lint.ignore
@@ -61,6 +61,14 @@
     Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.sqlite.db.SupportSQLiteQueryBuilder.selection(String,Object[])
 
 
+ExecutorRegistration: androidx.sqlite.db.SupportSQLiteDatabase#beginTransactionWithListener(android.database.sqlite.SQLiteTransactionListener):
+    Registration methods should have overload that accepts delivery Executor: `beginTransactionWithListener`
+ExecutorRegistration: androidx.sqlite.db.SupportSQLiteDatabase#beginTransactionWithListenerNonExclusive(android.database.sqlite.SQLiteTransactionListener):
+    Registration methods should have overload that accepts delivery Executor: `beginTransactionWithListenerNonExclusive`
+ExecutorRegistration: androidx.sqlite.db.SupportSQLiteOpenHelper.Configuration.Builder#callback(androidx.sqlite.db.SupportSQLiteOpenHelper.Callback):
+    Registration methods should have overload that accepts delivery Executor: `callback`
+
+
 MissingBuildMethod: androidx.sqlite.db.SupportSQLiteQueryBuilder:
     androidx.sqlite.db.SupportSQLiteQueryBuilder does not declare a `build()` method, but builder classes are expected to
 
diff --git a/window/window-extensions/api/api_lint.ignore b/window/window-extensions/api/api_lint.ignore
new file mode 100644
index 0000000..d5594c7
--- /dev/null
+++ b/window/window-extensions/api/api_lint.ignore
@@ -0,0 +1,3 @@
+// Baseline format: 1.0
+ExecutorRegistration: androidx.window.extensions.ExtensionInterface#setExtensionCallback(androidx.window.extensions.ExtensionInterface.ExtensionCallback):
+    Registration methods should have overload that accepts delivery Executor: `setExtensionCallback`
diff --git a/window/window-sidecar/api/api_lint.ignore b/window/window-sidecar/api/api_lint.ignore
index 7e925f9..c08dec3 100644
--- a/window/window-sidecar/api/api_lint.ignore
+++ b/window/window-sidecar/api/api_lint.ignore
@@ -1,4 +1,8 @@
 // Baseline format: 1.0
+ExecutorRegistration: androidx.window.sidecar.SidecarInterface#setSidecarCallback(androidx.window.sidecar.SidecarInterface.SidecarCallback):
+    Registration methods should have overload that accepts delivery Executor: `setSidecarCallback`
+
+
 MutableBareField: androidx.window.sidecar.SidecarDeviceState#posture:
     Bare field posture must be marked final, or moved behind accessors if mutable
 MutableBareField: androidx.window.sidecar.SidecarWindowLayoutInfo#displayFeatures: