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

@Module(
  subcomponents =
      ActivitiesModule_ContributesModalTimelineActivity.ModalTimelineActivitySubcomponent.class
)
public abstract class ActivitiesModule_ContributesModalTimelineActivity {
  private ActivitiesModule_ContributesModalTimelineActivity() {}

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

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