|
@@ -203,7 +203,7 @@ class LibrarySettingsSheet(
|
|
|
|
|
|
override fun initModels() {
|
|
|
val sorting = SortModeSetting.get(preferences, currentCategory)
|
|
|
- val order = if (SortDirectionSetting.get(preferences, currentCategory) == SortDirectionSetting.ASCENDING) {
|
|
|
+ val order = if (SortDirectionSetting.get(currentCategory) == SortDirectionSetting.ASCENDING) {
|
|
|
Item.MultiSort.SORT_ASC
|
|
|
} else {
|
|
|
Item.MultiSort.SORT_DESC
|
|
@@ -242,27 +242,13 @@ class LibrarySettingsSheet(
|
|
|
else -> throw Exception("Unknown state")
|
|
|
}
|
|
|
|
|
|
- setSortModePreference(item)
|
|
|
-
|
|
|
- setSortDirectionPreference(item)
|
|
|
+ setSortPreference(item)
|
|
|
|
|
|
item.group.items.forEach { adapter.notifyItemChanged(it) }
|
|
|
}
|
|
|
|
|
|
- private fun setSortDirectionPreference(item: Item.MultiStateGroup) {
|
|
|
- val flag = if (item.state == Item.MultiSort.SORT_ASC) {
|
|
|
- SortDirectionSetting.ASCENDING
|
|
|
- } else {
|
|
|
- SortDirectionSetting.DESCENDING
|
|
|
- }
|
|
|
-
|
|
|
- sheetScope.launchIO {
|
|
|
- setSortModeForCategory.await(currentCategory!!, flag)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private fun setSortModePreference(item: Item) {
|
|
|
- val flag = when (item) {
|
|
|
+ private fun setSortPreference(item: Item.MultiStateGroup) {
|
|
|
+ val mode = when (item) {
|
|
|
alphabetically -> SortModeSetting.ALPHABETICAL
|
|
|
lastRead -> SortModeSetting.LAST_READ
|
|
|
lastChecked -> SortModeSetting.LAST_MANGA_UPDATE
|
|
@@ -273,9 +259,14 @@ class LibrarySettingsSheet(
|
|
|
dateAdded -> SortModeSetting.DATE_ADDED
|
|
|
else -> throw NotImplementedError("Unknown display mode")
|
|
|
}
|
|
|
+ val direction = if (item.state == Item.MultiSort.SORT_ASC) {
|
|
|
+ SortDirectionSetting.ASCENDING
|
|
|
+ } else {
|
|
|
+ SortDirectionSetting.DESCENDING
|
|
|
+ }
|
|
|
|
|
|
sheetScope.launchIO {
|
|
|
- setSortModeForCategory.await(currentCategory!!, flag)
|
|
|
+ setSortModeForCategory.await(currentCategory!!, mode, direction)
|
|
|
}
|
|
|
}
|
|
|
}
|