Fix ClassCastException running R8

Manually resolved conflict in
  src/main/java/com/android/tools/r8/R8.java

Fixes: b/310939676
Change-Id: Ib68e2335f143e64fd762d5a9535c4bcfd44dd679
diff --git a/src/main/java/com/android/tools/r8/R8.java b/src/main/java/com/android/tools/r8/R8.java
index 71898e2..74de3e6 100644
--- a/src/main/java/com/android/tools/r8/R8.java
+++ b/src/main/java/com/android/tools/r8/R8.java
@@ -724,16 +724,16 @@
       timing.end();
 
       // Perform repackaging.
-      if (options.isRepackagingEnabled()) {
-        DirectMappedDexApplication.Builder appBuilder =
-            appView.appInfo().app().asDirect().builder();
-        RepackagingLens lens =
-            new Repackaging(appView.withLiveness()).run(appBuilder, executorService, timing);
-        if (lens != null) {
-          appView.rewriteWithLensAndApplication(lens, appBuilder.build());
-        }
-      }
       if (appView.appInfo().hasLiveness()) {
+        if (options.isRepackagingEnabled()) {
+          DirectMappedDexApplication.Builder appBuilder =
+              appView.appInfo().app().asDirect().builder();
+          RepackagingLens lens =
+              new Repackaging(appView.withLiveness()).run(appBuilder, executorService, timing);
+          if (lens != null) {
+            appView.rewriteWithLensAndApplication(lens, appBuilder.build());
+          }
+        }
         assert Repackaging.verifyIdentityRepackaging(appView.withLiveness());
       }
 
diff --git a/src/test/java/com/android/tools/r8/repackage/RepackageWithoutAnyOptimizationTest.java b/src/test/java/com/android/tools/r8/repackage/RepackageWithoutAnyOptimizationTest.java
index 2dbc058..4d9ce90 100644
--- a/src/test/java/com/android/tools/r8/repackage/RepackageWithoutAnyOptimizationTest.java
+++ b/src/test/java/com/android/tools/r8/repackage/RepackageWithoutAnyOptimizationTest.java
@@ -3,10 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.repackage;
 
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
 
-import com.android.tools.r8.CompilationFailedException;
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestParameters;
 import com.android.tools.r8.TestParametersCollection;
@@ -28,20 +25,15 @@
 
   @Test
   public void testR8() throws Exception {
-    Throwable t =
-        assertThrows(
-            CompilationFailedException.class,
-            () ->
-                testForR8(parameters.getBackend())
-                    .addInnerClasses(getClass())
-                    .setMinApi(parameters.getApiLevel())
-                    .addKeepMainRule(TestClass.class)
-                    .addDontOptimize()
-                    .addDontObfuscate()
-                    .addDontShrink()
-                    .addKeepRules("-repackageclasses")
-                    .compile());
-    assertTrue(t.getCause() instanceof ClassCastException);
+    testForR8(parameters.getBackend())
+        .addInnerClasses(getClass())
+        .setMinApi(parameters.getApiLevel())
+        .addKeepMainRule(TestClass.class)
+        .addDontOptimize()
+        .addDontObfuscate()
+        .addDontShrink()
+        .addKeepRules("-repackageclasses")
+        .compile();
   }
 
   static class TestClass {