mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-04 08:08:55 +01:00 
			
		
		
		
	Use lifecycle scope for flows in activities
This commit is contained in:
		@@ -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() {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user