package de.avalax.fitbuddy.presentation; import android.app.Application; import javax.inject.Singleton; import dagger.Component; import de.avalax.fitbuddy.presentation.edit.exercise.EditExerciseActivity; import de.avalax.fitbuddy.presentation.edit.exercise.EditExerciseDialogFragment; import de.avalax.fitbuddy.presentation.edit.workout.EditWorkoutActivity; import de.avalax.fitbuddy.presentation.edit.workout.ExerciseAdapter; import de.avalax.fitbuddy.presentation.edit.workout.ExerciseListFragment; import de.avalax.fitbuddy.presentation.summary.FinishedWorkoutListFragment; import de.avalax.fitbuddy.presentation.welcome_screen.WelcomeScreenFragment; import de.avalax.fitbuddy.presentation.workout.ExerciseFragment; import de.avalax.fitbuddy.presentation.workout.WorkoutActivity; public class FitbuddyApplication extends Application { private ApplicationComponent component; @Override public void onCreate() { super.onCreate(); component = createComponent(); } protected ApplicationComponent createComponent() { return DaggerFitbuddyApplication_ApplicationComponent.builder() .fitbuddyModule(new FitbuddyModule(this)) .build(); } public ApplicationComponent getComponent() { return component; } @Singleton @Component(modules = FitbuddyModule.class) public interface ApplicationComponent { void inject(WorkoutActivity workoutActivity); void inject(EditWorkoutActivity editWorkoutActivity); void inject(ExerciseFragment exerciseFragment); void inject(ExerciseListFragment exerciseListFragment); void inject(EditExerciseActivity editExerciseActivity); void inject(ExerciseAdapter exerciseAdapter); void inject(EditExerciseDialogFragment editExerciseDialogFragment); void inject(FinishedWorkoutListFragment finishedWorkoutListFragment); void inject(WelcomeScreenFragment welcomeScreenFragment); } }