I am trying to inject an attribute of an Activity, but it just gets set to null, and I can't find out why.
@Inject
AuthenticationViewDispatcher mAuthenticationViewDispatcher;
--------
public class AuthenticationViewDispatcher {
@Inject
public AuthenticationViewDispatcher() {
}
}
----
@Singleton
@Component(modules = ApplicationModule.class)
public interface ApplicationComponent extends AbstractComponent {
Context context();
}
----
@Module
public class ApplicationModule {
private final Application mApplication;
public ApplicationModule(final @NonNull Application application) {
this.mApplication = application;
}
@Provides
@Singleton
Context provideApplicationContext() {
return this.mApplication;
}
----
@Singleton
@Component(modules = DataModule.class)
public interface DataComponent {
}
----
@PerActivity
@Component(dependencies = {ApplicationComponent.class}, modules = {LoginModule.class})
public interface LoginComponent extends ApplicationComponent {
void inject(final InjectedActivity baseActivity);
}
----
@Module
public class LoginModule {
@Provides
@Singleton
AuthenticationFlowDispatcher provideAuthenticationViewDispatcher(final @NonNull AuthenticationFlowDispatcher authenticationViewDispatcher) {
return authenticationViewDispatcher;
}
}
It's not the first time I use this kind of setup, but I've never had this issue before. What am I forgetting?
Aucun commentaire:
Enregistrer un commentaire