package arcs.builtinparticles;

import arcs.api.ParticleFactory;
import dagger.Binds;
import dagger.Module;
import dagger.multibindings.IntoSet;
import dagger.multibindings.Multibinds;
import java.util.Set;

@Module
public abstract class ParticlesModule {

  @Multibinds
  abstract Set<ParticleFactory> provideParticleFactories();

  @Binds
  @IntoSet
  abstract ParticleFactory provideEchoParticleFactory(EchoParticleFactory echoParticleFactory);

  @Binds
  @IntoSet
  abstract ParticleFactory provideCaptureEntityFactory(CaptureEntityFactory captureEntityFactory);

  @Binds
  @IntoSet
  abstract ParticleFactory provideToastParticleFactory(ToastParticleFactory toastParticleFactory);
}

package arcs.builtinparticles;

import arcs.api.ParticleFactory;
import dagger.Module;
import dagger.Provides;
import dagger.multibindings.IntoSet;
import dagger.multibindings.Multibinds;
import java.util.Set;

@Module
public abstract class ParticlesModule {

  @Multibinds
  abstract Set<ParticleFactory> provideParticleFactories();

  @Provides
  @IntoSet
  static ParticleFactory provideEchoParticleFactory(EchoParticleFactory echoParticleFactory) {
    return echoParticleFactory;
  }

  @Provides
  @IntoSet
  static ParticleFactory provideCaptureEntityFactory(CaptureEntityFactory captureEntityFactory) {
    return captureEntityFactory;
  }

  @Provides
  @IntoSet
  static ParticleFactory provideToastParticleFactory(ToastParticleFactory toastParticleFactory) {
    return toastParticleFactory;
  }
}

fix particlesmodule (#3533)