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);
}

@@ -72,21 +72,22 @@
  dagger.
-Binds
+Module
 ;%0Aimport
@@ -86,38 +86,40 @@
 ;%0Aimport dagger.
-Module
+Provides
 ;%0Aimport dagger.
@@ -327,28 +327,31 @@
 ries();%0A%0A  @
-Bind
+Provide
 s%0A  @IntoSet
@@ -349,32 +349,30 @@
  @IntoSet%0A  
-abstract
+static
  ParticleFac
@@ -439,34 +439,74 @@
 icleFactory)
-;%0A%0A  @Bind
+ %7B%0A    return echoParticleFactory;%0A  %7D%0A%0A  @Provide
 s%0A  @IntoSet
@@ -504,32 +504,30 @@
  @IntoSet%0A  
-abstract
+static
  ParticleFac
@@ -605,18 +605,59 @@
 ory)
-;%0A%0A  @Bind
+ %7B%0A    return captureEntityFactory;%0A  %7D%0A%0A  @Provide
 s%0A  
@@ -667,24 +667,22 @@
 toSet%0A  
-abstract
+static
  Particl
@@ -760,12 +760,50 @@
 Factory)
-;
+ %7B%0A    return toastParticleFactory;%0A  %7D
 %0A%7D%0A

fix particlesmodule (#3533)