Continue dagger setup...
This commit is contained in:
parent
05dc3b636c
commit
17e4c1bab2
17 changed files with 44 additions and 24 deletions
|
|
@ -5,8 +5,8 @@ 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.MatrixInitializer
|
||||
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
|
||||
|
|
@ -20,10 +20,10 @@ class ElementXApplication : Application(), DaggerComponentOwner {
|
|||
|
||||
override fun onCreate() {
|
||||
super.onCreate()
|
||||
daggerComponent = DaggerAppComponent.factory().create(this)
|
||||
daggerComponent = DaggerAppComponent.factory().create(applicationContext)
|
||||
MatrixInstance.init(this, applicationScope)
|
||||
AppInitializer.getInstance(this).apply {
|
||||
initializeComponent(TimberInitializer::class.java)
|
||||
initializeComponent(MatrixInitializer::class.java)
|
||||
initializeComponent(CoilInitializer::class.java)
|
||||
initializeComponent(MavericksInitializer::class.java)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package io.element.android.x.di
|
||||
|
||||
import android.app.Application
|
||||
import android.content.Context
|
||||
import com.squareup.anvil.annotations.MergeComponent
|
||||
import dagger.BindsInstance
|
||||
import dagger.Component
|
||||
|
|
@ -11,6 +11,6 @@ interface AppComponent {
|
|||
|
||||
@Component.Factory
|
||||
interface Factory {
|
||||
fun create(@BindsInstance application: Application): AppComponent
|
||||
fun create(@ApplicationContext @BindsInstance context: Context): AppComponent
|
||||
}
|
||||
}
|
||||
|
|
@ -5,10 +5,8 @@ import androidx.startup.Initializer
|
|||
import coil.Coil
|
||||
import coil.ImageLoader
|
||||
import coil.ImageLoaderFactory
|
||||
import io.element.android.x.core.di.DaggerComponentOwner
|
||||
import io.element.android.x.core.di.bindings
|
||||
import io.element.android.x.di.AppBindings
|
||||
import io.element.android.x.di.AppComponent
|
||||
|
||||
class CoilInitializer : Initializer<Unit> {
|
||||
|
||||
|
|
@ -16,7 +14,7 @@ class CoilInitializer : Initializer<Unit> {
|
|||
Coil.setImageLoader(ElementImageLoaderFactory(context))
|
||||
}
|
||||
|
||||
override fun dependencies(): MutableList<Class<out Initializer<*>>> = mutableListOf()
|
||||
override fun dependencies(): List<Class<out Initializer<*>>> = emptyList()
|
||||
}
|
||||
|
||||
private class ElementImageLoaderFactory(
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
package io.element.android.x.initializer
|
||||
|
||||
import android.content.Context
|
||||
import androidx.startup.Initializer
|
||||
import com.airbnb.mvrx.Mavericks
|
||||
import io.element.android.x.matrix.tracing.TracingConfigurations
|
||||
import io.element.android.x.matrix.tracing.setupTracing
|
||||
import io.element.android.x.sdk.matrix.BuildConfig
|
||||
|
||||
class MatrixInitializer : Initializer<Unit> {
|
||||
|
||||
override fun create(context: Context) {
|
||||
if (BuildConfig.DEBUG) {
|
||||
setupTracing(TracingConfigurations.debug)
|
||||
} else {
|
||||
setupTracing(TracingConfigurations.release)
|
||||
}
|
||||
}
|
||||
|
||||
override fun dependencies(): List<Class<out Initializer<*>>> = emptyList()
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -10,7 +10,7 @@ class MavericksInitializer : Initializer<Unit> {
|
|||
Mavericks.initialize(context)
|
||||
}
|
||||
|
||||
override fun dependencies(): MutableList<Class<out Initializer<*>>> = mutableListOf()
|
||||
override fun dependencies(): List<Class<out Initializer<*>>> = listOf()
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -4,11 +4,12 @@ import android.content.Context
|
|||
import androidx.startup.Initializer
|
||||
import timber.log.Timber
|
||||
|
||||
class TimberInitializer: Initializer<Unit> {
|
||||
class TimberInitializer : Initializer<Unit> {
|
||||
|
||||
override fun create(context: Context) {
|
||||
Timber.plant(Timber.DebugTree())
|
||||
}
|
||||
|
||||
override fun dependencies(): MutableList<Class<out Initializer<*>>> = mutableListOf()
|
||||
override fun dependencies(): List<Class<out Initializer<*>>> =
|
||||
listOf(TimberInitializer::class.java)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue