diff options
author | Aurimas Liutikas <aurimas@google.com> | 2021-05-12 22:53:00 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-05-12 22:53:00 +0000 |
commit | 8630738d0a775a2f8e5bc09c437556bd75d8b620 (patch) | |
tree | 6f59a75348d07612173246ac6c4fca04bde0df2c /java/dagger/hilt/android/processor/internal/androidentrypoint/ActivityGenerator.java | |
parent | 0cd6a8551365e02a1687415356215ba2061739cd (diff) | |
parent | 5480a6c05f0c4727b3dd154709f40fdae8d8b4a2 (diff) | |
download | dagger2-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.java | 52 |
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(); } |