Clean up repetitive controller transactions

This commit is contained in:
arkon 2022-04-23 12:10:32 -04:00
parent d6c87ec10e
commit 7e2f1d729f
21 changed files with 71 additions and 82 deletions

View file

@ -22,6 +22,10 @@ fun Router.popControllerWithTag(tag: String): Boolean {
return false return false
} }
fun Router.pushController(controller: Controller) {
pushController(controller.withFadeTransaction())
}
fun Controller.requestPermissionsSafe(permissions: Array<String>, requestCode: Int) { fun Controller.requestPermissionsSafe(permissions: Array<String>, requestCode: Int) {
val activity = activity ?: return val activity = activity ?: return
permissions.forEach { permission -> permissions.forEach { permission ->

View file

@ -17,7 +17,7 @@ import eu.kanade.tachiyomi.databinding.ExtensionControllerBinding
import eu.kanade.tachiyomi.extension.model.Extension import eu.kanade.tachiyomi.extension.model.Extension
import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.source.online.HttpSource
import eu.kanade.tachiyomi.ui.base.controller.NucleusController import eu.kanade.tachiyomi.ui.base.controller.NucleusController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.browse.BrowseController import eu.kanade.tachiyomi.ui.browse.BrowseController
import eu.kanade.tachiyomi.ui.browse.extension.details.ExtensionDetailsController import eu.kanade.tachiyomi.ui.browse.extension.details.ExtensionDetailsController
import kotlinx.coroutines.flow.drop import kotlinx.coroutines.flow.drop
@ -92,9 +92,7 @@ open class ExtensionController :
when (item.itemId) { when (item.itemId) {
R.id.action_search -> expandActionViewFromInteraction = true R.id.action_search -> expandActionViewFromInteraction = true
R.id.action_settings -> { R.id.action_settings -> {
parentController!!.router.pushController( parentController!!.router.pushController(ExtensionFilterController())
ExtensionFilterController().withFadeTransaction(),
)
} }
} }
return super.onOptionsItemSelected(item) return super.onOptionsItemSelected(item)
@ -172,7 +170,7 @@ open class ExtensionController :
private fun openDetails(extension: Extension.Installed) { private fun openDetails(extension: Extension.Installed) {
val controller = ExtensionDetailsController(extension.pkgName) val controller = ExtensionDetailsController(extension.pkgName)
parentController!!.router.pushController(controller.withFadeTransaction()) parentController!!.router.pushController(controller)
} }
private fun openTrustDialog(extension: Extension.Untrusted) { private fun openTrustDialog(extension: Extension.Untrusted) {

View file

@ -31,7 +31,7 @@ import eu.kanade.tachiyomi.source.getPreferenceKey
import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.source.online.HttpSource
import eu.kanade.tachiyomi.ui.base.controller.NucleusController import eu.kanade.tachiyomi.ui.base.controller.NucleusController
import eu.kanade.tachiyomi.ui.base.controller.openInBrowser import eu.kanade.tachiyomi.ui.base.controller.openInBrowser
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.util.preference.DSL import eu.kanade.tachiyomi.util.preference.DSL
import eu.kanade.tachiyomi.util.preference.minusAssign import eu.kanade.tachiyomi.util.preference.minusAssign
import eu.kanade.tachiyomi.util.preference.onChange import eu.kanade.tachiyomi.util.preference.onChange
@ -165,9 +165,7 @@ class ExtensionDetailsController(bundle: Bundle? = null) :
switchSettingsPreference { switchSettingsPreference {
block() block()
onSettingsClick = View.OnClickListener { onSettingsClick = View.OnClickListener {
router.pushController( router.pushController(SourcePreferencesController(source.id))
SourcePreferencesController(source.id).withFadeTransaction(),
)
} }
} }
} else { } else {

View file

@ -9,7 +9,7 @@ import dev.chrisbanes.insetter.applyInsetter
import eu.davidea.flexibleadapter.FlexibleAdapter import eu.davidea.flexibleadapter.FlexibleAdapter
import eu.kanade.tachiyomi.databinding.MigrationMangaControllerBinding import eu.kanade.tachiyomi.databinding.MigrationMangaControllerBinding
import eu.kanade.tachiyomi.ui.base.controller.NucleusController import eu.kanade.tachiyomi.ui.base.controller.NucleusController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.browse.migration.search.SearchController import eu.kanade.tachiyomi.ui.browse.migration.search.SearchController
import eu.kanade.tachiyomi.ui.manga.MangaController import eu.kanade.tachiyomi.ui.manga.MangaController
@ -73,13 +73,13 @@ class MigrationMangaController :
override fun onItemClick(view: View, position: Int): Boolean { override fun onItemClick(view: View, position: Int): Boolean {
val item = adapter?.getItem(position) as? MigrationMangaItem ?: return false val item = adapter?.getItem(position) as? MigrationMangaItem ?: return false
val controller = SearchController(item.manga) val controller = SearchController(item.manga)
router.pushController(controller.withFadeTransaction()) router.pushController(controller)
return false return false
} }
override fun onCoverClick(position: Int) { override fun onCoverClick(position: Int) {
val mangaItem = adapter?.getItem(position) as? MigrationMangaItem ?: return val mangaItem = adapter?.getItem(position) as? MigrationMangaItem ?: return
router.pushController(MangaController(mangaItem.manga).withFadeTransaction()) router.pushController(MangaController(mangaItem.manga))
} }
companion object { companion object {

View file

@ -11,7 +11,7 @@ import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.source.CatalogueSource
import eu.kanade.tachiyomi.ui.base.controller.DialogController import eu.kanade.tachiyomi.ui.base.controller.DialogController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.browse.migration.MigrationFlags import eu.kanade.tachiyomi.ui.browse.migration.MigrationFlags
import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchController import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchController
import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchPresenter import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchPresenter
@ -137,6 +137,6 @@ class SearchController(
override fun onTitleClick(source: CatalogueSource) { override fun onTitleClick(source: CatalogueSource) {
presenter.preferences.lastUsedSource().set(source.id) presenter.preferences.lastUsedSource().set(source.id)
router.pushController(SourceSearchController(manga, source, presenter.query).withFadeTransaction()) router.pushController(SourceSearchController(manga, source, presenter.query))
} }
} }

View file

@ -12,7 +12,7 @@ import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.databinding.MigrationSourcesControllerBinding import eu.kanade.tachiyomi.databinding.MigrationSourcesControllerBinding
import eu.kanade.tachiyomi.ui.base.controller.NucleusController import eu.kanade.tachiyomi.ui.base.controller.NucleusController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.browse.migration.manga.MigrationMangaController import eu.kanade.tachiyomi.ui.browse.migration.manga.MigrationMangaController
import eu.kanade.tachiyomi.util.system.copyToClipboard import eu.kanade.tachiyomi.util.system.copyToClipboard
import eu.kanade.tachiyomi.util.system.openInBrowser import eu.kanade.tachiyomi.util.system.openInBrowser
@ -101,7 +101,7 @@ class MigrationSourcesController :
override fun onItemClick(view: View, position: Int): Boolean { override fun onItemClick(view: View, position: Int): Boolean {
val item = adapter?.getItem(position) as? SourceItem ?: return false val item = adapter?.getItem(position) as? SourceItem ?: return false
val controller = MigrationMangaController(item.source.id, item.source.name) val controller = MigrationMangaController(item.source.id, item.source.name)
parentController!!.router.pushController(controller.withFadeTransaction()) parentController!!.router.pushController(controller)
return false return false
} }

View file

@ -23,8 +23,8 @@ import eu.kanade.tachiyomi.source.LocalSource
import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.ui.base.controller.DialogController import eu.kanade.tachiyomi.ui.base.controller.DialogController
import eu.kanade.tachiyomi.ui.base.controller.SearchableNucleusController import eu.kanade.tachiyomi.ui.base.controller.SearchableNucleusController
import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.base.controller.requestPermissionsSafe import eu.kanade.tachiyomi.ui.base.controller.requestPermissionsSafe
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
import eu.kanade.tachiyomi.ui.browse.BrowseController import eu.kanade.tachiyomi.ui.browse.BrowseController
import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceController import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceController
import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchController import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchController
@ -180,7 +180,7 @@ class SourceController :
if (!preferences.incognitoMode().get()) { if (!preferences.incognitoMode().get()) {
preferences.lastUsedSource().set(source.id) preferences.lastUsedSource().set(source.id)
} }
parentController!!.router.pushController(controller.withFadeTransaction()) parentController!!.router.pushController(controller)
} }
/** /**
@ -193,10 +193,7 @@ class SourceController :
when (item.itemId) { when (item.itemId) {
// Initialize option to open catalogue settings. // Initialize option to open catalogue settings.
R.id.action_settings -> { R.id.action_settings -> {
parentController!!.router.pushController( parentController!!.router.pushController(SourceFilterController())
SourceFilterController()
.withFadeTransaction(),
)
} }
} }
return super.onOptionsItemSelected(item) return super.onOptionsItemSelected(item)
@ -253,8 +250,6 @@ class SourceController :
} }
override fun onSearchViewQueryTextSubmit(query: String?) { override fun onSearchViewQueryTextSubmit(query: String?) {
parentController!!.router.pushController( parentController!!.router.pushController(GlobalSearchController(query))
GlobalSearchController(query).withFadeTransaction(),
)
} }
} }

View file

@ -32,7 +32,7 @@ import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.source.online.HttpSource
import eu.kanade.tachiyomi.ui.base.controller.FabController import eu.kanade.tachiyomi.ui.base.controller.FabController
import eu.kanade.tachiyomi.ui.base.controller.SearchableNucleusController import eu.kanade.tachiyomi.ui.base.controller.SearchableNucleusController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchController import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchController
import eu.kanade.tachiyomi.ui.library.ChangeMangaCategoriesDialog import eu.kanade.tachiyomi.ui.library.ChangeMangaCategoriesDialog
import eu.kanade.tachiyomi.ui.library.setting.DisplayModeSetting import eu.kanade.tachiyomi.ui.library.setting.DisplayModeSetting
@ -569,7 +569,7 @@ open class BrowseSourceController(bundle: Bundle) :
*/ */
override fun onItemClick(view: View, position: Int): Boolean { override fun onItemClick(view: View, position: Int): Boolean {
val item = adapter?.getItem(position) as? SourceItem ?: return false val item = adapter?.getItem(position) as? SourceItem ?: return false
router.pushController(MangaController(item.manga, true).withFadeTransaction()) router.pushController(MangaController(item.manga, true))
return false return false
} }

View file

@ -16,7 +16,7 @@ import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.databinding.GlobalSearchControllerBinding import eu.kanade.tachiyomi.databinding.GlobalSearchControllerBinding
import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.source.CatalogueSource
import eu.kanade.tachiyomi.ui.base.controller.SearchableNucleusController import eu.kanade.tachiyomi.ui.base.controller.SearchableNucleusController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceController import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceController
import eu.kanade.tachiyomi.ui.manga.MangaController import eu.kanade.tachiyomi.ui.manga.MangaController
import uy.kohesive.injekt.injectLazy import uy.kohesive.injekt.injectLazy
@ -65,7 +65,7 @@ open class GlobalSearchController(
* @param manga clicked item containing manga information. * @param manga clicked item containing manga information.
*/ */
override fun onMangaClick(manga: Manga) { override fun onMangaClick(manga: Manga) {
router.pushController(MangaController(manga, true).withFadeTransaction()) router.pushController(MangaController(manga, true))
} }
/** /**
@ -207,6 +207,6 @@ open class GlobalSearchController(
if (!preferences.incognitoMode().get()) { if (!preferences.incognitoMode().get()) {
preferences.lastUsedSource().set(source.id) preferences.lastUsedSource().set(source.id)
} }
router.pushController(BrowseSourceController(source, presenter.query).withFadeTransaction()) router.pushController(BrowseSourceController(source, presenter.query))
} }
} }

View file

@ -8,7 +8,7 @@ import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Category import eu.kanade.tachiyomi.data.database.models.Category
import eu.kanade.tachiyomi.data.database.models.Manga import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.tachiyomi.ui.base.controller.DialogController import eu.kanade.tachiyomi.ui.base.controller.DialogController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.category.CategoryController import eu.kanade.tachiyomi.ui.category.CategoryController
import eu.kanade.tachiyomi.widget.materialdialogs.QuadStateTextView import eu.kanade.tachiyomi.widget.materialdialogs.QuadStateTextView
import eu.kanade.tachiyomi.widget.materialdialogs.setQuadStateMultiChoiceItems import eu.kanade.tachiyomi.widget.materialdialogs.setQuadStateMultiChoiceItems
@ -71,7 +71,7 @@ class ChangeMangaCategoriesDialog<T>(bundle: Bundle? = null) :
libController.clearSelection() libController.clearSelection()
} }
router.popCurrentController() router.popCurrentController()
router.pushController(CategoryController().withFadeTransaction()) router.pushController(CategoryController())
} }
interface Listener { interface Listener {

View file

@ -26,7 +26,7 @@ import eu.kanade.tachiyomi.source.LocalSource
import eu.kanade.tachiyomi.ui.base.controller.RootController import eu.kanade.tachiyomi.ui.base.controller.RootController
import eu.kanade.tachiyomi.ui.base.controller.SearchableNucleusController import eu.kanade.tachiyomi.ui.base.controller.SearchableNucleusController
import eu.kanade.tachiyomi.ui.base.controller.TabbedController import eu.kanade.tachiyomi.ui.base.controller.TabbedController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchController import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchController
import eu.kanade.tachiyomi.ui.main.MainActivity import eu.kanade.tachiyomi.ui.main.MainActivity
import eu.kanade.tachiyomi.ui.manga.MangaController import eu.kanade.tachiyomi.ui.manga.MangaController
@ -210,9 +210,7 @@ class LibraryController(
binding.btnGlobalSearch.clicks() binding.btnGlobalSearch.clicks()
.onEach { .onEach {
router.pushController( router.pushController(GlobalSearchController(presenter.query))
GlobalSearchController(presenter.query).withFadeTransaction(),
)
} }
.launchIn(viewScope) .launchIn(viewScope)
} }
@ -494,7 +492,7 @@ class LibraryController(
// Notify the presenter a manga is being opened. // Notify the presenter a manga is being opened.
presenter.onOpenManga() presenter.onOpenManga()
router.pushController(MangaController(manga).withFadeTransaction()) router.pushController(MangaController(manga))
} }
/** /**

View file

@ -46,8 +46,8 @@ import eu.kanade.tachiyomi.ui.base.controller.FabController
import eu.kanade.tachiyomi.ui.base.controller.NoAppBarElevationController import eu.kanade.tachiyomi.ui.base.controller.NoAppBarElevationController
import eu.kanade.tachiyomi.ui.base.controller.RootController import eu.kanade.tachiyomi.ui.base.controller.RootController
import eu.kanade.tachiyomi.ui.base.controller.TabbedController import eu.kanade.tachiyomi.ui.base.controller.TabbedController
import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.base.controller.setRoot import eu.kanade.tachiyomi.ui.base.controller.setRoot
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
import eu.kanade.tachiyomi.ui.browse.BrowseController import eu.kanade.tachiyomi.ui.browse.BrowseController
import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceController import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceController
import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchController import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchController
@ -182,12 +182,12 @@ class MainActivity : BaseActivity() {
} }
R.id.nav_updates -> { R.id.nav_updates -> {
if (router.backstackSize == 1) { if (router.backstackSize == 1) {
router.pushController(DownloadController().withFadeTransaction()) router.pushController(DownloadController())
} }
} }
R.id.nav_more -> { R.id.nav_more -> {
if (router.backstackSize == 1) { if (router.backstackSize == 1) {
router.pushController(SettingsMainController().withFadeTransaction()) router.pushController(SettingsMainController())
} }
} }
} }
@ -408,7 +408,7 @@ class MainActivity : BaseActivity() {
router.popToRoot() router.popToRoot()
} }
setSelectedNavItem(R.id.nav_browse) setSelectedNavItem(R.id.nav_browse)
router.pushController(BrowseController(toExtensions = true).withFadeTransaction()) router.pushController(BrowseController(toExtensions = true))
} }
SHORTCUT_MANGA -> { SHORTCUT_MANGA -> {
val extras = intent.extras ?: return false val extras = intent.extras ?: return false
@ -424,7 +424,7 @@ class MainActivity : BaseActivity() {
router.popToRoot() router.popToRoot()
} }
setSelectedNavItem(R.id.nav_more) setSelectedNavItem(R.id.nav_more)
router.pushController(DownloadController().withFadeTransaction()) router.pushController(DownloadController())
} }
Intent.ACTION_SEARCH, Intent.ACTION_SEND, "com.google.android.gms.actions.SEARCH_ACTION" -> { Intent.ACTION_SEARCH, Intent.ACTION_SEND, "com.google.android.gms.actions.SEARCH_ACTION" -> {
// If the intent match the "standard" Android search intent // If the intent match the "standard" Android search intent
@ -436,7 +436,7 @@ class MainActivity : BaseActivity() {
if (router.backstackSize > 1) { if (router.backstackSize > 1) {
router.popToRoot() router.popToRoot()
} }
router.pushController(GlobalSearchController(query).withFadeTransaction()) router.pushController(GlobalSearchController(query))
} }
} }
INTENT_SEARCH -> { INTENT_SEARCH -> {
@ -446,7 +446,7 @@ class MainActivity : BaseActivity() {
if (router.backstackSize > 1) { if (router.backstackSize > 1) {
router.popToRoot() router.popToRoot()
} }
router.pushController(GlobalSearchController(query, filter).withFadeTransaction()) router.pushController(GlobalSearchController(query, filter))
} }
} }
else -> { else -> {

View file

@ -60,7 +60,7 @@ import eu.kanade.tachiyomi.ui.base.controller.DialogController
import eu.kanade.tachiyomi.ui.base.controller.FabController import eu.kanade.tachiyomi.ui.base.controller.FabController
import eu.kanade.tachiyomi.ui.base.controller.NucleusController import eu.kanade.tachiyomi.ui.base.controller.NucleusController
import eu.kanade.tachiyomi.ui.base.controller.getMainAppBarHeight import eu.kanade.tachiyomi.ui.base.controller.getMainAppBarHeight
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.browse.migration.search.SearchController import eu.kanade.tachiyomi.ui.browse.migration.search.SearchController
import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceController import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceController
import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchController import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchController
@ -553,7 +553,7 @@ class MangaController :
} }
setNegativeButton(activity?.getString(R.string.action_cancel)) { _, _ -> } setNegativeButton(activity?.getString(R.string.action_cancel)) { _, _ -> }
setNeutralButton(activity?.getString(R.string.action_show_manga)) { _, _ -> setNeutralButton(activity?.getString(R.string.action_show_manga)) { _, _ ->
router.pushController(MangaController(libraryManga).withFadeTransaction()) router.pushController(MangaController(libraryManga))
} }
setCancelable(true) setCancelable(true)
}.create().show() }.create().show()
@ -687,7 +687,7 @@ class MangaController :
* @param query the search query to pass to the search controller * @param query the search query to pass to the search controller
*/ */
fun performGlobalSearch(query: String) { fun performGlobalSearch(query: String) {
router.pushController(GlobalSearchController(query).withFadeTransaction()) router.pushController(GlobalSearchController(query))
} }
/** /**
@ -886,7 +886,7 @@ class MangaController :
private fun migrateManga() { private fun migrateManga() {
val controller = SearchController(presenter.manga) val controller = SearchController(presenter.manga)
controller.targetController = this controller.targetController = this
router.pushController(controller.withFadeTransaction()) router.pushController(controller)
} }
// Manga info - end // Manga info - end

View file

@ -10,7 +10,7 @@ import eu.kanade.tachiyomi.data.updater.AppUpdateChecker
import eu.kanade.tachiyomi.data.updater.AppUpdateResult import eu.kanade.tachiyomi.data.updater.AppUpdateResult
import eu.kanade.tachiyomi.ui.base.controller.BasicComposeController import eu.kanade.tachiyomi.ui.base.controller.BasicComposeController
import eu.kanade.tachiyomi.ui.base.controller.NoAppBarElevationController import eu.kanade.tachiyomi.ui.base.controller.NoAppBarElevationController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.util.lang.launchNow import eu.kanade.tachiyomi.util.lang.launchNow
import eu.kanade.tachiyomi.util.lang.toDateTimestampString import eu.kanade.tachiyomi.util.lang.toDateTimestampString
import eu.kanade.tachiyomi.util.system.logcat import eu.kanade.tachiyomi.util.system.logcat
@ -36,7 +36,7 @@ class AboutController : BasicComposeController(), NoAppBarElevationController {
checkVersion = this::checkVersion, checkVersion = this::checkVersion,
getFormattedBuildTime = this::getFormattedBuildTime, getFormattedBuildTime = this::getFormattedBuildTime,
onClickLicenses = { onClickLicenses = {
router.pushController(LicensesController().withFadeTransaction()) router.pushController(LicensesController())
}, },
) )
} }

View file

@ -11,7 +11,7 @@ import eu.kanade.tachiyomi.data.download.DownloadManager
import eu.kanade.tachiyomi.data.download.DownloadService import eu.kanade.tachiyomi.data.download.DownloadService
import eu.kanade.tachiyomi.ui.base.controller.NoAppBarElevationController import eu.kanade.tachiyomi.ui.base.controller.NoAppBarElevationController
import eu.kanade.tachiyomi.ui.base.controller.RootController import eu.kanade.tachiyomi.ui.base.controller.RootController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.category.CategoryController import eu.kanade.tachiyomi.ui.category.CategoryController
import eu.kanade.tachiyomi.ui.download.DownloadController import eu.kanade.tachiyomi.ui.download.DownloadController
import eu.kanade.tachiyomi.ui.setting.SettingsBackupController import eu.kanade.tachiyomi.ui.setting.SettingsBackupController
@ -87,7 +87,7 @@ class MoreController :
iconRes = R.drawable.ic_get_app_24dp iconRes = R.drawable.ic_get_app_24dp
iconTint = tintColor iconTint = tintColor
onClick { onClick {
router.pushController(DownloadController().withFadeTransaction()) router.pushController(DownloadController())
} }
} }
preference { preference {
@ -95,7 +95,7 @@ class MoreController :
iconRes = R.drawable.ic_label_24dp iconRes = R.drawable.ic_label_24dp
iconTint = tintColor iconTint = tintColor
onClick { onClick {
router.pushController(CategoryController().withFadeTransaction()) router.pushController(CategoryController())
} }
} }
preference { preference {
@ -103,7 +103,7 @@ class MoreController :
iconRes = R.drawable.ic_settings_backup_restore_24dp iconRes = R.drawable.ic_settings_backup_restore_24dp
iconTint = tintColor iconTint = tintColor
onClick { onClick {
router.pushController(SettingsBackupController().withFadeTransaction()) router.pushController(SettingsBackupController())
} }
} }
} }
@ -114,7 +114,7 @@ class MoreController :
iconRes = R.drawable.ic_settings_24dp iconRes = R.drawable.ic_settings_24dp
iconTint = tintColor iconTint = tintColor
onClick { onClick {
router.pushController(SettingsMainController().withFadeTransaction()) router.pushController(SettingsMainController())
} }
} }
preference { preference {
@ -122,7 +122,7 @@ class MoreController :
iconTint = tintColor iconTint = tintColor
titleRes = R.string.pref_category_about titleRes = R.string.pref_category_about
onClick { onClick {
router.pushController(AboutController().withFadeTransaction()) router.pushController(AboutController())
} }
} }
preference { preference {

View file

@ -11,7 +11,7 @@ import eu.kanade.presentation.history.HistoryScreen
import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.ui.base.controller.ComposeController import eu.kanade.tachiyomi.ui.base.controller.ComposeController
import eu.kanade.tachiyomi.ui.base.controller.RootController import eu.kanade.tachiyomi.ui.base.controller.RootController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.manga.MangaController import eu.kanade.tachiyomi.ui.manga.MangaController
import eu.kanade.tachiyomi.ui.reader.ReaderActivity import eu.kanade.tachiyomi.ui.reader.ReaderActivity
import eu.kanade.tachiyomi.util.system.toast import eu.kanade.tachiyomi.util.system.toast
@ -34,7 +34,7 @@ class HistoryController : ComposeController<HistoryPresenter>(), RootController
nestedScrollInterop = nestedScrollInterop, nestedScrollInterop = nestedScrollInterop,
presenter = presenter, presenter = presenter,
onClickCover = { history -> onClickCover = { history ->
router.pushController(MangaController(history).withFadeTransaction()) router.pushController(MangaController(history))
}, },
onClickResume = { history -> onClickResume = { history ->
presenter.getNextChapterForManga(history.mangaId, history.chapterId) presenter.getNextChapterForManga(history.mangaId, history.chapterId)

View file

@ -20,7 +20,7 @@ import eu.kanade.tachiyomi.data.notification.Notifications
import eu.kanade.tachiyomi.databinding.UpdatesControllerBinding import eu.kanade.tachiyomi.databinding.UpdatesControllerBinding
import eu.kanade.tachiyomi.ui.base.controller.NucleusController import eu.kanade.tachiyomi.ui.base.controller.NucleusController
import eu.kanade.tachiyomi.ui.base.controller.RootController import eu.kanade.tachiyomi.ui.base.controller.RootController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.main.MainActivity import eu.kanade.tachiyomi.ui.main.MainActivity
import eu.kanade.tachiyomi.ui.manga.MangaController import eu.kanade.tachiyomi.ui.manga.MangaController
import eu.kanade.tachiyomi.ui.manga.chapter.base.BaseChaptersAdapter import eu.kanade.tachiyomi.ui.manga.chapter.base.BaseChaptersAdapter
@ -282,7 +282,7 @@ class UpdatesController :
} }
private fun openManga(chapter: UpdatesItem) { private fun openManga(chapter: UpdatesItem) {
router.pushController(MangaController(chapter.manga).withFadeTransaction()) router.pushController(MangaController(chapter.manga))
} }
/** /**

View file

@ -21,7 +21,7 @@ import eu.kanade.tachiyomi.network.PREF_DOH_CLOUDFLARE
import eu.kanade.tachiyomi.network.PREF_DOH_GOOGLE import eu.kanade.tachiyomi.network.PREF_DOH_GOOGLE
import eu.kanade.tachiyomi.network.PREF_DOH_QUAD9 import eu.kanade.tachiyomi.network.PREF_DOH_QUAD9
import eu.kanade.tachiyomi.ui.base.controller.openInBrowser import eu.kanade.tachiyomi.ui.base.controller.openInBrowser
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.setting.database.ClearDatabaseController import eu.kanade.tachiyomi.ui.setting.database.ClearDatabaseController
import eu.kanade.tachiyomi.util.CrashLogUtil import eu.kanade.tachiyomi.util.CrashLogUtil
import eu.kanade.tachiyomi.util.lang.launchIO import eu.kanade.tachiyomi.util.lang.launchIO
@ -149,7 +149,7 @@ class SettingsAdvancedController : SettingsController() {
summaryRes = R.string.pref_clear_database_summary summaryRes = R.string.pref_clear_database_summary
onClick { onClick {
router.pushController(ClearDatabaseController().withFadeTransaction()) router.pushController(ClearDatabaseController())
} }
} }
} }

View file

@ -20,7 +20,7 @@ import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.data.track.TrackManager import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.databinding.PrefLibraryColumnsBinding import eu.kanade.tachiyomi.databinding.PrefLibraryColumnsBinding
import eu.kanade.tachiyomi.ui.base.controller.DialogController import eu.kanade.tachiyomi.ui.base.controller.DialogController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.category.CategoryController import eu.kanade.tachiyomi.ui.category.CategoryController
import eu.kanade.tachiyomi.util.preference.bindTo import eu.kanade.tachiyomi.util.preference.bindTo
import eu.kanade.tachiyomi.util.preference.defaultValue import eu.kanade.tachiyomi.util.preference.defaultValue
@ -103,7 +103,7 @@ class SettingsLibraryController : SettingsController() {
summary = context.resources.getQuantityString(R.plurals.num_categories, catCount, catCount) summary = context.resources.getQuantityString(R.plurals.num_categories, catCount, catCount)
onClick { onClick {
router.pushController(CategoryController().withFadeTransaction()) router.pushController(CategoryController())
} }
} }

View file

@ -6,7 +6,7 @@ import android.view.MenuItem
import androidx.appcompat.widget.SearchView import androidx.appcompat.widget.SearchView
import androidx.preference.PreferenceScreen import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.setting.search.SettingsSearchController import eu.kanade.tachiyomi.ui.setting.search.SettingsSearchController
import eu.kanade.tachiyomi.util.preference.iconRes import eu.kanade.tachiyomi.util.preference.iconRes
import eu.kanade.tachiyomi.util.preference.iconTint import eu.kanade.tachiyomi.util.preference.iconTint
@ -26,68 +26,64 @@ class SettingsMainController : SettingsController() {
iconRes = R.drawable.ic_tune_24dp iconRes = R.drawable.ic_tune_24dp
iconTint = tintColor iconTint = tintColor
titleRes = R.string.pref_category_general titleRes = R.string.pref_category_general
onClick { navigateTo(SettingsGeneralController()) } onClick { router.pushController(SettingsGeneralController()) }
} }
preference { preference {
iconRes = R.drawable.ic_palette_24dp iconRes = R.drawable.ic_palette_24dp
iconTint = tintColor iconTint = tintColor
titleRes = R.string.pref_category_appearance titleRes = R.string.pref_category_appearance
onClick { navigateTo(SettingsAppearanceController()) } onClick { router.pushController(SettingsAppearanceController()) }
} }
preference { preference {
iconRes = R.drawable.ic_library_outline_24dp iconRes = R.drawable.ic_library_outline_24dp
iconTint = tintColor iconTint = tintColor
titleRes = R.string.pref_category_library titleRes = R.string.pref_category_library
onClick { navigateTo(SettingsLibraryController()) } onClick { router.pushController(SettingsLibraryController()) }
} }
preference { preference {
iconRes = R.drawable.ic_chrome_reader_mode_24dp iconRes = R.drawable.ic_chrome_reader_mode_24dp
iconTint = tintColor iconTint = tintColor
titleRes = R.string.pref_category_reader titleRes = R.string.pref_category_reader
onClick { navigateTo(SettingsReaderController()) } onClick { router.pushController(SettingsReaderController()) }
} }
preference { preference {
iconRes = R.drawable.ic_get_app_24dp iconRes = R.drawable.ic_get_app_24dp
iconTint = tintColor iconTint = tintColor
titleRes = R.string.pref_category_downloads titleRes = R.string.pref_category_downloads
onClick { navigateTo(SettingsDownloadController()) } onClick { router.pushController(SettingsDownloadController()) }
} }
preference { preference {
iconRes = R.drawable.ic_sync_24dp iconRes = R.drawable.ic_sync_24dp
iconTint = tintColor iconTint = tintColor
titleRes = R.string.pref_category_tracking titleRes = R.string.pref_category_tracking
onClick { navigateTo(SettingsTrackingController()) } onClick { router.pushController(SettingsTrackingController()) }
} }
preference { preference {
iconRes = R.drawable.ic_browse_outline_24dp iconRes = R.drawable.ic_browse_outline_24dp
iconTint = tintColor iconTint = tintColor
titleRes = R.string.browse titleRes = R.string.browse
onClick { navigateTo(SettingsBrowseController()) } onClick { router.pushController(SettingsBrowseController()) }
} }
preference { preference {
iconRes = R.drawable.ic_settings_backup_restore_24dp iconRes = R.drawable.ic_settings_backup_restore_24dp
iconTint = tintColor iconTint = tintColor
titleRes = R.string.label_backup titleRes = R.string.label_backup
onClick { navigateTo(SettingsBackupController()) } onClick { router.pushController(SettingsBackupController()) }
} }
preference { preference {
iconRes = R.drawable.ic_security_24dp iconRes = R.drawable.ic_security_24dp
iconTint = tintColor iconTint = tintColor
titleRes = R.string.pref_category_security titleRes = R.string.pref_category_security
onClick { navigateTo(SettingsSecurityController()) } onClick { router.pushController(SettingsSecurityController()) }
} }
preference { preference {
iconRes = R.drawable.ic_code_24dp iconRes = R.drawable.ic_code_24dp
iconTint = tintColor iconTint = tintColor
titleRes = R.string.pref_category_advanced titleRes = R.string.pref_category_advanced
onClick { navigateTo(SettingsAdvancedController()) } onClick { router.pushController(SettingsAdvancedController()) }
} }
} }
private fun navigateTo(controller: SettingsController) {
router.pushController(controller.withFadeTransaction())
}
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
// Inflate menu // Inflate menu
inflater.inflate(R.menu.settings_main, menu) inflater.inflate(R.menu.settings_main, menu)
@ -104,7 +100,7 @@ class SettingsMainController : SettingsController() {
object : MenuItem.OnActionExpandListener { object : MenuItem.OnActionExpandListener {
override fun onMenuItemActionExpand(item: MenuItem?): Boolean { override fun onMenuItemActionExpand(item: MenuItem?): Boolean {
preferences.lastSearchQuerySearchSettings().set("") // reset saved search query preferences.lastSearchQuerySearchSettings().set("") // reset saved search query
router.pushController(SettingsSearchController().withFadeTransaction()) router.pushController(SettingsSearchController())
return true return true
} }

View file

@ -12,7 +12,7 @@ import dev.chrisbanes.insetter.applyInsetter
import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.databinding.SettingsSearchControllerBinding import eu.kanade.tachiyomi.databinding.SettingsSearchControllerBinding
import eu.kanade.tachiyomi.ui.base.controller.NucleusController import eu.kanade.tachiyomi.ui.base.controller.NucleusController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.setting.SettingsController import eu.kanade.tachiyomi.ui.setting.SettingsController
/** /**
@ -158,6 +158,6 @@ class SettingsSearchController :
presenter.preferences.lastSearchQuerySearchSettings().set(it.toString()) presenter.preferences.lastSearchQuerySearchSettings().set(it.toString())
} }
router.pushController(ctrl.withFadeTransaction()) router.pushController(ctrl)
} }
} }