Fix explicit MIN_SDK rule check
Bug: 175201530
Change-Id: I55bee50b1c76e06f47ceee92f1b3b39191b9f709
diff --git a/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationUtils.java b/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationUtils.java
index 590ede0..dd96c66 100644
--- a/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationUtils.java
+++ b/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationUtils.java
@@ -134,11 +134,15 @@
if (rule.getClassType() != ProguardClassType.CLASS) {
continue;
}
+ if (!rule.getClassAnnotations().isEmpty() || !rule.getInheritanceAnnotations().isEmpty()) {
+ continue;
+ }
if (rule.hasInheritanceClassName()
&& !rule.getInheritanceClassName().matches(factory.objectType)) {
continue;
}
- if (!rule.getClassNames().matches(factory.androidOsBuildVersionType)) {
+ if (rule.getClassNames().hasWildcards()
+ || !rule.getClassNames().matches(factory.androidOsBuildVersionType)) {
continue;
}
for (ProguardMemberRule memberRule : rule.getMemberRules()) {
@@ -149,6 +153,9 @@
if (memberRule.getRuleType() != ProguardMemberType.FIELD) {
continue;
}
+ if (!memberRule.getAnnotations().isEmpty()) {
+ continue;
+ }
if (memberRule.getAccessFlags().isProtected()
|| memberRule.getAccessFlags().isPrivate()
|| memberRule.getAccessFlags().isAbstract()