Skip to content

Instantly share code, notes, and snippets.

@thapld
Created June 20, 2019 09:50
Show Gist options
  • Save thapld/a785ac0cf4b7736c9bb7ab018ce22387 to your computer and use it in GitHub Desktop.
Save thapld/a785ac0cf4b7736c9bb7ab018ce22387 to your computer and use it in GitHub Desktop.
class AwesomeQrCodeApplication : BaseApplication(), CyaneaDecorator.Provider, CyaneaViewProcessor.Provider {
override fun getDecorators(): Array<CyaneaDecorator> = arrayOf(FontDecorator())
override fun getViewProcessors(): Array<CyaneaViewProcessor<out View>> = arrayOf()
override fun onInit() {
super.onInit()
}
}
abstract class BaseApplication : MultiDexApplication(), HasActivityInjector, AndroidXHasSupportFragmentInjector {
lateinit var dependenciesComponent: AppDependenciesComponent
private set
@Inject
lateinit var activityDispatchingAndroidInjector: DispatchingAndroidInjector<Activity>
@Inject
lateinit var fragmentDispatchingAndroidInjector: DispatchingAndroidInjector<Fragment>
final override fun onCreate() {
super.onCreate()
Cyanea.init(this, resources)
initDagger()
onInjectDependencies(dependenciesComponent)
onInit()
}
private fun initDagger() {
dependenciesComponent = DaggerAppDependenciesComponent.builder()
.application(this)
.build()
dependenciesComponent.inject(this)
}
override fun supportFragmentInjector(): AndroidInjector<Fragment> {
return fragmentDispatchingAndroidInjector
}
override fun activityInjector(): AndroidInjector<Activity> {
return activityDispatchingAndroidInjector
}
protected open fun onInjectDependencies(injector: AppDependenciesComponent) {
//
}
protected open fun onInit() {
//
}
final override fun onTrimMemory(level: Int) {
super.onTrimMemory(level)
if (level >= TRIM_MEMORY_BACKGROUND) {
onCleanUpResources()
}
}
/**
*
*/
protected open fun onCleanUpResources() {
//
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment