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) { + 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 + } currentState.update { oldValue -> - oldValue.copy(sortOrder = value) + oldValue.copy(sortOrder = sortOrder) } - repository.defaultSortOrder = value + repository.defaultSortOrder = sortOrder } override fun setLanguage(value: Locale?) {