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

@Module(
  subcomponents =
      BroadcastReceiverModule_ContributeSendStatusBroadcastReceiver
          .SendStatusBroadcastReceiverSubcomponent.class
)
public abstract class BroadcastReceiverModule_ContributeSendStatusBroadcastReceiver {
  private BroadcastReceiverModule_ContributeSendStatusBroadcastReceiver() {}

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

  @Subcomponent
  public interface SendStatusBroadcastReceiverSubcomponent
      extends AndroidInjector<SendStatusBroadcastReceiver> {
    @Subcomponent.Builder
    abstract class Builder extends AndroidInjector.Builder<SendStatusBroadcastReceiver> {}
  }
}
