@@ -40,7 +40,6 @@ import tachiyomi.i18n.MR
4040import tachiyomi.presentation.core.i18n.stringResource
4141import uy.kohesive.injekt.Injekt
4242import uy.kohesive.injekt.api.get
43- import java.util.concurrent.atomic.AtomicReference
4443
4544data object BrowseTab : Tab {
4645
@@ -144,57 +143,3 @@ data object BrowseTab : Tab {
144143internal fun shouldShowNovelSourcesTab (uiState : LightNovelPluginUiState ): Boolean {
145144 return uiState is LightNovelPluginUiState .Ready
146145}
147-
148- internal enum class BrowseSearchTarget {
149- ANIME ,
150- MANGA ,
151- UNKNOWN ,
152- }
153-
154- internal class BrowseReselectTargetResolver (
155- initialSearchTarget : BrowseSearchTarget = BrowseSearchTarget .UNKNOWN ,
156- ) {
157- private val lastKnownSearchTarget = AtomicReference (initialSearchTarget)
158-
159- fun updateForPage (page : Int ) {
160- lastKnownSearchTarget.updateAndGet { current ->
161- updateBrowseSearchTarget(current, page)
162- }
163- }
164-
165- fun resolvedTarget (): BrowseSearchTarget {
166- return resolveBrowseReselectTarget(lastKnownSearchTarget.get())
167- }
168- }
169-
170- private const val ANIME_SOURCES_PAGE = 0
171- private const val MANGA_SOURCES_PAGE = 1
172- private const val ANIME_EXTENSIONS_PAGE = 2
173- private const val MANGA_EXTENSIONS_PAGE = 3
174- private const val ANIME_MIGRATION_PAGE = 4
175- private const val MANGA_MIGRATION_PAGE = 5
176-
177- internal fun browseSearchTargetForPage (page : Int ): BrowseSearchTarget {
178- return when (page) {
179- ANIME_SOURCES_PAGE , ANIME_EXTENSIONS_PAGE , ANIME_MIGRATION_PAGE -> BrowseSearchTarget .ANIME
180- MANGA_SOURCES_PAGE , MANGA_EXTENSIONS_PAGE , MANGA_MIGRATION_PAGE -> BrowseSearchTarget .MANGA
181- else -> BrowseSearchTarget .UNKNOWN
182- }
183- }
184-
185- internal fun updateBrowseSearchTarget (
186- lastKnownSearchTarget : BrowseSearchTarget ,
187- page : Int ,
188- ): BrowseSearchTarget {
189- return when (val pageTarget = browseSearchTargetForPage(page)) {
190- BrowseSearchTarget .UNKNOWN -> lastKnownSearchTarget
191- else -> pageTarget
192- }
193- }
194-
195- internal fun resolveBrowseReselectTarget (lastKnownSearchTarget : BrowseSearchTarget ): BrowseSearchTarget {
196- return when (lastKnownSearchTarget) {
197- BrowseSearchTarget .UNKNOWN -> BrowseSearchTarget .ANIME
198- else -> lastKnownSearchTarget
199- }
200- }
0 commit comments