소스 검색

run user repo call in coroutine

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
Andy Scherzinger 2 년 전
부모
커밋
75c8625aee
1개의 변경된 파일13개의 추가작업 그리고 5개의 파일을 삭제
  1. 13 5
      app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt

+ 13 - 5
app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt

@@ -58,7 +58,6 @@ import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ACTIVE_CONVERSATION
 import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ROOM_ID
 import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ROOM_TOKEN
 import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_USER_ENTITY
-import com.nextcloud.talk.utils.database.user.UserUtils
 import io.reactivex.Observer
 import io.reactivex.android.schedulers.AndroidSchedulers
 import io.reactivex.disposables.Disposable
@@ -66,6 +65,9 @@ import io.reactivex.schedulers.Schedulers
 import io.requery.Persistable
 import io.requery.android.sqlcipher.SqlCipherDatabaseSource
 import io.requery.reactivex.ReactiveEntityStore
+import kotlinx.coroutines.DelicateCoroutinesApi
+import kotlinx.coroutines.GlobalScope
+import kotlinx.coroutines.launch
 import org.parceler.Parcels
 import javax.inject.Inject
 
@@ -115,10 +117,16 @@ class MainActivity : BaseActivity(), ActionBarProvider {
             onNewIntent(intent)
         } else if (!router!!.hasRootController()) {
             if (hasDb) {
-                if (usersRepository.getUsers().isNotEmpty()) {
-                    setDefaultRootController()
-                } else {
-                    launchLoginScreen()
+                GlobalScope.launch {
+                    if (usersRepository.getUsers().isNotEmpty()) {
+                        runOnUiThread {
+                            setDefaultRootController()
+                        }
+                    } else {
+                        runOnUiThread {
+                            launchLoginScreen()
+                        }
+                    }
                 }
             } else {
                 launchLoginScreen()