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

View file

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