Use lifecycle scope for flows in activities

This commit is contained in:
arkon 2020-04-21 09:12:53 -04:00
parent 42b536e40b
commit a68c1adba6
3 changed files with 8 additions and 5 deletions

View file

@ -133,8 +133,9 @@ dependencies {
implementation 'androidx.biometric:biometric:1.0.1'
final lifecycle_version = '2.2.0'
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"
// UI library
implementation 'com.google.android.material:material:1.1.0'

View file

@ -5,6 +5,7 @@ import android.content.Intent
import android.os.Bundle
import android.view.ViewGroup
import android.widget.Toast
import androidx.lifecycle.lifecycleScope
import com.bluelinelabs.conductor.Conductor
import com.bluelinelabs.conductor.Controller
import com.bluelinelabs.conductor.ControllerChangeHandler
@ -30,7 +31,6 @@ import eu.kanade.tachiyomi.ui.recent.history.HistoryController
import eu.kanade.tachiyomi.ui.recent.updates.UpdatesController
import eu.kanade.tachiyomi.ui.source.SourceController
import eu.kanade.tachiyomi.ui.source.global_search.GlobalSearchController
import eu.kanade.tachiyomi.util.lang.launchInUI
import eu.kanade.tachiyomi.util.lang.launchUI
import eu.kanade.tachiyomi.util.system.WebViewUtil
import eu.kanade.tachiyomi.util.system.toast
@ -39,6 +39,7 @@ import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch
import timber.log.Timber
@ -156,7 +157,7 @@ class MainActivity : BaseActivity<MainActivityBinding>() {
setExtensionsBadge()
preferences.extensionUpdatesCount().asFlow()
.onEach { setExtensionsBadge() }
.launchInUI()
.launchIn(lifecycleScope)
}
override fun onNewIntent(intent: Intent) {

View file

@ -4,9 +4,10 @@ import android.content.Intent
import android.view.WindowManager
import androidx.biometric.BiometricManager
import androidx.fragment.app.FragmentActivity
import androidx.lifecycle.lifecycleScope
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.util.lang.launchInUI
import java.util.Date
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import uy.kohesive.injekt.injectLazy
@ -23,7 +24,7 @@ class SecureActivityDelegate(private val activity: FragmentActivity) {
activity.window.clearFlags(WindowManager.LayoutParams.FLAG_SECURE)
}
}
.launchInUI()
.launchIn(activity.lifecycleScope)
}
fun onResume() {