Continue setting up dagger
This commit is contained in:
parent
4452abb461
commit
b7f84f65a8
14 changed files with 177 additions and 31 deletions
|
|
@ -1,32 +1,31 @@
|
|||
package io.element.android.x
|
||||
|
||||
import android.app.Application
|
||||
import coil.ImageLoader
|
||||
import coil.ImageLoaderFactory
|
||||
import com.airbnb.mvrx.Mavericks
|
||||
import androidx.startup.AppInitializer
|
||||
import io.element.android.x.core.di.DaggerComponentOwner
|
||||
import io.element.android.x.di.DaggerAppComponent
|
||||
import io.element.android.x.initializer.CoilInitializer
|
||||
import io.element.android.x.initializer.MavericksInitializer
|
||||
import io.element.android.x.initializer.TimberInitializer
|
||||
import io.element.android.x.matrix.MatrixInstance
|
||||
import kotlinx.coroutines.CoroutineName
|
||||
import kotlinx.coroutines.MainScope
|
||||
import kotlinx.coroutines.plus
|
||||
import timber.log.Timber
|
||||
|
||||
class ElementXApplication : Application(), ImageLoaderFactory {
|
||||
class ElementXApplication : Application(), DaggerComponentOwner {
|
||||
|
||||
override lateinit var daggerComponent: Any
|
||||
|
||||
private val applicationScope = MainScope() + CoroutineName("ElementX Scope")
|
||||
|
||||
override fun onCreate() {
|
||||
super.onCreate()
|
||||
Timber.plant(Timber.DebugTree())
|
||||
daggerComponent = DaggerAppComponent.factory().create(this)
|
||||
MatrixInstance.init(this, applicationScope)
|
||||
Mavericks.initialize(this)
|
||||
AppInitializer.getInstance(this).apply {
|
||||
initializeComponent(TimberInitializer::class.java)
|
||||
initializeComponent(CoilInitializer::class.java)
|
||||
initializeComponent(MavericksInitializer::class.java)
|
||||
}
|
||||
}
|
||||
|
||||
override fun newImageLoader(): ImageLoader {
|
||||
return ImageLoader
|
||||
.Builder(this)
|
||||
.components {
|
||||
MatrixInstance.getInstance().registerComponents(this)
|
||||
}
|
||||
.build()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue