From 5cb704717348f9183cdcece74ce112037cc7bcff Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Tue, 13 Sep 2022 21:11:26 -0400 Subject: [PATCH] Source category fixes --- .../tachiyomi/ui/browse/source/SourcesPresenter.kt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt index fbf2e64cd..eb3cf4592 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt @@ -76,6 +76,10 @@ class SourcesPresenter( d2 == LAST_USED_KEY && d1 != LAST_USED_KEY -> 1 d1 == PINNED_KEY && d2 != PINNED_KEY -> -1 d2 == PINNED_KEY && d1 != PINNED_KEY -> 1 + // SY --> + d1.startsWith(CATEGORY_KEY_PREFIX) && !d2.startsWith(CATEGORY_KEY_PREFIX) -> -1 + d2.startsWith(CATEGORY_KEY_PREFIX) && !d1.startsWith(CATEGORY_KEY_PREFIX) -> 1 + // SY <-- d1 == "" && d2 != "" -> 1 d2 == "" && d1 != "" -> -1 else -> d1.compareTo(d2) @@ -84,7 +88,7 @@ class SourcesPresenter( val byLang = sources.groupByTo(map) { when { // SY --> - it.category != null -> it.category + it.category != null -> "$CATEGORY_KEY_PREFIX${it.category}" // SY <-- it.isUsedLast -> LAST_USED_KEY Pin.Actual in it.pin -> PINNED_KEY @@ -94,7 +98,7 @@ class SourcesPresenter( val uiModels = byLang.flatMap { listOf( - SourceUiModel.Header(it.key, it.value.firstOrNull()?.category != null), + SourceUiModel.Header(it.key.removePrefix(CATEGORY_KEY_PREFIX), it.value.firstOrNull()?.category != null), *it.value.map { source -> SourceUiModel.Item(source) }.toTypedArray(), @@ -103,7 +107,7 @@ class SourcesPresenter( // SY --> state.showPin = showPin state.showLatest = showLatest - state.categories = categories.sortedWith(compareByDescending(String.CASE_INSENSITIVE_ORDER) { it }) + state.categories = categories.sortedWith(compareBy(String.CASE_INSENSITIVE_ORDER) { it }) // SY <-- state.isLoading = false state.items = uiModels @@ -143,5 +147,8 @@ class SourcesPresenter( companion object { const val PINNED_KEY = "pinned" const val LAST_USED_KEY = "last_used" + // SY --> + const val CATEGORY_KEY_PREFIX = "category-" + // SY <-- } }