[go: nahoru, domu]

Upgrade to metalava ab/7594889

- Fix up new cases where metalava catches HiddenSuperclass
- Move metalava dependency to libs.versions.toml

Test: ./gradlew updateApi
Change-Id: I70c733677c9a5cff47a474d38e277b362fffbec3
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ActionMenuView.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ActionMenuView.java
index 7cb8c10..c3606e1 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ActionMenuView.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ActionMenuView.java
@@ -47,6 +47,7 @@
  * items in an overflow menu. This allows applications to present packs of actions inline with
  * specific or repeating content.
  */
+@SuppressWarnings("HiddenSuperclass")
 public class ActionMenuView extends LinearLayoutCompat implements MenuBuilder.ItemInvoker,
         MenuView {
 
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ListPopupWindow.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ListPopupWindow.java
index 188127f..20e68cb 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ListPopupWindow.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ListPopupWindow.java
@@ -65,6 +65,7 @@
  *
  * @see android.widget.ListPopupWindow
  */
+@SuppressWarnings("HiddenSuperclass")
 public class ListPopupWindow implements ShowableListMenu {
     private static final String TAG = "ListPopupWindow";
     private static final boolean DEBUG = false;
diff --git a/browser/browser/src/main/java/androidx/browser/customtabs/PostMessageServiceConnection.java b/browser/browser/src/main/java/androidx/browser/customtabs/PostMessageServiceConnection.java
index 66d5f15..bbe0e84 100644
--- a/browser/browser/src/main/java/androidx/browser/customtabs/PostMessageServiceConnection.java
+++ b/browser/browser/src/main/java/androidx/browser/customtabs/PostMessageServiceConnection.java
@@ -37,6 +37,7 @@
  *
  * TODO(peconn): Make this not abstract with API change.
  */
+@SuppressWarnings("HiddenSuperclass")
 public abstract class PostMessageServiceConnection
         implements PostMessageBackend, ServiceConnection {
     private static final String TAG = "PostMessageServConn";
diff --git a/buildSrc/src/main/kotlin/androidx/build/metalava/MetalavaRunner.kt b/buildSrc/src/main/kotlin/androidx/build/metalava/MetalavaRunner.kt
index ac0d47f..e87e6bb 100644
--- a/buildSrc/src/main/kotlin/androidx/build/metalava/MetalavaRunner.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/metalava/MetalavaRunner.kt
@@ -17,10 +17,12 @@
 package androidx.build.metalava
 
 import androidx.build.checkapi.ApiLocation
+import androidx.build.dependencies.getDependencyAsString
 import androidx.build.java.JavaCompileInputs
 import androidx.build.logging.TERMINAL_RED
 import androidx.build.logging.TERMINAL_RESET
 import org.gradle.api.Project
+import org.gradle.api.artifacts.VersionCatalogsExtension
 import org.gradle.api.file.FileCollection
 import org.gradle.api.provider.ListProperty
 import org.gradle.api.provider.SetProperty
@@ -76,8 +78,14 @@
 }
 
 fun Project.getMetalavaClasspath(): FileCollection {
+    @Suppress("UnstableApiUsage") // Usage of VersionCatalogsExtension
     val configuration = configurations.findByName("metalava") ?: configurations.create("metalava") {
-        val dependency = dependencies.create("com.android.tools.metalava:metalava:1.0.0-alpha03")
+        val libs = project.extensions.getByType(
+            VersionCatalogsExtension::class.java
+        ).find("libs").get()
+        val dependency = dependencies.create(
+            getDependencyAsString(libs.findDependency("metalava").get())
+        )
         it.dependencies.add(dependency)
     }
     return project.files(configuration)
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/CameraXConfig.java b/camera/camera-core/src/main/java/androidx/camera/core/CameraXConfig.java
index f6f23b4..b85a908 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/CameraXConfig.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/CameraXConfig.java
@@ -56,6 +56,7 @@
  * @see androidx.camera.lifecycle.ProcessCameraProvider#configureInstance(CameraXConfig)
  * @see CameraXConfig.Builder
  */
+@SuppressWarnings("HiddenSuperclass")
 public final class CameraXConfig implements TargetConfig<CameraX> {
 
     /**
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index f876f4a..4052d7e 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -121,6 +121,7 @@
 leakcanary = { module = "com.squareup.leakcanary:leakcanary-android", version.ref = "leakcanary" }
 leakcanaryInstrumentation = { module = "com.squareup.leakcanary:leakcanary-android-instrumentation", version.ref = "leakcanary" }
 material = { module = "com.google.android.material:material", version = "1.2.1" }
+metalava = { module = "com.android.tools.metalava:metalava", version = "1.0.0-alpha04" }
 mlkitBarcode = { module = "com.google.mlkit:barcode-scanning", version = "16.1.1" }
 mockitoCore = { module = "org.mockito:mockito-core", version.ref = "mockito" }
 mockitoAndroid = { module = "org.mockito:mockito-android", version.ref = "mockito" }
diff --git a/leanback/leanback/src/main/java/androidx/leanback/app/GuidedStepFragment.java b/leanback/leanback/src/main/java/androidx/leanback/app/GuidedStepFragment.java
index 8c5573f..0430f95 100644
--- a/leanback/leanback/src/main/java/androidx/leanback/app/GuidedStepFragment.java
+++ b/leanback/leanback/src/main/java/androidx/leanback/app/GuidedStepFragment.java
@@ -144,6 +144,7 @@
  * @see GuidedActionsStylist
  * @deprecated use {@link GuidedStepSupportFragment}
  */
+@SuppressWarnings("HiddenSuperclass")
 @Deprecated
 public class GuidedStepFragment extends Fragment implements GuidedActionAdapter.FocusListener {
 
diff --git a/leanback/leanback/src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java b/leanback/leanback/src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java
index 383ade9..d2c2c6a 100644
--- a/leanback/leanback/src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java
+++ b/leanback/leanback/src/main/java/androidx/leanback/app/GuidedStepSupportFragment.java
@@ -140,6 +140,7 @@
  * @see GuidedAction
  * @see GuidedActionsStylist
  */
+@SuppressWarnings("HiddenSuperclass")
 public class GuidedStepSupportFragment extends Fragment implements GuidedActionAdapter.FocusListener {
 
     private static final String TAG_LEAN_BACK_ACTIONS_FRAGMENT = "leanBackGuidedStepSupportFragment";
diff --git a/media2/media2-common/src/main/java/androidx/media2/common/SessionPlayer.java b/media2/media2-common/src/main/java/androidx/media2/common/SessionPlayer.java
index 6d4ca05..309f453 100644
--- a/media2/media2-common/src/main/java/androidx/media2/common/SessionPlayer.java
+++ b/media2/media2-common/src/main/java/androidx/media2/common/SessionPlayer.java
@@ -1527,6 +1527,7 @@
      * <li>Custom Info code: Positive integers equal to or greater than 1000. (i.e. code > +1000)
      * </ul>
      */
+    @SuppressWarnings("HiddenSuperclass")
     public static class PlayerResult implements BaseResult {
         /**
          * @hide
diff --git a/remotecallback/remotecallback/src/main/java/androidx/remotecallback/AppWidgetProviderWithCallbacks.java b/remotecallback/remotecallback/src/main/java/androidx/remotecallback/AppWidgetProviderWithCallbacks.java
index 48f1db9..c1620a6 100644
--- a/remotecallback/remotecallback/src/main/java/androidx/remotecallback/AppWidgetProviderWithCallbacks.java
+++ b/remotecallback/remotecallback/src/main/java/androidx/remotecallback/AppWidgetProviderWithCallbacks.java
@@ -33,6 +33,7 @@
  * @param <T> Should be specified as the root class (e.g. class X extends
  *           AppWidgetProviderWithCallbacks\<X>)
  */
+@SuppressWarnings("HiddenSuperclass")
 public class AppWidgetProviderWithCallbacks<T extends CallbackReceiver> extends
         AppWidgetProvider implements CallbackReceiver<T>, CallbackBase<T> {
 
diff --git a/remotecallback/remotecallback/src/main/java/androidx/remotecallback/BroadcastReceiverWithCallbacks.java b/remotecallback/remotecallback/src/main/java/androidx/remotecallback/BroadcastReceiverWithCallbacks.java
index 8ef1a1e..4b022c4 100644
--- a/remotecallback/remotecallback/src/main/java/androidx/remotecallback/BroadcastReceiverWithCallbacks.java
+++ b/remotecallback/remotecallback/src/main/java/androidx/remotecallback/BroadcastReceiverWithCallbacks.java
@@ -35,6 +35,7 @@
  * @param <T> Should be specified as the root class (e.g. class X extends
  *           BroadcastReceiverWithCallbacks\<X>)
  */
+@SuppressWarnings("HiddenSuperclass")
 public abstract class BroadcastReceiverWithCallbacks<T extends CallbackReceiver> extends
         BroadcastReceiver implements CallbackReceiver<T>, CallbackBase<T> {
 
diff --git a/remotecallback/remotecallback/src/main/java/androidx/remotecallback/ContentProviderWithCallbacks.java b/remotecallback/remotecallback/src/main/java/androidx/remotecallback/ContentProviderWithCallbacks.java
index 5b862ed..b4c4bf6 100644
--- a/remotecallback/remotecallback/src/main/java/androidx/remotecallback/ContentProviderWithCallbacks.java
+++ b/remotecallback/remotecallback/src/main/java/androidx/remotecallback/ContentProviderWithCallbacks.java
@@ -38,6 +38,7 @@
  * @param <T> Should be specified as the root class (e.g. class X extends
  *           ContentProviderWithCallbacks\<X>)
  */
+@SuppressWarnings("HiddenSuperclass")
 public abstract class ContentProviderWithCallbacks<T extends ContentProviderWithCallbacks> extends
         ContentProvider implements CallbackReceiver<T>, CallbackBase<T> {
 
diff --git a/slice/slice-view/src/main/java/androidx/slice/widget/SliceAdapter.java b/slice/slice-view/src/main/java/androidx/slice/widget/SliceAdapter.java
index 4177377..08781d8 100644
--- a/slice/slice-view/src/main/java/androidx/slice/widget/SliceAdapter.java
+++ b/slice/slice-view/src/main/java/androidx/slice/widget/SliceAdapter.java
@@ -47,6 +47,7 @@
 /**
  * RecyclerView.Adapter for the Slice components.
  */
+@SuppressWarnings("HiddenSuperclass")
 @RequiresApi(19)
 public class SliceAdapter extends RecyclerView.Adapter<SliceAdapter.SliceViewHolder>
         implements SliceActionView.SliceActionLoadingListener {
diff --git a/slice/slice-view/src/main/java/androidx/slice/widget/TemplateView.java b/slice/slice-view/src/main/java/androidx/slice/widget/TemplateView.java
index b443c6a..33f8625 100644
--- a/slice/slice-view/src/main/java/androidx/slice/widget/TemplateView.java
+++ b/slice/slice-view/src/main/java/androidx/slice/widget/TemplateView.java
@@ -37,6 +37,7 @@
 /**
  * Slice template containing all view components.
  */
+@SuppressWarnings("HiddenSuperclass")
 @RequiresApi(19)
 public class TemplateView extends SliceChildView implements
         SliceViewPolicy.PolicyChangeListener {
diff --git a/wear/wear/src/main/java/androidx/wear/widget/drawer/WearableDrawerLayout.java b/wear/wear/src/main/java/androidx/wear/widget/drawer/WearableDrawerLayout.java
index 1537262..76b945a 100644
--- a/wear/wear/src/main/java/androidx/wear/widget/drawer/WearableDrawerLayout.java
+++ b/wear/wear/src/main/java/androidx/wear/widget/drawer/WearableDrawerLayout.java
@@ -98,6 +98,7 @@
  *     &lt;/androidx.wear.widget.drawer.WearableDrawerView&gt;
  * &lt;/androidx.wear.widget.drawer.WearableDrawerLayout&gt;</pre>
  */
+@SuppressWarnings("HiddenSuperclass")
 public class WearableDrawerLayout extends FrameLayout
         implements View.OnLayoutChangeListener, NestedScrollingParent, FlingListener {
 
diff --git a/webkit/webkit/src/main/java/androidx/webkit/WebViewClientCompat.java b/webkit/webkit/src/main/java/androidx/webkit/WebViewClientCompat.java
index 8610f44..701e0e6 100644
--- a/webkit/webkit/src/main/java/androidx/webkit/WebViewClientCompat.java
+++ b/webkit/webkit/src/main/java/androidx/webkit/WebViewClientCompat.java
@@ -47,6 +47,7 @@
 // ever invoke these methods (and WebView can only be updated on Lollipop and above). The app can
 // still construct a WebViewClientCompat on a pre-Lollipop devices, and explicitly invoke these
 // methods, so each of these methods must also handle this case.
+@SuppressWarnings("HiddenSuperclass")
 public class WebViewClientCompat extends WebViewClient implements WebViewClientBoundaryInterface {
     private static final String[] sSupportedFeatures = new String[] {
         Features.VISUAL_STATE_CALLBACK,