package net.letime.lecjoa.di;

import android.content.BroadcastReceiver;
import dagger.Binds;
import dagger.Module;
import dagger.Subcomponent;
import dagger.android.AndroidInjector;
import dagger.android.BroadcastReceiverKey;
import dagger.multibindings.IntoMap;
import net.letime.lecjoa.receiver.NotificationClearBroadcastReceiver;

@Module(
  subcomponents =
      BroadcastReceiverModule_ContributeNotificationClearBroadcastReceiver
          .NotificationClearBroadcastReceiverSubcomponent.class
)
public abstract class BroadcastReceiverModule_ContributeNotificationClearBroadcastReceiver {
  private BroadcastReceiverModule_ContributeNotificationClearBroadcastReceiver() {}

  @Binds
  @IntoMap
  @BroadcastReceiverKey(NotificationClearBroadcastReceiver.class)
  abstract AndroidInjector.Factory<? extends BroadcastReceiver> bindAndroidInjectorFactory(
      NotificationClearBroadcastReceiverSubcomponent.Builder builder);

  @Subcomponent
  public interface NotificationClearBroadcastReceiverSubcomponent
      extends AndroidInjector<NotificationClearBroadcastReceiver> {
    @Subcomponent.Builder
    abstract class Builder extends AndroidInjector.Builder<NotificationClearBroadcastReceiver> {}
  }
}
