Skip to content

Instantly share code, notes, and snippets.

@lisamariewatkins
Last active March 9, 2019 16:22
Show Gist options
  • Save lisamariewatkins/1af33040aee8791948c5c7b5970f099b to your computer and use it in GitHub Desktop.
Save lisamariewatkins/1af33040aee8791948c5c7b5970f099b to your computer and use it in GitHub Desktop.
@Singleton
@Component(modules = [
AndroidInjectionModule::class,
ApplicationModule::class,
ActivityModule::class]
)
interface ApplicationComponent {
@Component.Builder
interface Builder {
@BindsInstance
fun application(application: Application): Builder
fun build(): ApplicationComponent
}
fun inject(app: BaseApplication)
}
@Module
class ApplicationModule {
@Provides
@Singleton
fun providesPetManager(): PetManager {
return PetManagerImpl()
}
}
@Module
abstract class ActivityModule {
@ContributesAndroidInjector(modules = [FragmentBuildersModule::class])
abstract fun contributesMainActivity(): MainActivity
}
@Module
abstract class FragmentModule {
@ContributesAndroidInjector
abstract fun contributesHomeFragment(): HomeFragment
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment