fix stat details persisting filters when cancelled

This commit is contained in:
Jays2Kings 2022-08-29 02:15:34 -04:00
parent 47e16f8445
commit c28f2ab405

View file

@ -403,6 +403,7 @@ class StatsDetailsController :
@PluralsRes
resourceIdPlural: Int,
) {
val initialStateValues = selectedValues.toSet()
val isCategory = statsList.isArrayOf<Category>()
val items = statsList.map { if (isCategory) (it as Category).name else it.toString() }
.toTypedArray()
@ -420,13 +421,20 @@ class StatsDetailsController :
selectedValues.remove(newSelection)
}
}
.setNegativeButton(android.R.string.cancel, null)
.setNegativeButton(android.R.string.cancel) { _, _ ->
selectedValues.clear()
selectedValues.addAll(initialStateValues)
}
.setPositiveButton(android.R.string.ok) { _, _ ->
setState(selectedValues, resourceId, resourceIdPlural, isCategory)
updateChipsVisibility()
binding.progress.isVisible = true
resetAndSetup(updateChipsVisibility = false)
}
.setOnCancelListener {
selectedValues.clear()
selectedValues.addAll(initialStateValues)
}
.show()
}