Migrate more preferences
This commit is contained in:
@@ -26,7 +26,6 @@ import eu.kanade.tachiyomi.databinding.ChaptersControllerBinding
|
||||
import eu.kanade.tachiyomi.ui.base.controller.NucleusController
|
||||
import eu.kanade.tachiyomi.ui.manga.MangaController
|
||||
import eu.kanade.tachiyomi.ui.reader.ReaderActivity
|
||||
import eu.kanade.tachiyomi.util.lang.launchInUI
|
||||
import eu.kanade.tachiyomi.util.system.getResourceColor
|
||||
import eu.kanade.tachiyomi.util.system.toast
|
||||
import eu.kanade.tachiyomi.util.view.getCoordinates
|
||||
@@ -34,6 +33,7 @@ import eu.kanade.tachiyomi.util.view.gone
|
||||
import eu.kanade.tachiyomi.util.view.shrinkOnScroll
|
||||
import eu.kanade.tachiyomi.util.view.snack
|
||||
import eu.kanade.tachiyomi.util.view.visible
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import reactivecircus.flowbinding.android.view.clicks
|
||||
import reactivecircus.flowbinding.swiperefreshlayout.refreshes
|
||||
@@ -92,7 +92,7 @@ class ChaptersController : NucleusController<ChaptersControllerBinding, Chapters
|
||||
|
||||
binding.swipeRefresh.refreshes()
|
||||
.onEach { fetchChaptersFromSource() }
|
||||
.launchInUI()
|
||||
.launchIn(scope)
|
||||
|
||||
binding.fab.clicks()
|
||||
.onEach {
|
||||
@@ -114,7 +114,7 @@ class ChaptersController : NucleusController<ChaptersControllerBinding, Chapters
|
||||
view.context.toast(R.string.no_next_chapter)
|
||||
}
|
||||
}
|
||||
.launchInUI()
|
||||
.launchIn(scope)
|
||||
|
||||
binding.fab.shrinkOnScroll(binding.recycler)
|
||||
}
|
||||
|
||||
@@ -34,13 +34,13 @@ import eu.kanade.tachiyomi.ui.recent.updates.UpdatesController
|
||||
import eu.kanade.tachiyomi.ui.source.browse.BrowseSourceController
|
||||
import eu.kanade.tachiyomi.ui.source.global_search.GlobalSearchController
|
||||
import eu.kanade.tachiyomi.ui.webview.WebViewActivity
|
||||
import eu.kanade.tachiyomi.util.lang.launchInUI
|
||||
import eu.kanade.tachiyomi.util.lang.truncateCenter
|
||||
import eu.kanade.tachiyomi.util.system.toast
|
||||
import eu.kanade.tachiyomi.util.view.gone
|
||||
import eu.kanade.tachiyomi.util.view.snack
|
||||
import eu.kanade.tachiyomi.util.view.toggle
|
||||
import eu.kanade.tachiyomi.util.view.visible
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import reactivecircus.flowbinding.android.view.clicks
|
||||
import reactivecircus.flowbinding.android.view.longClicks
|
||||
@@ -80,12 +80,12 @@ class MangaInfoController(private val fromSource: Boolean = false) :
|
||||
// Set onclickListener to toggle favorite when favorite button clicked.
|
||||
binding.btnFavorite.clicks()
|
||||
.onEach { onFavoriteClick() }
|
||||
.launchInUI()
|
||||
.launchIn(scope)
|
||||
|
||||
// Set onLongClickListener to manage categories when favorite button is clicked.
|
||||
binding.btnFavorite.longClicks()
|
||||
.onEach { onFavoriteLongClick() }
|
||||
.launchInUI()
|
||||
.launchIn(scope)
|
||||
|
||||
if (presenter.source is HttpSource) {
|
||||
binding.btnWebview.visible()
|
||||
@@ -93,64 +93,64 @@ class MangaInfoController(private val fromSource: Boolean = false) :
|
||||
|
||||
binding.btnWebview.clicks()
|
||||
.onEach { openInWebView() }
|
||||
.launchInUI()
|
||||
.launchIn(scope)
|
||||
binding.btnShare.clicks()
|
||||
.onEach { shareManga() }
|
||||
.launchInUI()
|
||||
.launchIn(scope)
|
||||
}
|
||||
|
||||
// Set SwipeRefresh to refresh manga data.
|
||||
binding.swipeRefresh.refreshes()
|
||||
.onEach { fetchMangaFromSource() }
|
||||
.launchInUI()
|
||||
.launchIn(scope)
|
||||
|
||||
binding.mangaFullTitle.longClicks()
|
||||
.onEach {
|
||||
copyToClipboard(view.context.getString(R.string.title), binding.mangaFullTitle.text.toString())
|
||||
}
|
||||
.launchInUI()
|
||||
.launchIn(scope)
|
||||
|
||||
binding.mangaFullTitle.clicks()
|
||||
.onEach {
|
||||
performGlobalSearch(binding.mangaFullTitle.text.toString())
|
||||
}
|
||||
.launchInUI()
|
||||
.launchIn(scope)
|
||||
|
||||
binding.mangaArtist.longClicks()
|
||||
.onEach {
|
||||
copyToClipboard(binding.mangaArtistLabel.text.toString(), binding.mangaArtist.text.toString())
|
||||
}
|
||||
.launchInUI()
|
||||
.launchIn(scope)
|
||||
|
||||
binding.mangaArtist.clicks()
|
||||
.onEach {
|
||||
performGlobalSearch(binding.mangaArtist.text.toString())
|
||||
}
|
||||
.launchInUI()
|
||||
.launchIn(scope)
|
||||
|
||||
binding.mangaAuthor.longClicks()
|
||||
.onEach {
|
||||
copyToClipboard(binding.mangaAuthor.text.toString(), binding.mangaAuthor.text.toString())
|
||||
}
|
||||
.launchInUI()
|
||||
.launchIn(scope)
|
||||
|
||||
binding.mangaAuthor.clicks()
|
||||
.onEach {
|
||||
performGlobalSearch(binding.mangaAuthor.text.toString())
|
||||
}
|
||||
.launchInUI()
|
||||
.launchIn(scope)
|
||||
|
||||
binding.mangaSummary.longClicks()
|
||||
.onEach {
|
||||
copyToClipboard(view.context.getString(R.string.description), binding.mangaSummary.text.toString())
|
||||
}
|
||||
.launchInUI()
|
||||
.launchIn(scope)
|
||||
|
||||
binding.mangaCover.longClicks()
|
||||
.onEach {
|
||||
copyToClipboard(view.context.getString(R.string.title), presenter.manga.title)
|
||||
}
|
||||
.launchInUI()
|
||||
.launchIn(scope)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -272,10 +272,10 @@ class MangaInfoController(private val fromSource: Boolean = false) :
|
||||
// Handle showing more or less info
|
||||
binding.mangaSummary.clicks()
|
||||
.onEach { toggleMangaInfo(view.context) }
|
||||
.launchInUI()
|
||||
.launchIn(scope)
|
||||
binding.mangaInfoToggle.clicks()
|
||||
.onEach { toggleMangaInfo(view.context) }
|
||||
.launchInUI()
|
||||
.launchIn(scope)
|
||||
|
||||
// Expand manga info if navigated from source listing
|
||||
if (initialLoad && fromSource) {
|
||||
|
||||
@@ -11,8 +11,8 @@ import eu.kanade.tachiyomi.data.track.model.TrackSearch
|
||||
import eu.kanade.tachiyomi.databinding.TrackControllerBinding
|
||||
import eu.kanade.tachiyomi.ui.base.controller.NucleusController
|
||||
import eu.kanade.tachiyomi.ui.manga.MangaController
|
||||
import eu.kanade.tachiyomi.util.lang.launchInUI
|
||||
import eu.kanade.tachiyomi.util.system.toast
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import reactivecircus.flowbinding.swiperefreshlayout.refreshes
|
||||
import timber.log.Timber
|
||||
@@ -50,7 +50,7 @@ class TrackController : NucleusController<TrackControllerBinding, TrackPresenter
|
||||
binding.swipeRefresh.isEnabled = false
|
||||
binding.swipeRefresh.refreshes()
|
||||
.onEach { presenter.refresh() }
|
||||
.launchInUI()
|
||||
.launchIn(scope)
|
||||
}
|
||||
|
||||
override fun onDestroyView(view: View) {
|
||||
|
||||
@@ -11,7 +11,6 @@ import eu.kanade.tachiyomi.data.track.TrackManager
|
||||
import eu.kanade.tachiyomi.data.track.TrackService
|
||||
import eu.kanade.tachiyomi.data.track.model.TrackSearch
|
||||
import eu.kanade.tachiyomi.ui.base.controller.DialogController
|
||||
import eu.kanade.tachiyomi.util.lang.launchInUI
|
||||
import eu.kanade.tachiyomi.util.view.invisible
|
||||
import eu.kanade.tachiyomi.util.view.visible
|
||||
import java.util.concurrent.TimeUnit
|
||||
@@ -20,6 +19,7 @@ import kotlinx.android.synthetic.main.track_search_dialog.view.track_search
|
||||
import kotlinx.android.synthetic.main.track_search_dialog.view.track_search_list
|
||||
import kotlinx.coroutines.flow.debounce
|
||||
import kotlinx.coroutines.flow.filter
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.map
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import reactivecircus.flowbinding.android.widget.itemClicks
|
||||
@@ -78,7 +78,7 @@ class TrackSearchDialog : DialogController {
|
||||
.onEach { position ->
|
||||
selectedItem = adapter.getItem(position)
|
||||
}
|
||||
.launchInUI()
|
||||
.launchIn(trackController.scope)
|
||||
|
||||
// Do an initial search based on the manga's title
|
||||
if (savedState == null) {
|
||||
@@ -101,7 +101,7 @@ class TrackSearchDialog : DialogController {
|
||||
.map { it.toString() }
|
||||
.filter { it.isNotBlank() }
|
||||
.onEach { search(it) }
|
||||
.launchInUI()
|
||||
.launchIn(trackController.scope)
|
||||
}
|
||||
|
||||
private fun search(query: String) {
|
||||
|
||||
Reference in New Issue
Block a user