Use lifecycleScope directly

(cherry picked from commit b18a794eca05f4c4befb8606b9af8913d7520215)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
This commit is contained in:
arkon 2021-01-07 19:12:30 -05:00 committed by Jobobby04
parent d09406dc29
commit a68f18d180
8 changed files with 41 additions and 39 deletions

View File

@ -1,7 +1,6 @@
package eu.kanade.tachiyomi.ui.base.activity
import android.os.Bundle
import androidx.lifecycle.lifecycleScope
import androidx.viewbinding.ViewBinding
import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter
import eu.kanade.tachiyomi.ui.security.SecureActivityDelegate
@ -13,7 +12,6 @@ abstract class BaseRxActivity<VB : ViewBinding, P : BasePresenter<*>> : NucleusA
@Suppress("LeakingThis")
private val secureActivityDelegate = SecureActivityDelegate(this)
val scope = lifecycleScope
lateinit var binding: VB
init {

View File

@ -1,14 +1,12 @@
package eu.kanade.tachiyomi.ui.base.activity
import android.os.Bundle
import androidx.lifecycle.lifecycleScope
import androidx.viewbinding.ViewBinding
import eu.kanade.tachiyomi.ui.security.SecureActivityDelegate
import eu.kanade.tachiyomi.util.system.LocaleHelper
abstract class BaseViewBindingActivity<VB : ViewBinding> : BaseThemedActivity() {
val scope = lifecycleScope
lateinit var binding: VB
@Suppress("LeakingThis")

View File

@ -10,6 +10,7 @@ import android.widget.Toast
import androidx.coordinatorlayout.widget.CoordinatorLayout
import androidx.core.view.isVisible
import androidx.core.view.updateLayoutParams
import androidx.lifecycle.lifecycleScope
import androidx.preference.PreferenceDialogController
import com.bluelinelabs.conductor.Conductor
import com.bluelinelabs.conductor.Controller
@ -114,7 +115,7 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() {
// Set behavior of bottom nav
preferences.hideBottomBar()
.asImmediateFlow { setBottomNavBehaviorOnScroll() }
.launchIn(scope)
.launchIn(lifecycleScope)
binding.bottomNav.setOnNavigationItemSelectedListener { item ->
val id = item.itemId
@ -226,15 +227,15 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() {
preferences.extensionUpdatesCount()
.asImmediateFlow { setExtensionsBadge() }
.launchIn(scope)
.launchIn(lifecycleScope)
preferences.downloadedOnly()
.asImmediateFlow { binding.downloadedOnly.isVisible = it }
.launchIn(scope)
.launchIn(lifecycleScope)
preferences.incognitoMode()
.asImmediateFlow { binding.incognitoMode.isVisible = it }
.launchIn(scope)
.launchIn(lifecycleScope)
}
override fun onNewIntent(intent: Intent) {

View File

@ -24,6 +24,7 @@ import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.isVisible
import androidx.core.view.setPadding
import androidx.lifecycle.lifecycleScope
import com.afollestad.materialdialogs.MaterialDialog
import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView
import com.elvishew.xlog.XLog
@ -428,7 +429,7 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
ehUtilsVisible = !ehUtilsVisible
setEhUtilsVisibility(ehUtilsVisible)
}
.launchIn(scope)
.launchIn(lifecycleScope)
binding.ehAutoscrollFreq.setText(
preferences.autoscrollInterval().get().let {
@ -450,7 +451,7 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
}
)
}
.launchIn(scope)
.launchIn(lifecycleScope)
binding.ehAutoscrollFreq.textChanges()
.onEach {
@ -468,7 +469,7 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
setupAutoscroll(if (binding.ehAutoscroll.isChecked) parsed else -1.0)
}
}
.launchIn(scope)
.launchIn(lifecycleScope)
binding.ehAutoscrollHelp.clicks()
.onEach {
@ -478,7 +479,7 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
.positiveButton(android.R.string.ok)
.show()
}
.launchIn(scope)
.launchIn(lifecycleScope)
binding.ehRetryAll.clicks()
.onEach {
@ -522,7 +523,7 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
toast("Retrying $retried failed pages...")
}
.launchIn(scope)
.launchIn(lifecycleScope)
binding.ehRetryAllHelp.clicks()
.onEach {
@ -532,7 +533,7 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
.positiveButton(android.R.string.ok)
.show()
}
.launchIn(scope)
.launchIn(lifecycleScope)
binding.ehBoostPage.clicks()
.onEach {
@ -559,7 +560,7 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
}
}
}
.launchIn(scope)
.launchIn(lifecycleScope)
binding.ehBoostPageHelp.clicks()
.onEach {
@ -569,14 +570,14 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
.positiveButton(android.R.string.ok)
.show()
}
.launchIn(scope)
.launchIn(lifecycleScope)
chapterBottomSheet = ReaderChapterSheet(this)
binding.chaptersButton.clicks()
.onEach {
chapterBottomSheet.show()
}
.launchIn(scope)
.launchIn(lifecycleScope)
binding.toolbar.clicks()
.onEach {
@ -589,7 +590,7 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
)
}
}
.launchIn(scope)
.launchIn(lifecycleScope)
// <-- EH
// Set initial visibility
@ -964,42 +965,42 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
delay(250)
setOrientation(it)
}
.launchIn(scope)
.launchIn(lifecycleScope)
preferences.readerTheme().asFlow()
.drop(1) // We only care about updates
.onEach { recreate() }
.launchIn(scope)
.launchIn(lifecycleScope)
preferences.showPageNumber().asFlow()
.onEach { setPageNumberVisibility(it) }
.launchIn(scope)
.launchIn(lifecycleScope)
preferences.trueColor().asFlow()
.onEach { setTrueColor(it) }
.launchIn(scope)
.launchIn(lifecycleScope)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
preferences.cutoutShort().asFlow()
.onEach { setCutoutShort(it) }
.launchIn(scope)
.launchIn(lifecycleScope)
}
preferences.keepScreenOn().asFlow()
.onEach { setKeepScreenOn(it) }
.launchIn(scope)
.launchIn(lifecycleScope)
preferences.customBrightness().asFlow()
.onEach { setCustomBrightness(it) }
.launchIn(scope)
.launchIn(lifecycleScope)
preferences.colorFilter().asFlow()
.onEach { setColorFilter(it) }
.launchIn(scope)
.launchIn(lifecycleScope)
preferences.colorFilterMode().asFlow()
.onEach { setColorFilter(preferences.colorFilter().get()) }
.launchIn(scope)
.launchIn(lifecycleScope)
}
/**
@ -1077,7 +1078,7 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
preferences.customBrightnessValue().asFlow()
.sample(100)
.onEach { setCustomBrightnessValue(it) }
.launchIn(scope)
.launchIn(lifecycleScope)
} else {
setCustomBrightnessValue(0)
}
@ -1091,7 +1092,7 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
preferences.colorFilterValue().asFlow()
.sample(100)
.onEach { setColorFilterValue(it) }
.launchIn(scope)
.launchIn(lifecycleScope)
} else {
binding.colorOverlay.isVisible = false
}

View File

@ -3,6 +3,7 @@ package eu.kanade.tachiyomi.ui.reader
import android.view.ViewGroup
import android.widget.SeekBar
import androidx.annotation.ColorInt
import androidx.lifecycle.lifecycleScope
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
@ -32,15 +33,15 @@ class ReaderColorFilterSheet(private val activity: ReaderActivity) : BottomSheet
preferences.colorFilter().asFlow()
.onEach { setColorFilter(it) }
.launchIn(activity.scope)
.launchIn(activity.lifecycleScope)
preferences.colorFilterMode().asFlow()
.onEach { setColorFilter(preferences.colorFilter().get()) }
.launchIn(activity.scope)
.launchIn(activity.lifecycleScope)
preferences.customBrightness().asFlow()
.onEach { setCustomBrightness(it) }
.launchIn(activity.scope)
.launchIn(activity.lifecycleScope)
// Get color and update values
val color = preferences.colorFilterValue().get()
@ -178,7 +179,7 @@ class ReaderColorFilterSheet(private val activity: ReaderActivity) : BottomSheet
preferences.customBrightnessValue().asFlow()
.sample(100)
.onEach { setCustomBrightnessValue(it) }
.launchIn(activity.scope)
.launchIn(activity.lifecycleScope)
} else {
setCustomBrightnessValue(0, true)
}
@ -206,7 +207,7 @@ class ReaderColorFilterSheet(private val activity: ReaderActivity) : BottomSheet
preferences.colorFilterValue().asFlow()
.sample(100)
.onEach { setColorFilterValue(it) }
.launchIn(activity.scope)
.launchIn(activity.lifecycleScope)
}
setColorFilterSeekBar(enabled)
}

View File

@ -4,6 +4,7 @@ import android.annotation.SuppressLint
import android.view.View
import android.view.ViewGroup
import android.widget.SeekBar
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.bottomsheet.BottomSheetBehavior
@ -83,7 +84,7 @@ class ReaderChapterSheet(private val activity: ReaderActivity) : BottomSheetDial
// refreshList()
binding.webviewButton.clicks()
.onEach { activity.openMangaInBrowser() }
.launchIn(activity.scope)
.launchIn(activity.lifecycleScope)
binding.pageSeekbar.setOnSeekBarChangeListener(
object : SimpleSeekBarListener() {

View File

@ -13,6 +13,7 @@ import android.widget.Toast
import androidx.core.graphics.ColorUtils
import androidx.core.view.isInvisible
import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope
import eu.kanade.tachiyomi.BuildConfig
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.databinding.WebviewActivityBinding
@ -64,12 +65,12 @@ class WebViewActivity : BaseViewBindingActivity<WebviewActivityBinding>() {
supportActionBar?.setDisplayHomeAsUpEnabled(true)
binding.toolbar.navigationClicks()
.onEach { super.onBackPressed() }
.launchIn(scope)
.launchIn(lifecycleScope)
binding.swipeRefresh.isEnabled = false
binding.swipeRefresh.refreshes()
.onEach { refreshPage() }
.launchIn(scope)
.launchIn(lifecycleScope)
if (bundle == null) {
binding.webview.setDefaultSettings()

View File

@ -4,6 +4,7 @@ import android.content.Intent
import android.os.Bundle
import android.view.MenuItem
import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.callbacks.onCancel
import com.afollestad.materialdialogs.callbacks.onDismiss
@ -94,7 +95,7 @@ class InterceptActivity : BaseViewBindingActivity<EhActivityInterceptBinding>()
}
}
}
.launchIn(scope)
.launchIn(lifecycleScope)
}
override fun onStop() {
@ -128,7 +129,7 @@ class InterceptActivity : BaseViewBindingActivity<EhActivityInterceptBinding>()
@Synchronized
private fun loadGalleryEnd(gallery: String, source: UrlImportableSource? = null) {
// Load gallery async
scope.launch(Dispatchers.IO) {
lifecycleScope.launch(Dispatchers.IO) {
val result = galleryAdder.addGallery(this@InterceptActivity, gallery, forceSource = source)
status.value = when (result) {