From c1f71bf4ece8a8b261dda073481017af78cebf80 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 20 Mar 2019 11:01:04 +0100 Subject: [PATCH] Improve filters / wip --- .../android/ui/view/RowViewType.kt | 10 ++-- .../ui/view/rowrepresentable/FilterRow.kt | 10 +++- .../rowrepresentable/FilterSubcategoryRow.kt | 7 ++- .../main/res/layout/row_title_value_check.xml | 59 +++++++++++++++++++ 4 files changed, 77 insertions(+), 9 deletions(-) create mode 100644 app/src/main/res/layout/row_title_value_check.xml diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt index a8ec6bbc..4671f50b 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt @@ -41,7 +41,6 @@ enum class RowViewType(private var layoutRes: Int) { INFO(R.layout.row_info), // Row - CLASSIC_HEADER_TITLE(R.layout.row_header_title), TITLE(R.layout.row_title), TITLE_ARROW(R.layout.row_title_arrow), TITLE_VALUE(R.layout.row_title_value), @@ -51,6 +50,7 @@ enum class RowViewType(private var layoutRes: Int) { DATA(R.layout.row_title), BOTTOM_SHEET_DATA(R.layout.row_bottom_sheet_title), TITLE_CHECK(R.layout.row_title_check), + TITLE_VALUE_CHECK(R.layout.row_title_value_check), LOADER(R.layout.row_loader), // Custom row @@ -72,11 +72,11 @@ enum class RowViewType(private var layoutRes: Int) { return when (this) { - // Customizable Row View Holder - HEADER_TITLE, HEADER_TITLE_VALUE, HEADER_TITLE_AMOUNT, HEADER_TITLE_AMOUNT_BIG, LOCATION_TITLE, INFO -> RowViewHolder(layout) - // Row View Holder - CLASSIC_HEADER_TITLE, TITLE, TITLE_ARROW, TITLE_VALUE, TITLE_VALUE_ARROW, TITLE_GRID, TITLE_SWITCH, TITLE_CHECK, DATA, BOTTOM_SHEET_DATA, LOADER -> RowViewHolder( + HEADER_TITLE, HEADER_TITLE_VALUE, HEADER_TITLE_AMOUNT, HEADER_TITLE_AMOUNT_BIG, + LOCATION_TITLE, INFO, + TITLE, TITLE_ARROW, TITLE_VALUE, TITLE_VALUE_ARROW, TITLE_GRID, TITLE_SWITCH, TITLE_CHECK, TITLE_VALUE_CHECK, + DATA, BOTTOM_SHEET_DATA, LOADER -> RowViewHolder( layout ) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterRow.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterRow.kt index eb970fc5..6f20e8e3 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterRow.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterRow.kt @@ -49,7 +49,13 @@ enum class FilterRow : RowRepresentable { } } - override val viewType: Int = RowViewType.TITLE_CHECK.ordinal + override val viewType: Int + get() { + return when (this) { + FROM, TO -> RowViewType.TITLE_VALUE_CHECK.ordinal + else -> RowViewType.TITLE_CHECK.ordinal + } + } override fun excludedFilterRows(): ArrayList? { return when (this) { @@ -60,7 +66,7 @@ enum class FilterRow : RowRepresentable { } override fun excludedFilterSubcategoryRows(): ArrayList? { - return when(this) { + return when (this) { TODAY, YESTERDAY, TODAY_AND_YESTERDAY, CURRENT_WEEK, CURRENT_MONTH, CURRENT_YEAR -> arrayListOf(FilterSubcategoryRow.FIXED_DATE) FROM, TO -> arrayListOf(FilterSubcategoryRow.DYNAMIC_DATE) else -> null diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterSubcategoryRow.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterSubcategoryRow.kt index 8c0da6bc..88e29e7d 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterSubcategoryRow.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterSubcategoryRow.kt @@ -120,7 +120,7 @@ enum class FilterSubcategoryRow : RowRepresentable { } } - override val viewType: Int = RowViewType.CLASSIC_HEADER_TITLE.ordinal + override val viewType: Int = RowViewType.HEADER_TITLE.ordinal /** * Return the type of the selection @@ -164,7 +164,10 @@ enum class FilterSubcategoryRow : RowRepresentable { FilterRow.CURRENT_MONTH, FilterRow.CURRENT_YEAR ) ) - FIXED_DATE -> rows.addAll(arrayListOf(FilterRow.FROM, FilterRow.TO)) + FIXED_DATE -> { + rows.add(CustomizableRowRepresentable(customViewType = RowViewType.TITLE_VALUE_CHECK, resId = FilterRow.FROM.resId, isSelectable = true, value = "20/03/2019")) + rows.add(CustomizableRowRepresentable(customViewType = RowViewType.TITLE_VALUE_CHECK, resId = FilterRow.TO.resId, isSelectable = true, value = "20/03/2019")) + } DURATION -> rows.addAll(arrayListOf(FilterRow.PAST_DAYS)) YEAR -> { diff --git a/app/src/main/res/layout/row_title_value_check.xml b/app/src/main/res/layout/row_title_value_check.xml new file mode 100644 index 00000000..683e9169 --- /dev/null +++ b/app/src/main/res/layout/row_title_value_check.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + \ No newline at end of file