From d0ef177d56b4e50bc7f05bca31b90b321f43225b Mon Sep 17 00:00:00 2001 From: Koitharu Date: Tue, 3 Sep 2024 14:52:04 +0300 Subject: [PATCH] Fix sort order direction in filter --- .../kotatsu/filter/ui/FilterCoordinator.kt | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/filter/ui/FilterCoordinator.kt b/app/src/main/kotlin/org/koitharu/kotatsu/filter/ui/FilterCoordinator.kt index 64ae0bd29..529a1094d 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/filter/ui/FilterCoordinator.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/filter/ui/FilterCoordinator.kt @@ -230,10 +230,21 @@ class FilterCoordinator @Inject constructor( } override fun setSortOrder(value: SortOrder) { - currentState.update { oldValue -> - oldValue.copy(sortOrder = value) + val available = repository.sortOrders + val sortOrder = if (value !in available) { + val generic = GenericSortOrder.of(value) + when { + generic.ascending in available -> generic.ascending + generic.descending in available -> generic.descending + else -> return + } + } else { + value } - repository.defaultSortOrder = value + currentState.update { oldValue -> + oldValue.copy(sortOrder = sortOrder) + } + repository.defaultSortOrder = sortOrder } override fun setLanguage(value: Locale?) {