From 1e4205a79308196c3be4c6be795229d162ffee7b Mon Sep 17 00:00:00 2001 From: ziro Date: Sat, 13 Jan 2024 09:11:11 +0700 Subject: [PATCH] chore: Move stuff around Stuff that's not needed by compose controllers --- .../extension/repo/ExtensionRepoController.kt | 6 +-- .../ui/base/controller/BaseController.kt | 38 +------------- .../base/controller/BaseLegacyController.kt | 49 +++++++++++++++++++ 3 files changed, 51 insertions(+), 42 deletions(-) diff --git a/app/src/main/java/dev/yokai/presentation/extension/repo/ExtensionRepoController.kt b/app/src/main/java/dev/yokai/presentation/extension/repo/ExtensionRepoController.kt index 8055879e20..31c18d3018 100644 --- a/app/src/main/java/dev/yokai/presentation/extension/repo/ExtensionRepoController.kt +++ b/app/src/main/java/dev/yokai/presentation/extension/repo/ExtensionRepoController.kt @@ -7,15 +7,11 @@ import eu.kanade.tachiyomi.ui.base.controller.BaseComposeController class ExtensionRepoController : BaseComposeController() { - override fun getTitle(): String { - return "Extension Repos" - } - @Preview @Composable override fun ScreenContent() { ExtensionRepoScreen( - title = getTitle(), + title = "Extension Repos", onBackPress = router::handleBack, ) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/BaseController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/BaseController.kt index a73e5cd5be..bc9dcbcee3 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/BaseController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/BaseController.kt @@ -61,9 +61,7 @@ abstract class BaseController(bundle: Bundle? = null) : open fun onViewCreated(view: View) { } override fun onChangeStarted(handler: ControllerChangeHandler, type: ControllerChangeType) { - if (type.isEnter && isControllerVisible) { - setTitle() - } else if (type.isEnter) { + if (type.isEnter) { view?.alpha = 0f } else { removeQueryListener() @@ -72,18 +70,6 @@ abstract class BaseController(bundle: Bundle? = null) : super.onChangeStarted(handler, type) } - open fun getTitle(): String? { - return null - } - - open fun getSearchTitle(): String? { - return null - } - - open fun getBigIcon(): Drawable? { - return null - } - open fun canStillGoBack(): Boolean { return false } open val mainRecycler: RecyclerView? @@ -94,28 +80,6 @@ abstract class BaseController(bundle: Bundle? = null) : removeQueryListener(false) } - fun setTitle() { - var parentController = parentController - while (parentController != null) { - if (parentController is BaseController && parentController.getTitle() != null) { - return - } - parentController = parentController.parentController - } - - if (isControllerVisible) { - (activity as? AppCompatActivity)?.title = getTitle() - (activity as? MainActivity)?.searchTitle = getSearchTitle() - val icon = getBigIcon() - activityBinding?.bigIconLayout?.isVisible = icon != null - if (icon != null) { - activityBinding?.bigIcon?.setImageDrawable(getBigIcon()) - } else { - activityBinding?.bigIcon?.setImageDrawable(getBigIcon()) - } - } - } - private fun Controller.instance(): String { return "${javaClass.simpleName}@${Integer.toHexString(hashCode())}" } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/BaseLegacyController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/BaseLegacyController.kt index 92bc280ab0..996074df6f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/BaseLegacyController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/BaseLegacyController.kt @@ -1,13 +1,21 @@ package eu.kanade.tachiyomi.ui.base.controller +import android.graphics.drawable.Drawable import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.isVisible import androidx.viewbinding.ViewBinding +import com.bluelinelabs.conductor.ControllerChangeHandler +import com.bluelinelabs.conductor.ControllerChangeType import eu.kanade.tachiyomi.R +import eu.kanade.tachiyomi.ui.main.MainActivity import eu.kanade.tachiyomi.util.system.getResourceColor +import eu.kanade.tachiyomi.util.view.activityBinding import eu.kanade.tachiyomi.util.view.backgroundColor +import eu.kanade.tachiyomi.util.view.isControllerVisible abstract class BaseLegacyController(bundle: Bundle? = null) : BaseController(bundle) { @@ -22,5 +30,46 @@ abstract class BaseLegacyController(bundle: Bundle? = null) : return binding.root } + override fun onChangeStarted(handler: ControllerChangeHandler, type: ControllerChangeType) { + if (type.isEnter && isControllerVisible) { + setTitle() + } + super.onChangeStarted(handler, type) + } + abstract fun createBinding(inflater: LayoutInflater): VB + + open fun getTitle(): String? { + return null + } + + open fun getSearchTitle(): String? { + return null + } + + open fun getBigIcon(): Drawable? { + return null + } + + fun setTitle() { + var parentController = parentController + while (parentController != null) { + if (parentController is BaseLegacyController<*> && parentController.getTitle() != null) { + return + } + parentController = parentController.parentController + } + + if (isControllerVisible) { + (activity as? AppCompatActivity)?.title = getTitle() + (activity as? MainActivity)?.searchTitle = getSearchTitle() + val icon = getBigIcon() + activityBinding?.bigIconLayout?.isVisible = icon != null + if (icon != null) { + activityBinding?.bigIcon?.setImageDrawable(getBigIcon()) + } else { + activityBinding?.bigIcon?.setImageDrawable(getBigIcon()) + } + } + } }