Use lifecycle scope for flows in activities
Cette révision appartient à :
Parent
42b536e40b
révision
a68c1adba6
3 fichiers modifiés avec 8 ajouts et 5 suppressions
|
@ -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'
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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() {
|
||||
|
|
Référencer dans un nouveau ticket