package com.code44.finance.modules; import android.content.Context; import com.code44.finance.api.GcmRegistration; import com.code44.finance.api.User; import com.code44.finance.data.db.DBHelper; import com.code44.finance.qualifiers.ApplicationContext; import com.code44.finance.services.StartupService; import com.code44.finance.utils.EventBus; import com.code44.finance.utils.GeneralPrefs; import javax.inject.Singleton; import dagger.Module; import dagger.Provides; @Module( library = true, complete = false, injects = { StartupService.class } ) class AccountModule { @Provides @Singleton public User provideUser(@ApplicationContext Context context, DBHelper dbHelper, GcmRegistration gcmRegistration, EventBus eventBus) { return new User(context, dbHelper, gcmRegistration, eventBus); } @Provides @Singleton public GcmRegistration provideGcmRegistration(@ApplicationContext Context context) { return new GcmRegistration(context); } @Provides @Singleton public GeneralPrefs provideGeneralPrefs(@ApplicationContext Context context, EventBus eventBus) { return new GeneralPrefs(context, eventBus); } }