Minor cleanup

This commit is contained in:
arkon 2020-04-24 19:37:42 -04:00
parent dad010a891
commit 979c49b99a
2 changed files with 22 additions and 25 deletions

View file

@ -166,10 +166,10 @@ class LibraryController(
settingsSheet = LibrarySettingsSheet(activity!!) { group ->
when (group) {
is LibrarySettingsSheet.FilterSettings.FilterGroup -> onFilterChanged()
is LibrarySettingsSheet.SortSettings.SortGroup -> onSortChanged()
is LibrarySettingsSheet.DisplaySettings.DisplayGroup -> reattachAdapter()
is LibrarySettingsSheet.DisplaySettings.BadgeGroup -> onDownloadBadgeChanged()
is LibrarySettingsSheet.Filter.FilterGroup -> onFilterChanged()
is LibrarySettingsSheet.Sort.SortGroup -> onSortChanged()
is LibrarySettingsSheet.Display.DisplayGroup -> reattachAdapter()
is LibrarySettingsSheet.Display.BadgeGroup -> onDownloadBadgeChanged()
}
}
}
@ -359,7 +359,7 @@ class LibraryController(
val filterItem = menu.findItem(R.id.action_filter)
// Tint icon if there's a filter active
if (settingsSheet.hasActiveFilters()) {
if (settingsSheet.filters.hasActiveFilters()) {
val filterColor = activity!!.getResourceColor(R.attr.colorFilterActive)
DrawableCompat.setTint(filterItem.icon, filterColor)
}

View file

@ -18,11 +18,12 @@ class LibrarySettingsSheet(
private val onGroupClickListener: (ExtendedNavigationView.Group) -> Unit
) : BottomSheetDialog(activity) {
private val filterSettings = FilterSettings(activity)
val filters = Filter(activity)
private val tabItems = listOf(
Pair(R.string.action_filter, filterSettings),
Pair(R.string.action_sort, SortSettings(activity)),
Pair(R.string.action_display, DisplaySettings(activity))
Pair(R.string.action_filter, filters),
Pair(R.string.action_sort, Sort(activity)),
Pair(R.string.action_display, Display(activity))
)
init {
@ -35,10 +36,6 @@ class LibrarySettingsSheet(
setContentView(binding.root)
}
fun hasActiveFilters(): Boolean {
return filterSettings.hasActiveFilters()
}
private inner class LibrarySettingsSheetAdapter : ViewPagerAdapter() {
override fun createView(container: ViewGroup, position: Int): View {
@ -56,7 +53,10 @@ class LibrarySettingsSheet(
}
}
inner class FilterSettings @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
/**
* Filters group (unread, downloaded, ...).
*/
inner class Filter @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
Settings(context, attrs) {
private val filterGroup = FilterGroup()
@ -72,9 +72,6 @@ class LibrarySettingsSheet(
return filterGroup.items.any { it.checked }
}
/**
* Filters group (unread, downloaded, ...).
*/
inner class FilterGroup : Group {
private val downloaded = Item.CheckboxGroup(R.string.action_filter_downloaded, this)
@ -106,16 +103,16 @@ class LibrarySettingsSheet(
}
}
inner class SortSettings @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
/**
* Sorting group (alphabetically, by last read, ...) and ascending or descending.
*/
inner class Sort @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
Settings(context, attrs) {
init {
addGroups(listOf(SortGroup()))
}
/**
* Sorting group (alphabetically, by last read, ...) and ascending or descending.
*/
inner class SortGroup : Group {
private val alphabetically = Item.MultiSort(R.string.action_sort_alpha, this)
@ -181,16 +178,16 @@ class LibrarySettingsSheet(
}
}
inner class DisplaySettings @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
/**
* Display group, to show the library as a list or a grid.
*/
inner class Display @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
Settings(context, attrs) {
init {
addGroups(listOf(DisplayGroup(), BadgeGroup()))
}
/**
* Display group, to show the library as a list or a grid.
*/
inner class DisplayGroup : Group {
private val grid = Item.Radio(R.string.action_display_grid, this)