package net.letime.lecjoa.di;

import android.app.Activity;
import dagger.Binds;
import dagger.Module;
import dagger.Subcomponent;
import dagger.android.ActivityKey;
import dagger.android.AndroidInjector;
import dagger.multibindings.IntoMap;
import net.letime.lecjoa.AccountListActivity;

@Module(
  subcomponents =
      ActivitiesModule_ContributesAccountListActivity.AccountListActivitySubcomponent.class
)
public abstract class ActivitiesModule_ContributesAccountListActivity {
  private ActivitiesModule_ContributesAccountListActivity() {}

  @Binds
  @IntoMap
  @ActivityKey(AccountListActivity.class)
  abstract AndroidInjector.Factory<? extends Activity> bindAndroidInjectorFactory(
      AccountListActivitySubcomponent.Builder builder);

  @Subcomponent(modules = FragmentBuildersModule.class)
  public interface AccountListActivitySubcomponent extends AndroidInjector<AccountListActivity> {
    @Subcomponent.Builder
    abstract class Builder extends AndroidInjector.Builder<AccountListActivity> {}
  }
}
