Skip to content

Instantly share code, notes, and snippets.

@phansier
Last active January 5, 2021 22:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save phansier/e6f35e5f9616cbae2a524afcced9a564 to your computer and use it in GitHub Desktop.
Save phansier/e6f35e5f9616cbae2a524afcced9a564 to your computer and use it in GitHub Desktop.
...
@Module
class AppModule {
...
// when using @Singleton or other Dagger scope or not using Provider
// then link returned by get() will be cached by Dagger, то ссылка
@Provides
fun provideFeatureScanner(dependencies: ScannerFeatureDependencies): ScannerFeatureApi {
ScannerFeatureComponentHolder.init(dependencies)
return ScannerFeatureComponentHolder.get()
}
...
}
...
object PurchaseComponentHolder : ComponentHolder<PurchaseFeatureApi, PurchaseFeatureDependencies> {
private var purchaseComponentHolder: PurchaseComponent? = null
...
override fun get(): PurchaseFeatureApi {
checkNotNull(purchaseComponentHolder) { "PurchaseComponent was not initialized!" }
return purchaseComponentHolder!!
}
override fun reset() {
purchaseComponentHolder = null
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment