Remove resource shrinker reflection hack
Fixes: 294924503
Change-Id: Ic19bce20dd242af0ae197473b116d2f3b4043e44
diff --git a/src/main/java/com/android/tools/r8/utils/ResourceTracing.java b/src/main/java/com/android/tools/r8/utils/ResourceTracing.java
index f0bc26e..6e030ac 100644
--- a/src/main/java/com/android/tools/r8/utils/ResourceTracing.java
+++ b/src/main/java/com/android/tools/r8/utils/ResourceTracing.java
@@ -13,10 +13,9 @@
import com.android.tools.r8.ResourceException;
import com.android.tools.r8.ResourcePath;
import com.android.tools.r8.origin.Origin;
+import com.android.tools.r8.utils.resourceshrinker.ResourceTracingImpl;
import com.google.common.io.ByteStreams;
import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Collections;
import java.util.List;
public interface ResourceTracing {
@@ -54,19 +53,7 @@
}
static ResourceTracing getImpl() {
- try {
- Class<? extends ResourceTracing> implClass =
- Class.forName("com.android.tools.r8.utils.resourceshrinker.ResourceTracingImpl")
- .asSubclass(ResourceTracing.class);
- return implClass.getConstructor().newInstance();
- } catch (ClassNotFoundException
- | NoSuchMethodException
- | InstantiationException
- | IllegalAccessException
- | InvocationTargetException e) {
- // Old gradle setup.
- return new NoOpResourceTracingImpl();
- }
+ return new ResourceTracingImpl();
}
static void copyProviderToConsumer(
@@ -106,30 +93,4 @@
provider.finished(diagnosticsHandler);
}
}
-
- class NoOpResourceTracingImpl implements ResourceTracing {
-
- private AndroidResourceProvider provider;
- private AndroidResourceConsumer consumer;
-
- @Override
- public List<LiveMethod> traceResourceId(int id) {
- return Collections.emptyList();
- }
-
- @Override
- public void done(DiagnosticsHandler diagnosticsHandler) {
- ResourceTracing.copyProviderToConsumer(diagnosticsHandler, provider, consumer);
- }
-
- @Override
- public void setProvider(AndroidResourceProvider provider) {
- this.provider = provider;
- }
-
- @Override
- public void setConsumer(AndroidResourceConsumer consumer) {
- this.consumer = consumer;
- }
- }
}
diff --git a/src/test/java/com/android/tools/r8/androidresources/ResourceShrinkerIntegrationTest.java b/src/test/java/com/android/tools/r8/androidresources/ResourceShrinkerIntegrationTest.java
deleted file mode 100644
index e234c69..0000000
--- a/src/test/java/com/android/tools/r8/androidresources/ResourceShrinkerIntegrationTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright (c) 2023, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-package com.android.tools.r8.androidresources;
-
-import static org.junit.Assert.assertTrue;
-
-import com.android.tools.r8.TestBase;
-import com.android.tools.r8.TestParameters;
-import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.ToolHelper;
-import com.android.tools.r8.utils.ResourceTracing;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
-
-@RunWith(Parameterized.class)
-public class ResourceShrinkerIntegrationTest extends TestBase {
-
- @Parameter(0)
- public TestParameters parameters;
-
- @Parameters(name = "{0}")
- public static TestParametersCollection parameters() {
- return getTestParameters().withNoneRuntime().build();
- }
-
- @Test
- public void testResourceShrinkerClassAvailable() {
- if (ToolHelper.isNewGradleSetup()) {
- assertTrue(
- ResourceTracing.getImpl().getClass() != ResourceTracing.NoOpResourceTracingImpl.class);
- } else {
- assertTrue(
- ResourceTracing.getImpl().getClass() == ResourceTracing.NoOpResourceTracingImpl.class);
- }
- }
-}