Revert "Reland "Enable Enum unboxing""

This reverts commit 73f50262bca67cebbd0a23c670af747edc492dc4.

Reason for revert: Verification errors in AOSP

Change-Id: I3811de71a9c804fe99363a46fc50920c0f7f0abe
diff --git a/src/main/java/com/android/tools/r8/graph/DexItemFactory.java b/src/main/java/com/android/tools/r8/graph/DexItemFactory.java
index a8a640a..ffa702a 100644
--- a/src/main/java/com/android/tools/r8/graph/DexItemFactory.java
+++ b/src/main/java/com/android/tools/r8/graph/DexItemFactory.java
@@ -434,8 +434,7 @@
   public final DexType nestConstructorType = createStaticallyKnownType(nestConstructorDescriptor);
 
   public final DexString enumUnboxingUtilityDescriptor =
-      createString(
-          "Lcom/android/tools/r8/" + EnumUnboxingRewriter.ENUM_UNBOXING_UTILITY_CLASS_NAME + ";");
+      createString("L" + EnumUnboxingRewriter.ENUM_UNBOXING_UTILITY_CLASS_NAME + ";");
   public final DexType enumUnboxingUtilityType =
       createStaticallyKnownType(enumUnboxingUtilityDescriptor);
 
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingCandidateAnalysis.java b/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingCandidateAnalysis.java
index 348d5d8..1bda5d7 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingCandidateAnalysis.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingCandidateAnalysis.java
@@ -43,10 +43,6 @@
       }
     }
     removePinnedCandidates();
-    if (appView.options().protoShrinking().isProtoShrinkingEnabled()) {
-      // TODO(b/154559974): Investigate why enum unboxing breaks proto shrinking with this enum.
-      enumToUnboxCandidates.remove(appView.protoShrinker().references.methodToInvokeType);
-    }
     return enumToUnboxCandidates;
   }
 
diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
index b94ef75..b58e9d6 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -229,7 +229,7 @@
   public boolean enableInlining =
       !Version.isDevelopmentVersion()
           || System.getProperty("com.android.tools.r8.disableinlining") == null;
-  public boolean enableEnumUnboxing = true;
+  public boolean enableEnumUnboxing = false;
   // TODO(b/141451716): Evaluate the effect of allowing inlining in the inlinee.
   public boolean applyInliningToInlinee =
       System.getProperty("com.android.tools.r8.applyInliningToInlinee") != null;
@@ -1183,6 +1183,12 @@
     enableNameReflectionOptimization = false;
   }
 
+  @VisibleForTesting
+  public void enableEnumUnboxing() {
+    assert !enableEnumUnboxing;
+    enableEnumUnboxing = true;
+  }
+
   // TODO(b/69963623): Remove this once enabled.
   @VisibleForTesting
   public void enablePropagationOfConstantsAtCallSites() {
diff --git a/src/test/java/com/android/tools/r8/enumunboxing/EnumClinitWithSideEffectsUnboxingTest.java b/src/test/java/com/android/tools/r8/enumunboxing/EnumClinitWithSideEffectsUnboxingTest.java
index c3e548e..2fbd235 100644
--- a/src/test/java/com/android/tools/r8/enumunboxing/EnumClinitWithSideEffectsUnboxingTest.java
+++ b/src/test/java/com/android/tools/r8/enumunboxing/EnumClinitWithSideEffectsUnboxingTest.java
@@ -1,6 +1,7 @@
 package com.android.tools.r8.enumunboxing;
 
 import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.utils.InternalOptions;
 import java.util.List;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -30,6 +31,7 @@
         .addInnerClasses(EnumClinitWithSideEffectsUnboxingTest.class)
         .addKeepMainRule(TestClass.class)
         .addKeepRules(enumKeepRule.getKeepRule())
+        .addOptionsModification(InternalOptions::enableEnumUnboxing)
         .setMinApi(parameters.getApiLevel())
         .compile()
         .run(parameters.getRuntime(), TestClass.class)
diff --git a/src/test/java/com/android/tools/r8/enumunboxing/EnumInitWithSideEffectsUnboxingTest.java b/src/test/java/com/android/tools/r8/enumunboxing/EnumInitWithSideEffectsUnboxingTest.java
index b9445c2..d353692 100644
--- a/src/test/java/com/android/tools/r8/enumunboxing/EnumInitWithSideEffectsUnboxingTest.java
+++ b/src/test/java/com/android/tools/r8/enumunboxing/EnumInitWithSideEffectsUnboxingTest.java
@@ -1,6 +1,7 @@
 package com.android.tools.r8.enumunboxing;
 
 import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.utils.InternalOptions;
 import java.util.List;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -30,6 +31,7 @@
         .addInnerClasses(EnumInitWithSideEffectsUnboxingTest.class)
         .addKeepMainRule(TestClass.class)
         .addKeepRules(enumKeepRule.getKeepRule())
+        .addOptionsModification(InternalOptions::enableEnumUnboxing)
         .setMinApi(parameters.getApiLevel())
         .compile()
         .run(parameters.getRuntime(), TestClass.class)
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/R8InliningTest.java b/src/test/java/com/android/tools/r8/ir/optimize/R8InliningTest.java
index 5daa849..49718d4 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/R8InliningTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/R8InliningTest.java
@@ -374,7 +374,11 @@
               .getMethod()
               .name
               .toString()
-              .equals(EnumUnboxingRewriter.ENUM_UNBOXING_UTILITY_ORDINAL)) {
+              .equals(EnumUnboxingRewriter.ENUM_UNBOXING_UTILITY_ORDINAL)
+          && !((InvokeInstructionSubject) instruction)
+              .holder()
+              .toString()
+              .contains("java.lang.Enum")) {
         ++invokeCount;
       }
     }