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.ViewThreadActivity;

@Module(
  subcomponents =
      ActivitiesModule_ContributesViewThreadActivity.ViewThreadActivitySubcomponent.class
)
public abstract class ActivitiesModule_ContributesViewThreadActivity {
  private ActivitiesModule_ContributesViewThreadActivity() {}

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

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