Remove @GenerateTestDaggerApp from RCG.

Test: tap presubmit.
PiperOrigin-RevId: 198907001
Change-Id: Ida32182c4d6a45334cb120e1e2183abae3af2a54
diff --git a/java/com/android/dialer/inject/DialerRootComponent.java b/java/com/android/dialer/inject/DialerRootComponent.java
index 11dbf96..e508e17 100644
--- a/java/com/android/dialer/inject/DialerRootComponent.java
+++ b/java/com/android/dialer/inject/DialerRootComponent.java
@@ -41,4 +41,6 @@
 @Retention(RetentionPolicy.SOURCE)
 public @interface DialerRootComponent {
   DialerVariant variant();
+
+  Class<?> injectClass() default Object.class;
 }
diff --git a/java/com/android/dialer/rootcomponentgenerator/RootComponentGeneratingStep.java b/java/com/android/dialer/rootcomponentgenerator/RootComponentGeneratingStep.java
index 5321849..06b994f 100644
--- a/java/com/android/dialer/rootcomponentgenerator/RootComponentGeneratingStep.java
+++ b/java/com/android/dialer/rootcomponentgenerator/RootComponentGeneratingStep.java
@@ -26,7 +26,6 @@
 import com.android.dialer.inject.IncludeInDialerRoot;
 import com.android.dialer.inject.InstallIn;
 import com.android.dialer.inject.RootComponentGeneratorMetadata;
-import com.android.dialer.inject.testing.GenerateTestDaggerApp;
 import com.google.auto.common.BasicAnnotationProcessor.ProcessingStep;
 import com.google.auto.common.MoreElements;
 import com.google.common.base.Optional;
@@ -81,27 +80,18 @@
 
   private final ProcessingEnvironment processingEnv;
 
-  private TypeElement annotatedTest;
-
   public RootComponentGeneratingStep(ProcessingEnvironment processingEnv) {
     this.processingEnv = processingEnv;
   }
 
   @Override
   public Set<? extends Class<? extends Annotation>> annotations() {
-    return ImmutableSet.of(
-        DialerRootComponent.class,
-        InstallIn.class,
-        IncludeInDialerRoot.class,
-        GenerateTestDaggerApp.class);
+    return ImmutableSet.of(DialerRootComponent.class, InstallIn.class, IncludeInDialerRoot.class);
   }
 
   @Override
   public Set<? extends Element> process(
       SetMultimap<Class<? extends Annotation>, Element> elementsByAnnotation) {
-    for (Element element : elementsByAnnotation.get(GenerateTestDaggerApp.class)) {
-      annotatedTest = MoreElements.asType(element);
-    }
     for (Element element : elementsByAnnotation.get(DialerRootComponent.class)) {
       // defer root components to the next round in case where the current build target contains
       // elements annotated with @InstallIn. Annotation processor cannot detect metadata files
@@ -144,9 +134,15 @@
       componentAnnotation.addMember("modules", "$T.class", annotatedElement.asType());
     }
     rootComponentClassBuilder.addAnnotation(componentAnnotation.build());
-    if (annotatedTest != null) {
-      rootComponentClassBuilder.addMethod(generateInjectMethod());
-    }
+
+    AnnotationMirror dialerRootComponentMirror =
+        getAnnotationMirror(rootElement, DialerRootComponent.class).get();
+
+    TypeMirror annotatedTestClass =
+        (TypeMirror) getAnnotationValue(dialerRootComponentMirror, "injectClass").getValue();
+
+    rootComponentClassBuilder.addMethod(generateInjectMethod(annotatedTestClass));
+
     TypeSpec rootComponentClass = rootComponentClassBuilder.build();
     RootComponentUtils.writeJavaFile(
         processingEnv, ClassName.get(rootElement).packageName(), rootComponentClass);
@@ -200,11 +196,11 @@
     }
   }
 
-  private MethodSpec generateInjectMethod() {
+  private MethodSpec generateInjectMethod(TypeMirror testClassTypeMirror) {
     return MethodSpec.methodBuilder("inject")
         .addModifiers(Modifier.PUBLIC, Modifier.ABSTRACT)
         .returns(void.class)
-        .addParameter(ClassName.get(annotatedTest), "test")
+        .addParameter(ClassName.get(testClassTypeMirror), "clazz")
         .build();
   }