diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt index 87688c66..a6b90282 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt @@ -15,6 +15,7 @@ import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowViewType import net.pokeranalytics.android.ui.view.rowrepresentable.FilterCategoryRow +import net.pokeranalytics.android.ui.view.rowrepresentable.FilterSubcategoryRow import timber.log.Timber @@ -60,15 +61,40 @@ open class FilterDetailsFragment : PokerAnalyticsFragment(), RowRepresentableDat return true } - /* override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) { super.onRowSelected(position, row, fromAction) + + + filterCategory?.let { + for (subcategory in it.getSubcategories()) { + if (subcategory.getFilterRows(getRealm()).contains(row)) { + if (subcategory.getType() == FilterSubcategoryRow.Type.SINGLE) { + for (filterRow in subcategory.getFilterRows(getRealm())) { + selectedRows.remove(filterRow) + } + } + } + } + } + + if (selectedRows.contains(row)) { + selectedRows.remove(row) + } else { + selectedRows.add(row) + } + + rowRepresentableAdapter.notifyDataSetChanged() + } + + val selectedRows = ArrayList() + + override fun isSelected(row: RowRepresentable): Boolean { + return selectedRows.contains(row) } override fun onRowValueChanged(value: Any?, row: RowRepresentable) { super.onRowValueChanged(value, row) } - */ override fun adapterRows(): List? { return rows