Field name minifier fix for apply mapping

Change-Id: Ib69a035043e5f6810b8f23c2a95cdaf85df362c4
diff --git a/src/main/java/com/android/tools/r8/naming/FieldNameMinifier.java b/src/main/java/com/android/tools/r8/naming/FieldNameMinifier.java
index 2130b37..06c2909 100644
--- a/src/main/java/com/android/tools/r8/naming/FieldNameMinifier.java
+++ b/src/main/java/com/android/tools/r8/naming/FieldNameMinifier.java
@@ -85,7 +85,7 @@
     for (DexClass clazz : appView.appInfo().app().asDirect().allClasses()) {
       ReservedFieldNamingState reservedNames = null;
       for (DexEncodedField field : clazz.fields()) {
-        if (clazz.isLibraryClass() || appView.rootSet().noObfuscation.contains(field.field)) {
+        if (shouldReserveName(clazz, field)) {
           if (reservedNames == null) {
             reservedNames = getOrCreateReservedFieldNamingState(clazz.type);
           }
@@ -109,6 +109,17 @@
     propagateReservedFieldNamesUpwards();
   }
 
+  private boolean shouldReserveName(DexClass clazz, DexEncodedField field) {
+    if (clazz.isLibraryClass()) {
+      return true;
+    }
+    if (!appView.options().getProguardConfiguration().hasApplyMappingFile()
+        && appView.rootSet().noObfuscation.contains(field.field)) {
+      return true;
+    }
+    return false;
+  }
+
   private void propagateReservedFieldNamesUpwards() {
     BottomUpClassHierarchyTraversal.forProgramClasses(appView)
         .visit(
diff --git a/src/main/java/com/android/tools/r8/naming/FieldNamingState.java b/src/main/java/com/android/tools/r8/naming/FieldNamingState.java
index acb09f0..dce278b 100644
--- a/src/main/java/com/android/tools/r8/naming/FieldNamingState.java
+++ b/src/main/java/com/android/tools/r8/naming/FieldNamingState.java
@@ -91,13 +91,7 @@
     private int nextNameIndex;
 
     public InternalState() {
-      this(1);
-    }
-
-    public InternalState(int nextNameIndex) {
-      this(
-          nextNameIndex,
-          appView.options().getProguardConfiguration().getObfuscationDictionary().iterator());
+      this(1, appView.options().getProguardConfiguration().getObfuscationDictionary().iterator());
     }
 
     public InternalState(int nextNameIndex, Iterator<String> dictionaryIterator) {