|
|
|
@ -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)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|