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:
parent
6daa93fd24
commit
b71694fb54
@ -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"
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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()
|
||||||
|
@ -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
|
||||||
|
@ -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()
|
||||||
|
@ -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 = ""
|
||||||
|
@ -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 ?: ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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()
|
||||||
}
|
}
|
||||||
|
@ -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()
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user