Move NoopAnnotationManager into model package

The `NoopAnnotationManager` is used by a test class in the `model`
package.

Bug: 287241408
Test: ./gradlew
Change-Id: Ic0f080fb4a68884c6441fc9171eb1e42604bf59d
diff --git a/src/main/java/com/android/tools/metalava/model/AnnotationManager.kt b/src/main/java/com/android/tools/metalava/model/AnnotationManager.kt
index 99a8dfd..f2983cf 100644
--- a/src/main/java/com/android/tools/metalava/model/AnnotationManager.kt
+++ b/src/main/java/com/android/tools/metalava/model/AnnotationManager.kt
@@ -153,3 +153,40 @@
      */
     protected abstract fun computeAnnotationInfo(annotationItem: AnnotationItem): AnnotationInfo
 }
+
+/**
+ * A no op implementation of [AnnotationManager] that is suitable for use by the deprecated,
+ * external use only `ApiFile.parseApi(String,String,Boolean?)` and the for test only
+ * `ApiFile.parseApi(String,String,ClassResolver?)` methods.
+ *
+ * This is used when loading an API signature from a text file and makes the following assumptions:
+ * * The annotation names are correct and do not need mapping into another form.
+ * * The annotations can be used in all stubs.
+ */
+class NoOpAnnotationManager : BaseAnnotationManager() {
+
+    override fun getKeyForAnnotationItem(annotationItem: AnnotationItem): String {
+        // Just use the qualified name as the key as [computeAnnotationInfo] does not use anything
+        // else.
+        return annotationItem.qualifiedName!!
+    }
+
+    override fun computeAnnotationInfo(annotationItem: AnnotationItem): AnnotationInfo {
+        return AnnotationInfo(annotationItem.qualifiedName!!)
+    }
+
+    override fun normalizeInputName(qualifiedName: String?): String? {
+        return qualifiedName
+    }
+
+    override fun normalizeOutputName(qualifiedName: String?, target: AnnotationTarget): String? {
+        return qualifiedName
+    }
+
+    override fun computeTargets(
+        annotation: AnnotationItem,
+        classFinder: (String) -> ClassItem?
+    ): Set<AnnotationTarget> = ANNOTATION_IN_ALL_STUBS
+
+    override val typedefMode: TypedefMode = TypedefMode.NONE
+}
diff --git a/src/main/java/com/android/tools/metalava/model/text/ApiFile.kt b/src/main/java/com/android/tools/metalava/model/text/ApiFile.kt
index 1640a37..4937a54 100644
--- a/src/main/java/com/android/tools/metalava/model/text/ApiFile.kt
+++ b/src/main/java/com/android/tools/metalava/model/text/ApiFile.kt
@@ -17,13 +17,8 @@
 
 import com.android.tools.metalava.model.ANDROIDX_NONNULL
 import com.android.tools.metalava.model.ANDROIDX_NULLABLE
-import com.android.tools.metalava.model.ANNOTATION_IN_ALL_STUBS
-import com.android.tools.metalava.model.AnnotationInfo
-import com.android.tools.metalava.model.AnnotationItem
 import com.android.tools.metalava.model.AnnotationItem.Companion.unshortenAnnotation
 import com.android.tools.metalava.model.AnnotationManager
-import com.android.tools.metalava.model.AnnotationTarget
-import com.android.tools.metalava.model.BaseAnnotationManager
 import com.android.tools.metalava.model.ClassItem
 import com.android.tools.metalava.model.ClassResolver
 import com.android.tools.metalava.model.DefaultModifierList
@@ -36,9 +31,9 @@
 import com.android.tools.metalava.model.JAVA_LANG_STRING
 import com.android.tools.metalava.model.JAVA_LANG_THROWABLE
 import com.android.tools.metalava.model.MethodItem
+import com.android.tools.metalava.model.NoOpAnnotationManager
 import com.android.tools.metalava.model.TypeParameterList
 import com.android.tools.metalava.model.TypeParameterList.Companion.NONE
-import com.android.tools.metalava.model.TypedefMode
 import com.android.tools.metalava.model.VisibilityLevel
 import com.android.tools.metalava.model.javaUnescapeString
 import com.android.tools.metalava.model.text.TextTypeItem.Companion.isPrimitive
@@ -1468,43 +1463,6 @@
     }
 }
 
-/**
- * A no op implementation of [AnnotationManager] that is suitable for use by the deprecated,
- * external use only `ApiFile.parseApi(String,String,Boolean?)` and the for test only
- * `ApiFile.parseApi(String,String,ClassResolver?)` methods.
- *
- * This is used when loading an API signature from a text file and makes the following assumptions:
- * * The annotation names are correct and do not need mapping into another form.
- * * The annotations can be used in all stubs.
- */
-internal class NoOpAnnotationManager : BaseAnnotationManager() {
-
-    override fun getKeyForAnnotationItem(annotationItem: AnnotationItem): String {
-        // Just use the qualified name as the key as [computeAnnotationInfo] does not use anything
-        // else.
-        return annotationItem.qualifiedName!!
-    }
-
-    override fun computeAnnotationInfo(annotationItem: AnnotationItem): AnnotationInfo {
-        return AnnotationInfo(annotationItem.qualifiedName!!)
-    }
-
-    override fun normalizeInputName(qualifiedName: String?): String? {
-        return qualifiedName
-    }
-
-    override fun normalizeOutputName(qualifiedName: String?, target: AnnotationTarget): String? {
-        return qualifiedName
-    }
-
-    override fun computeTargets(
-        annotation: AnnotationItem,
-        classFinder: (String) -> ClassItem?
-    ): Set<AnnotationTarget> = ANNOTATION_IN_ALL_STUBS
-
-    override val typedefMode: TypedefMode = TypedefMode.NONE
-}
-
 private fun DefaultModifierList.addAnnotations(annotationSources: List<String>) {
     if (annotationSources.isEmpty()) {
         return
diff --git a/src/test/java/com/android/tools/metalava/model/DefaultAnnotationItemTest.kt b/src/test/java/com/android/tools/metalava/model/DefaultAnnotationItemTest.kt
index 51e6f3e..6d5ff64 100644
--- a/src/test/java/com/android/tools/metalava/model/DefaultAnnotationItemTest.kt
+++ b/src/test/java/com/android/tools/metalava/model/DefaultAnnotationItemTest.kt
@@ -16,7 +16,6 @@
 
 package com.android.tools.metalava.model
 
-import com.android.tools.metalava.model.text.NoOpAnnotationManager
 import java.io.File
 import org.junit.Assert.assertEquals
 import org.junit.Assert.assertNotNull