Merge "Remove workaround for Retention.SOURCE annotations"
am: 4dd261c853

Change-Id: I05b424abdbd6ebbfc795e965150103364a875427
diff --git a/tests/signature/api-check/shared-libs-api/src/android/signature/cts/api/SignatureMultiLibsTest.java b/tests/signature/api-check/shared-libs-api/src/android/signature/cts/api/SignatureMultiLibsTest.java
index e6c011f..c04f7ccb 100644
--- a/tests/signature/api-check/shared-libs-api/src/android/signature/cts/api/SignatureMultiLibsTest.java
+++ b/tests/signature/api-check/shared-libs-api/src/android/signature/cts/api/SignatureMultiLibsTest.java
@@ -18,7 +18,6 @@
 
 import android.signature.cts.ApiComplianceChecker;
 import android.signature.cts.ApiDocumentParser;
-import android.signature.cts.JDiffClassDescription;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
@@ -26,9 +25,7 @@
 import java.util.Arrays;
 import java.util.stream.Stream;
 import java.util.zip.ZipFile;
-import org.xmlpull.v1.XmlPullParserException;
 
-import static android.signature.cts.CurrentApi.API_FILE_DIRECTORY;
 import static com.android.compatibility.common.util.SystemUtil.runShellCommand;
 
 /**
@@ -70,10 +67,7 @@
 
     private boolean checkLibrary (String name) {
         String libraryName = name.substring(name.lastIndexOf('/') + 1).split("-")[0];
-        if (getLibraries().filter(lib -> lib.equals(libraryName)).findAny().isPresent()) {
-            return true;
-        }
-        return false;
+        return getLibraries().anyMatch(libraryName::equals);
     }
 
     protected Stream<InputStream> readFile(File file) {
@@ -93,20 +87,4 @@
             throw new RuntimeException(e);
         }
     }
-
-    protected Stream<JDiffClassDescription> parseApiFilesAsStream(
-            ApiDocumentParser apiDocumentParser, String[] apiFiles)
-            throws XmlPullParserException, IOException {
-        return Stream.of(apiFiles)
-                .map(name -> new File(API_FILE_DIRECTORY + "/" + name))
-                .flatMap(file -> readFile(file))
-                .flatMap(stream -> {
-                    try {
-                        return apiDocumentParser.parseAsStream(stream)
-                              .filter(AbstractApiTest::isAccessibleClass);
-                    } catch (IOException | XmlPullParserException e) {
-                        throw new RuntimeException(e);
-                    }
-                });
-    }
 }
diff --git a/tests/signature/api-check/src/java/android/signature/cts/api/AbstractApiTest.java b/tests/signature/api-check/src/java/android/signature/cts/api/AbstractApiTest.java
index e781188..aacf148 100644
--- a/tests/signature/api-check/src/java/android/signature/cts/api/AbstractApiTest.java
+++ b/tests/signature/api-check/src/java/android/signature/cts/api/AbstractApiTest.java
@@ -27,8 +27,6 @@
 import java.io.InputStream;
 import java.io.PrintWriter;
 import java.io.StringWriter;
-import java.util.HashSet;
-import java.util.Set;
 import java.util.stream.Stream;
 import java.util.zip.ZipFile;
 import org.xmlpull.v1.XmlPullParserException;
@@ -41,26 +39,6 @@
  */
 public class AbstractApiTest extends InstrumentationTestCase {
 
-    /**
-     * A set of class names that are inaccessible for some reason.
-     */
-    private static final Set<String> KNOWN_INACCESSIBLE_CLASSES = new HashSet<>();
-
-    static {
-        // TODO(b/63383787) - These classes, which are nested annotations with @Retention(SOURCE)
-        // are removed from framework.dex for an as yet unknown reason.
-        KNOWN_INACCESSIBLE_CLASSES.add("android.content.pm.PackageManager.PermissionFlags");
-        KNOWN_INACCESSIBLE_CLASSES.add("android.hardware.radio.ProgramSelector.IdentifierType");
-        KNOWN_INACCESSIBLE_CLASSES.add("android.hardware.radio.ProgramSelector.ProgramType");
-        KNOWN_INACCESSIBLE_CLASSES.add("android.hardware.radio.RadioManager.Band");
-        KNOWN_INACCESSIBLE_CLASSES.add("android.os.UserManager.UserRestrictionSource");
-        KNOWN_INACCESSIBLE_CLASSES.add(
-                "android.service.persistentdata.PersistentDataBlockManager.FlashLockState");
-        KNOWN_INACCESSIBLE_CLASSES.add("android.hardware.radio.ProgramSelector.IdentifierType");
-        KNOWN_INACCESSIBLE_CLASSES.add("android.hardware.radio.ProgramSelector.ProgramType");
-        KNOWN_INACCESSIBLE_CLASSES.add("android.hardware.radio.RadioManager.Band");
-    }
-
     private TestResultObserver mResultObserver;
 
     ClassProvider classProvider;
@@ -80,8 +58,7 @@
         // not part of API though exist in the runtime.
         classProvider = new ExcludingClassProvider(
                 new BootClassPathClassesProvider(),
-                name -> KNOWN_INACCESSIBLE_CLASSES.contains(name)
-                        || (name != null && name.startsWith("com.android.internal.R.")));
+                name -> name != null && name.startsWith("com.android.internal.R."));
 
         initializeFromArgs(instrumentationArgs);
     }
@@ -90,11 +67,6 @@
 
     }
 
-    protected static boolean isAccessibleClass(JDiffClassDescription classDescription) {
-        // Ignore classes that are known to be inaccessible.
-        return !KNOWN_INACCESSIBLE_CLASSES.contains(classDescription.getAbsoluteClassName());
-    }
-
     protected interface RunnableWithTestResultObserver {
         void run(TestResultObserver observer) throws Exception;
     }
@@ -130,7 +102,7 @@
         return argument.split(",");
     }
 
-    protected Stream<InputStream> readFile(File file) {
+    Stream<InputStream> readFile(File file) {
         try {
             if (file.getName().endsWith(".zip")) {
                 ZipFile zip = new ZipFile(file);
@@ -148,16 +120,14 @@
         }
     }
 
-    protected Stream<JDiffClassDescription> parseApiFilesAsStream(
-            ApiDocumentParser apiDocumentParser, String[] apiFiles)
-            throws XmlPullParserException, IOException {
+    Stream<JDiffClassDescription> parseApiFilesAsStream(
+            ApiDocumentParser apiDocumentParser, String[] apiFiles) {
         return Stream.of(apiFiles)
                 .map(name -> new File(API_FILE_DIRECTORY + "/" + name))
-                .flatMap(file -> readFile(file))
+                .flatMap(this::readFile)
                 .flatMap(stream -> {
                     try {
-                        return apiDocumentParser.parseAsStream(stream)
-                              .filter(AbstractApiTest::isAccessibleClass);
+                        return apiDocumentParser.parseAsStream(stream);
                     } catch (IOException | XmlPullParserException e) {
                         throw new RuntimeException(e);
                     }