aboutsummaryrefslogtreecommitdiff
path: root/java/dagger/hilt/android/processor/internal/androidentrypoint/ActivityGenerator.java
diff options
context:
space:
mode:
authorAurimas Liutikas <aurimas@google.com>2021-05-12 22:53:00 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-05-12 22:53:00 +0000
commit8630738d0a775a2f8e5bc09c437556bd75d8b620 (patch)
tree6f59a75348d07612173246ac6c4fca04bde0df2c /java/dagger/hilt/android/processor/internal/androidentrypoint/ActivityGenerator.java
parent0cd6a8551365e02a1687415356215ba2061739cd (diff)
parent5480a6c05f0c4727b3dd154709f40fdae8d8b4a2 (diff)
downloaddagger2-8630738d0a775a2f8e5bc09c437556bd75d8b620.tar.gz
Merge "Revert "Merge commit 'upstream/dagger-2.35.1^'"" am: 5882ce8935 am: 5480a6c05f
Original change: https://android-review.googlesource.com/c/platform/external/dagger2/+/1705751 Change-Id: I2f7a4d61b9f48965273925620a8dc0afc43c9bef
Diffstat (limited to 'java/dagger/hilt/android/processor/internal/androidentrypoint/ActivityGenerator.java')
-rw-r--r--java/dagger/hilt/android/processor/internal/androidentrypoint/ActivityGenerator.java52
1 files changed, 22 insertions, 30 deletions
diff --git a/java/dagger/hilt/android/processor/internal/androidentrypoint/ActivityGenerator.java b/java/dagger/hilt/android/processor/internal/androidentrypoint/ActivityGenerator.java
index 86fbaa712..ce9ad14c5 100644
--- a/java/dagger/hilt/android/processor/internal/androidentrypoint/ActivityGenerator.java
+++ b/java/dagger/hilt/android/processor/internal/androidentrypoint/ActivityGenerator.java
@@ -17,9 +17,9 @@
package dagger.hilt.android.processor.internal.androidentrypoint;
import com.squareup.javapoet.ClassName;
-import com.squareup.javapoet.CodeBlock;
import com.squareup.javapoet.JavaFile;
import com.squareup.javapoet.MethodSpec;
+import com.squareup.javapoet.ParameterSpec;
import com.squareup.javapoet.TypeSpec;
import com.squareup.javapoet.TypeVariableName;
import dagger.hilt.android.processor.internal.AndroidClassNames;
@@ -30,6 +30,7 @@ import javax.lang.model.element.Modifier;
/** Generates an Hilt Activity class for the @AndroidEntryPoint annotated class. */
public final class ActivityGenerator {
+
private final ProcessingEnvironment env;
private final AndroidEntryPointMetadata metadata;
private final ClassName generatedClassName;
@@ -55,11 +56,9 @@ public final class ActivityGenerator {
Generators.addGeneratedBaseClassJavadoc(builder, AndroidClassNames.ANDROID_ENTRY_POINT);
Processors.addGeneratedAnnotation(builder, env, getClass());
- Generators.copyConstructors(
- metadata.baseElement(),
- CodeBlock.builder().addStatement("_initHiltInternal()").build(),
- builder);
- builder.addMethod(init());
+ Generators.copyConstructors(metadata.baseElement(), builder);
+ builder.addMethod(onCreate());
+
metadata.baseElement().getTypeParameters().stream()
.map(TypeVariableName::get)
@@ -80,36 +79,29 @@ public final class ActivityGenerator {
.writeTo(env.getFiler());
}
- // private void init() {
- // addOnContextAvailableListener(new OnContextAvailableListener() {
- // @Override
- // public void onContextAvailable(Context context) {
- // inject();
- // }
- // });
+ // @CallSuper
+ // @Override
+ // protected void onCreate(@Nullable Bundle savedInstanceState) {
+ // inject();
+ // super.onCreate(savedInstanceState);
// }
- private MethodSpec init() {
- return MethodSpec.methodBuilder("_initHiltInternal")
- .addModifiers(Modifier.PRIVATE)
- .addStatement(
- "addOnContextAvailableListener($L)",
- TypeSpec.anonymousClassBuilder("")
- .addSuperinterface(AndroidClassNames.ON_CONTEXT_AVAILABLE_LISTENER)
- .addMethod(
- MethodSpec.methodBuilder("onContextAvailable")
- .addAnnotation(Override.class)
- .addModifiers(Modifier.PUBLIC)
- .addParameter(AndroidClassNames.CONTEXT, "context")
- .addStatement("inject()")
- .build())
+ private MethodSpec onCreate() {
+ return MethodSpec.methodBuilder("onCreate")
+ .addAnnotation(AndroidClassNames.CALL_SUPER)
+ .addAnnotation(Override.class)
+ .addModifiers(Modifier.PROTECTED)
+ .addParameter(
+ ParameterSpec.builder(AndroidClassNames.BUNDLE, "savedInstanceState")
+ .addAnnotation(AndroidClassNames.NULLABLE)
.build())
+ .addStatement("inject()")
+ .addStatement("super.onCreate(savedInstanceState)")
.build();
}
// @Override
// public ViewModelProvider.Factory getDefaultViewModelProviderFactory() {
- // return DefaultViewModelFactories.getActivityFactory(
- // this, super.getDefaultViewModelProviderFactory());
+ // return DefaultViewModelFactories.getActivityFactory(this);
// }
private MethodSpec getDefaultViewModelProviderFactory() {
return MethodSpec.methodBuilder("getDefaultViewModelProviderFactory")
@@ -117,7 +109,7 @@ public final class ActivityGenerator {
.addModifiers(Modifier.PUBLIC)
.returns(AndroidClassNames.VIEW_MODEL_PROVIDER_FACTORY)
.addStatement(
- "return $T.getActivityFactory(this, super.getDefaultViewModelProviderFactory())",
+ "return $T.getActivityFactory(this)",
AndroidClassNames.DEFAULT_VIEW_MODEL_FACTORIES)
.build();
}