Merge "Fix for some tests with invalid Dalvik dex code"
diff --git a/src/main/java/com/android/tools/r8/shaking/ProguardConfiguration.java b/src/main/java/com/android/tools/r8/shaking/ProguardConfiguration.java
index dd82dfd..d4d4bcb 100644
--- a/src/main/java/com/android/tools/r8/shaking/ProguardConfiguration.java
+++ b/src/main/java/com/android/tools/r8/shaking/ProguardConfiguration.java
@@ -305,8 +305,8 @@
         // disableOptimization();
       }
 
-      if ((keepAttributePatterns.isEmpty()
-          && (rulesWasEmpty || (forceProguardCompatibility && !isObfuscating())))
+      if ((keepAttributePatterns.isEmpty() && rulesWasEmpty)
+          || (forceProguardCompatibility && !isObfuscating())
           || !isShrinking()) {
         keepAttributePatterns.addAll(ProguardKeepAttributes.KEEP_ALL);
       }
diff --git a/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/ForceProguardCompatibilityTest.java b/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/ForceProguardCompatibilityTest.java
index 91fc9d4..642045c 100644
--- a/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/ForceProguardCompatibilityTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/ForceProguardCompatibilityTest.java
@@ -110,7 +110,7 @@
 
     // The test contains only a member class so the enclosing-method attribute will be null.
     assertEquals(
-        !keepAnnotations && forceProguardCompatibility,
+        forceProguardCompatibility,
         !clazz.getDexClass().getInnerClasses().isEmpty());
     assertEquals(forceProguardCompatibility || keepAnnotations,
         clazz.annotation(annotationClass.getCanonicalName()).isPresent());