Skip to content

Instantly share code, notes, and snippets.

public class EmotionManager {
private final PeanutButterJar peanutButterJar;
private final Benfica benfica;
public EmotionManager() {
this.peanutButterJar = new PeanutButterJar();
this.benfica = new Benfica();
}
public class EmotionManager {
private final PeanutButterJar peanutButterJar;
private final Benfica benfica;
public EmotionManager(PeanutButterJar peanutButterJar, Benfica benfica) {
this.peanutButterJar = peanutButterJar;
this.benfica = benfica;
}
PeanutButterJar peanutButterJar = new PeanutButterJar(...);
Benfica benfica = new Benfica(...);
EmotionManager emotionManager = new EmotionManager(peanutButterJar, benfica);
public class EmotionManager {
private final PeanutButterJar peanutButterJar;
private final Benfica benfica;
@Inject public EmotionManager(PeanutButterJar peanutButterJar, Benfica benfica) {
this.peanutButterJar = peanutButterJar;
this.benfica = benfica;
}
public class PeanutButterJar {
@Inject public PeanutButterJar() {}
...
}
public class Benfica {
@Inject public Benfica() {}
public class MainActivity extends AppCompatActivity {
@Inject EmotionManager emotionManager;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getActivityComponent().inject(this);
}
}
public class EmotionManager {
private final PeanutButterJar peanutButterJar;
private final Benfica benfica;
@Inject public EmotionManager(PeanutButterJar peanutButterJar, Benfica benfica) {
this.peanutButterJar = peanutButterJar;
this.benfica = benfica;
}
@Module public class ActivityModule {
private final Activity activity;
public ActivityModule(Activity activity) {
this.activity = activity;
}
@Provides public Context provideActivityContext() {
return activity;
@Provides
public Context provideApplicationContext() {
return application;
}
@Provides @Named("activity_context")
public Context provideActivityContext() {
return activity;
}
public class ClassA {
private final Context context;
@Inject public ClassA(Context context) {
this.context = context; // Application Context
}
}
public class ClassB {