always providing matrix via the singleton module -
allows the matrix configuration to also contain dependencies
This commit is contained in:
parent
2d80c6bc4e
commit
c160f5dff1
|
@ -55,7 +55,6 @@ import im.vector.app.features.pin.PinLocker
|
||||||
import im.vector.app.features.popup.PopupAlertManager
|
import im.vector.app.features.popup.PopupAlertManager
|
||||||
import im.vector.app.features.rageshake.VectorFileLogger
|
import im.vector.app.features.rageshake.VectorFileLogger
|
||||||
import im.vector.app.features.rageshake.VectorUncaughtExceptionHandler
|
import im.vector.app.features.rageshake.VectorUncaughtExceptionHandler
|
||||||
import im.vector.app.features.room.VectorRoomDisplayNameFallbackProvider
|
|
||||||
import im.vector.app.features.settings.VectorLocale
|
import im.vector.app.features.settings.VectorLocale
|
||||||
import im.vector.app.features.settings.VectorPreferences
|
import im.vector.app.features.settings.VectorPreferences
|
||||||
import im.vector.app.features.themes.ThemeUtils
|
import im.vector.app.features.themes.ThemeUtils
|
||||||
|
@ -63,7 +62,6 @@ import im.vector.app.features.version.VersionProvider
|
||||||
import im.vector.app.push.fcm.FcmHelper
|
import im.vector.app.push.fcm.FcmHelper
|
||||||
import org.jitsi.meet.sdk.log.JitsiMeetDefaultLogHandler
|
import org.jitsi.meet.sdk.log.JitsiMeetDefaultLogHandler
|
||||||
import org.matrix.android.sdk.api.Matrix
|
import org.matrix.android.sdk.api.Matrix
|
||||||
import org.matrix.android.sdk.api.MatrixConfiguration
|
|
||||||
import org.matrix.android.sdk.api.auth.AuthenticationService
|
import org.matrix.android.sdk.api.auth.AuthenticationService
|
||||||
import org.matrix.android.sdk.api.legacy.LegacySessionImporter
|
import org.matrix.android.sdk.api.legacy.LegacySessionImporter
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
@ -77,7 +75,6 @@ import androidx.work.Configuration as WorkConfiguration
|
||||||
@HiltAndroidApp
|
@HiltAndroidApp
|
||||||
class VectorApplication :
|
class VectorApplication :
|
||||||
Application(),
|
Application(),
|
||||||
MatrixConfiguration.Provider,
|
|
||||||
WorkConfiguration.Provider {
|
WorkConfiguration.Provider {
|
||||||
|
|
||||||
lateinit var appContext: Context
|
lateinit var appContext: Context
|
||||||
|
@ -100,6 +97,7 @@ class VectorApplication :
|
||||||
@Inject lateinit var autoRageShaker: AutoRageShaker
|
@Inject lateinit var autoRageShaker: AutoRageShaker
|
||||||
@Inject lateinit var vectorFileLogger: VectorFileLogger
|
@Inject lateinit var vectorFileLogger: VectorFileLogger
|
||||||
@Inject lateinit var vectorAnalytics: VectorAnalytics
|
@Inject lateinit var vectorAnalytics: VectorAnalytics
|
||||||
|
@Inject lateinit var matrix: Matrix
|
||||||
|
|
||||||
// font thread handler
|
// font thread handler
|
||||||
private var fontThreadHandler: Handler? = null
|
private var fontThreadHandler: Handler? = null
|
||||||
|
@ -220,16 +218,9 @@ class VectorApplication :
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun providesMatrixConfiguration(): MatrixConfiguration {
|
|
||||||
return MatrixConfiguration(
|
|
||||||
applicationFlavor = BuildConfig.FLAVOR_DESCRIPTION,
|
|
||||||
roomDisplayNameFallbackProvider = VectorRoomDisplayNameFallbackProvider(this)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getWorkManagerConfiguration(): WorkConfiguration {
|
override fun getWorkManagerConfiguration(): WorkConfiguration {
|
||||||
return WorkConfiguration.Builder()
|
return WorkConfiguration.Builder()
|
||||||
.setWorkerFactory(Matrix.getInstance(this.appContext).workerFactory())
|
.setWorkerFactory(matrix.workerFactory())
|
||||||
.setExecutor(Executors.newCachedThreadPool())
|
.setExecutor(Executors.newCachedThreadPool())
|
||||||
.build()
|
.build()
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,7 @@ import dagger.Module
|
||||||
import dagger.Provides
|
import dagger.Provides
|
||||||
import dagger.hilt.InstallIn
|
import dagger.hilt.InstallIn
|
||||||
import dagger.hilt.components.SingletonComponent
|
import dagger.hilt.components.SingletonComponent
|
||||||
|
import im.vector.app.BuildConfig
|
||||||
import im.vector.app.EmojiCompatWrapper
|
import im.vector.app.EmojiCompatWrapper
|
||||||
import im.vector.app.EmojiSpanify
|
import im.vector.app.EmojiSpanify
|
||||||
import im.vector.app.core.dispatchers.CoroutineDispatchers
|
import im.vector.app.core.dispatchers.CoroutineDispatchers
|
||||||
|
@ -42,12 +43,14 @@ import im.vector.app.features.navigation.DefaultNavigator
|
||||||
import im.vector.app.features.navigation.Navigator
|
import im.vector.app.features.navigation.Navigator
|
||||||
import im.vector.app.features.pin.PinCodeStore
|
import im.vector.app.features.pin.PinCodeStore
|
||||||
import im.vector.app.features.pin.SharedPrefPinCodeStore
|
import im.vector.app.features.pin.SharedPrefPinCodeStore
|
||||||
|
import im.vector.app.features.room.VectorRoomDisplayNameFallbackProvider
|
||||||
import im.vector.app.features.ui.SharedPreferencesUiStateRepository
|
import im.vector.app.features.ui.SharedPreferencesUiStateRepository
|
||||||
import im.vector.app.features.ui.UiStateRepository
|
import im.vector.app.features.ui.UiStateRepository
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.SupervisorJob
|
import kotlinx.coroutines.SupervisorJob
|
||||||
import org.matrix.android.sdk.api.Matrix
|
import org.matrix.android.sdk.api.Matrix
|
||||||
|
import org.matrix.android.sdk.api.MatrixConfiguration
|
||||||
import org.matrix.android.sdk.api.auth.AuthenticationService
|
import org.matrix.android.sdk.api.auth.AuthenticationService
|
||||||
import org.matrix.android.sdk.api.auth.HomeServerHistoryService
|
import org.matrix.android.sdk.api.auth.HomeServerHistoryService
|
||||||
import org.matrix.android.sdk.api.legacy.LegacySessionImporter
|
import org.matrix.android.sdk.api.legacy.LegacySessionImporter
|
||||||
|
@ -107,7 +110,16 @@ object VectorStaticModule {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
fun providesMatrix(context: Context): Matrix {
|
fun providesMatrixConfiguration(context: Context): MatrixConfiguration {
|
||||||
|
return MatrixConfiguration(
|
||||||
|
applicationFlavor = BuildConfig.FLAVOR_DESCRIPTION,
|
||||||
|
roomDisplayNameFallbackProvider = VectorRoomDisplayNameFallbackProvider(context)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
fun providesMatrix(context: Context, configuration: MatrixConfiguration): Matrix {
|
||||||
|
Matrix.initialize(context, configuration)
|
||||||
return Matrix.getInstance(context)
|
return Matrix.getInstance(context)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue