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);
}