package com.arcao.trackables.internal.di.component;
import android.app.Activity;
import com.arcao.trackables.App;
import com.arcao.trackables.internal.di.PerActivity;
import com.arcao.trackables.internal.di.module.ActivityModule;
import com.arcao.trackables.ui.WelcomeActivity;
import com.arcao.trackables.ui.fragment.AfterLoginFragment;
import com.arcao.trackables.ui.fragment.OAuthLoginFragment;
import com.arcao.trackables.ui.fragment.WelcomeFragment;
import com.arcao.trackables.ui.task.AfterLoginTask;
import dagger.Component;
@PerActivity
@Component(dependencies = AppComponent.class, modules = ActivityModule.class)
public interface WelcomeActivityComponent {
// activity
void inject(WelcomeActivity activity);
// fragments
void inject(AfterLoginFragment fragment);
void inject(OAuthLoginFragment fragment);
void inject(WelcomeFragment fragment);
// tasks
void inject(AfterLoginTask task);
final class Initializer {
public static WelcomeActivityComponent init(Activity activity) {
return DaggerWelcomeActivityComponent.builder()
.activityModule(new ActivityModule(activity))
.appComponent(App.get(activity).component())
.build();
}
private Initializer() {} // No instances.
}
}