From 21228c23b28832a4b37550723f5b73a0d300fc09 Mon Sep 17 00:00:00 2001 From: ganfra Date: Thu, 10 Nov 2022 16:28:06 +0100 Subject: [PATCH] Create coroutine application scope --- .../main/java/io/element/android/x/ElementXApplication.kt | 7 ++++++- .../java/io/element/android/x/matrix/MatrixInstance.kt | 5 +++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/io/element/android/x/ElementXApplication.kt b/app/src/main/java/io/element/android/x/ElementXApplication.kt index 3331d0ce17..c3f8cd59c1 100644 --- a/app/src/main/java/io/element/android/x/ElementXApplication.kt +++ b/app/src/main/java/io/element/android/x/ElementXApplication.kt @@ -3,14 +3,19 @@ package io.element.android.x import android.app.Application import com.airbnb.mvrx.Mavericks 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() { + private val applicationScope = MainScope() + CoroutineName("ElementX Scope") + override fun onCreate() { super.onCreate() Timber.plant(Timber.DebugTree()) - MatrixInstance.init(this) + MatrixInstance.init(this, applicationScope) Mavericks.initialize(this) } } \ No newline at end of file diff --git a/libraries/matrix/src/main/java/io/element/android/x/matrix/MatrixInstance.kt b/libraries/matrix/src/main/java/io/element/android/x/matrix/MatrixInstance.kt index 4bb65d2af2..c93b6ce1c7 100644 --- a/libraries/matrix/src/main/java/io/element/android/x/matrix/MatrixInstance.kt +++ b/libraries/matrix/src/main/java/io/element/android/x/matrix/MatrixInstance.kt @@ -2,6 +2,7 @@ package io.element.android.x.matrix import android.annotation.SuppressLint import android.content.Context +import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.GlobalScope @@ -9,8 +10,8 @@ object MatrixInstance { @SuppressLint("StaticFieldLeak") private lateinit var instance: Matrix - fun init(context: Context) { - instance = Matrix(GlobalScope, context) + fun init(context: Context, coroutineScope: CoroutineScope) { + instance = Matrix(coroutineScope, context) } fun getInstance(): Matrix {