Update to Conductor 3.0.0

(cherry picked from commit 01a1a9ebab09bb81fcb35412b171be794bfb91bf)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchController.kt
This commit is contained in:
arkon 2021-07-03 12:52:07 -04:00 committed by Jobobby04
parent 6daa93fd24
commit b71694fb54
14 changed files with 23 additions and 26 deletions

View File

@ -237,11 +237,10 @@ dependencies {
implementation("com.afollestad.material-dialogs:datetime:$materialDialogsVersion") implementation("com.afollestad.material-dialogs:datetime:$materialDialogsVersion")
// Conductor // Conductor
implementation("com.bluelinelabs:conductor:2.1.5") val conductorVersion = "3.0.0"
implementation("com.bluelinelabs:conductor-support:2.1.5") { implementation("com.bluelinelabs:conductor:$conductorVersion")
exclude(group = "com.android.support") implementation("com.bluelinelabs:conductor-viewpager:$conductorVersion")
} implementation("com.github.tachiyomiorg:conductor-support-preference:$conductorVersion")
implementation("com.github.tachiyomiorg:conductor-support-preference:2.0.1")
// FlowBinding // FlowBinding
val flowbindingVersion = "1.0.0" val flowbindingVersion = "1.0.0"

View File

@ -9,7 +9,7 @@ import com.tfcporciuncula.flow.FlowSharedPreferences
import com.tfcporciuncula.flow.Preference import com.tfcporciuncula.flow.Preference
import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Manga import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.tachiyomi.data.preference.PreferenceValues.ThemeMode.* import eu.kanade.tachiyomi.data.preference.PreferenceValues.ThemeMode.system
import eu.kanade.tachiyomi.data.track.TrackService import eu.kanade.tachiyomi.data.track.TrackService
import eu.kanade.tachiyomi.data.track.anilist.Anilist import eu.kanade.tachiyomi.data.track.anilist.Anilist
import eu.kanade.tachiyomi.ui.library.setting.DisplayModeSetting import eu.kanade.tachiyomi.ui.library.setting.DisplayModeSetting

View File

@ -10,14 +10,12 @@ import androidx.viewbinding.ViewBinding
import com.bluelinelabs.conductor.Controller import com.bluelinelabs.conductor.Controller
import com.bluelinelabs.conductor.ControllerChangeHandler import com.bluelinelabs.conductor.ControllerChangeHandler
import com.bluelinelabs.conductor.ControllerChangeType import com.bluelinelabs.conductor.ControllerChangeType
import com.bluelinelabs.conductor.RestoreViewOnCreateController
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.MainScope import kotlinx.coroutines.MainScope
import kotlinx.coroutines.cancel import kotlinx.coroutines.cancel
import timber.log.Timber import timber.log.Timber
abstract class BaseController<VB : ViewBinding>(bundle: Bundle? = null) : abstract class BaseController<VB : ViewBinding>(bundle: Bundle? = null) : Controller(bundle) {
RestoreViewOnCreateController(bundle) {
protected lateinit var binding: VB protected lateinit var binding: VB
private set private set

View File

@ -5,7 +5,7 @@ import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import com.bluelinelabs.conductor.RestoreViewOnCreateController import com.bluelinelabs.conductor.Controller
import com.bluelinelabs.conductor.Router import com.bluelinelabs.conductor.Router
import com.bluelinelabs.conductor.RouterTransaction import com.bluelinelabs.conductor.RouterTransaction
import com.bluelinelabs.conductor.changehandler.SimpleSwapChangeHandler import com.bluelinelabs.conductor.changehandler.SimpleSwapChangeHandler
@ -17,7 +17,7 @@ import com.bluelinelabs.conductor.changehandler.SimpleSwapChangeHandler
* *
* Implementations should override this class and implement [.onCreateDialog] to create a custom dialog, such as an [android.app.AlertDialog] * Implementations should override this class and implement [.onCreateDialog] to create a custom dialog, such as an [android.app.AlertDialog]
*/ */
abstract class DialogController : RestoreViewOnCreateController { abstract class DialogController : Controller {
protected var dialog: Dialog? = null protected var dialog: Dialog? = null
private set private set

View File

@ -9,7 +9,7 @@ import com.bluelinelabs.conductor.ControllerChangeHandler
import com.bluelinelabs.conductor.ControllerChangeType import com.bluelinelabs.conductor.ControllerChangeType
import com.bluelinelabs.conductor.Router import com.bluelinelabs.conductor.Router
import com.bluelinelabs.conductor.RouterTransaction import com.bluelinelabs.conductor.RouterTransaction
import com.bluelinelabs.conductor.support.RouterPagerAdapter import com.bluelinelabs.conductor.viewpager.RouterPagerAdapter
import com.google.android.material.badge.BadgeDrawable import com.google.android.material.badge.BadgeDrawable
import com.google.android.material.tabs.TabLayout import com.google.android.material.tabs.TabLayout
import com.jakewharton.rxrelay.PublishRelay import com.jakewharton.rxrelay.PublishRelay

View File

@ -136,7 +136,7 @@ open class ExtensionController :
} }
searchView.queryTextChanges() searchView.queryTextChanges()
.filter { router.backstack.lastOrNull()?.controller() == this } .filter { router.backstack.lastOrNull()?.controller == this }
.onEach { .onEach {
query = it.toString() query = it.toString()
drawExtensions() drawExtensions()

View File

@ -272,7 +272,7 @@ class MigrationListController(bundle: Bundle? = null) :
override fun updateCount() { override fun updateCount() {
launchUI { launchUI {
if (router.backstack.lastOrNull()?.controller() == this@MigrationListController) { if (router.backstack.lastOrNull()?.controller == this@MigrationListController) {
setTitle() setTitle()
} }
} }
@ -408,16 +408,16 @@ class MigrationListController(bundle: Bundle? = null) :
private fun navigateOut() { private fun navigateOut() {
if (migratingManga?.size == 1) { if (migratingManga?.size == 1) {
launchUI { launchUI {
val hasDetails = router.backstack.any { it.controller() is MangaController } val hasDetails = router.backstack.any { it.controller is MangaController }
if (hasDetails) { if (hasDetails) {
val manga = migratingManga?.firstOrNull()?.searchResult?.get()?.let { val manga = migratingManga?.firstOrNull()?.searchResult?.get()?.let {
db.getManga(it).executeOnIO() db.getManga(it).executeOnIO()
} }
if (manga != null) { if (manga != null) {
val newStack = router.backstack.filter { val newStack = router.backstack.filter {
it.controller() !is MangaController && it.controller !is MangaController &&
it.controller() !is MigrationListController && it.controller !is MigrationListController &&
it.controller() !is PreMigrationController it.controller !is PreMigrationController
} + MangaController(manga).withFadeTransaction() } + MangaController(manga).withFadeTransaction()
router.setBackstack(newStack, FadeChangeHandler()) router.setBackstack(newStack, FadeChangeHandler())
return@launchUI return@launchUI

View File

@ -186,7 +186,7 @@ class SourceFilterController : SettingsController() {
} }
searchView.queryTextChanges() searchView.queryTextChanges()
.filter { router.backstack.lastOrNull()?.controller() == this } .filter { router.backstack.lastOrNull()?.controller == this }
.onEach { .onEach {
this.query = it.toString() this.query = it.toString()
drawSources() drawSources()

View File

@ -402,7 +402,7 @@ open class BrowseSourceController(bundle: Bundle) :
searchItem.fixExpand( searchItem.fixExpand(
onExpand = { invalidateMenuOnExpand() }, onExpand = { invalidateMenuOnExpand() },
onCollapse = { onCollapse = {
if (router.backstackSize >= 2 && router.backstack[router.backstackSize - 2].controller() is GlobalSearchController) { if (router.backstackSize >= 2 && router.backstack[router.backstackSize - 2].controller is GlobalSearchController) {
router.popController(this) router.popController(this)
} else { } else {
nonSubmittedQuery = "" nonSubmittedQuery = ""

View File

@ -124,7 +124,7 @@ open class IndexController :
} }
override fun onSearchViewQueryTextChange(newText: String?) { override fun onSearchViewQueryTextChange(newText: String?) {
if (router.backstack.lastOrNull()?.controller() == this) { if (router.backstack.lastOrNull()?.controller == this) {
presenter.query = newText ?: "" presenter.query = newText ?: ""
} }
} }

View File

@ -734,7 +734,7 @@ class LibraryController(
override fun onSearchViewQueryTextChange(newText: String?) { override fun onSearchViewQueryTextChange(newText: String?) {
// Ignore events if this controller isn't at the top to avoid query being reset // Ignore events if this controller isn't at the top to avoid query being reset
if (router.backstack.lastOrNull()?.controller() == this) { if (router.backstack.lastOrNull()?.controller == this) {
presenter.query = newText ?: "" presenter.query = newText ?: ""
performSearch() performSearch()
} }

View File

@ -245,7 +245,7 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() {
} }
) )
syncActivityViewWithController(router.backstack.lastOrNull()?.controller()) syncActivityViewWithController(router.backstack.lastOrNull()?.controller)
if (savedInstanceState == null) { if (savedInstanceState == null) {
// Reset Incognito Mode on relaunch // Reset Incognito Mode on relaunch
@ -294,7 +294,7 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() {
// Close BrowseSourceController and its MangaController child when incognito mode is disabled // Close BrowseSourceController and its MangaController child when incognito mode is disabled
if (!it) { if (!it) {
val fg = router.backstack.last().controller() val fg = router.backstack.last().controller
if (fg is BrowseSourceController || fg is MangaController && fg.fromSource) { if (fg is BrowseSourceController || fg is MangaController && fg.fromSource) {
router.popToRoot() router.popToRoot()
} }

View File

@ -958,7 +958,7 @@ class MangaController :
return return
} }
when (val previousController = router.backstack[router.backstackSize - 2].controller()) { when (val previousController = router.backstack[router.backstackSize - 2].controller) {
is LibraryController -> { is LibraryController -> {
router.handleBack() router.handleBack()
previousController.search(query) previousController.search(query)

View File

@ -194,7 +194,7 @@ class HistoryController :
searchView.clearFocus() searchView.clearFocus()
} }
searchView.queryTextChanges() searchView.queryTextChanges()
.filter { router.backstack.lastOrNull()?.controller() == this } .filter { router.backstack.lastOrNull()?.controller == this }
.onEach { .onEach {
query = it.toString() query = it.toString()
presenter.updateList(query) presenter.updateList(query)