Improve filters / wip

feature/top10
Aurelien Hubert 7 years ago
parent 8ffbf1cff2
commit c1f71bf4ec
  1. 10
      app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt
  2. 10
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterRow.kt
  3. 7
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterSubcategoryRow.kt
  4. 59
      app/src/main/res/layout/row_title_value_check.xml

@ -41,7 +41,6 @@ enum class RowViewType(private var layoutRes: Int) {
INFO(R.layout.row_info), INFO(R.layout.row_info),
// Row // Row
CLASSIC_HEADER_TITLE(R.layout.row_header_title),
TITLE(R.layout.row_title), TITLE(R.layout.row_title),
TITLE_ARROW(R.layout.row_title_arrow), TITLE_ARROW(R.layout.row_title_arrow),
TITLE_VALUE(R.layout.row_title_value), TITLE_VALUE(R.layout.row_title_value),
@ -51,6 +50,7 @@ enum class RowViewType(private var layoutRes: Int) {
DATA(R.layout.row_title), DATA(R.layout.row_title),
BOTTOM_SHEET_DATA(R.layout.row_bottom_sheet_title), BOTTOM_SHEET_DATA(R.layout.row_bottom_sheet_title),
TITLE_CHECK(R.layout.row_title_check), TITLE_CHECK(R.layout.row_title_check),
TITLE_VALUE_CHECK(R.layout.row_title_value_check),
LOADER(R.layout.row_loader), LOADER(R.layout.row_loader),
// Custom row // Custom row
@ -72,11 +72,11 @@ enum class RowViewType(private var layoutRes: Int) {
return when (this) { 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 // 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 layout
) )

@ -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<FilterRow>? { override fun excludedFilterRows(): ArrayList<FilterRow>? {
return when (this) { return when (this) {
@ -60,7 +66,7 @@ enum class FilterRow : RowRepresentable {
} }
override fun excludedFilterSubcategoryRows(): ArrayList<FilterSubcategoryRow>? { override fun excludedFilterSubcategoryRows(): ArrayList<FilterSubcategoryRow>? {
return when(this) { return when (this) {
TODAY, YESTERDAY, TODAY_AND_YESTERDAY, CURRENT_WEEK, CURRENT_MONTH, CURRENT_YEAR -> arrayListOf(FilterSubcategoryRow.FIXED_DATE) TODAY, YESTERDAY, TODAY_AND_YESTERDAY, CURRENT_WEEK, CURRENT_MONTH, CURRENT_YEAR -> arrayListOf(FilterSubcategoryRow.FIXED_DATE)
FROM, TO -> arrayListOf(FilterSubcategoryRow.DYNAMIC_DATE) FROM, TO -> arrayListOf(FilterSubcategoryRow.DYNAMIC_DATE)
else -> null else -> null

@ -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 * Return the type of the selection
@ -164,7 +164,10 @@ enum class FilterSubcategoryRow : RowRepresentable {
FilterRow.CURRENT_MONTH, FilterRow.CURRENT_YEAR 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)) DURATION -> rows.addAll(arrayListOf(FilterRow.PAST_DAYS))
YEAR -> { YEAR -> {

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="?selectableItemBackground">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/title"
style="@style/PokerAnalyticsTheme.TextView.RowTitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/value"
app:layout_constraintStart_toStartOf="@+id/guidelineStart"
app:layout_constraintTop_toTopOf="parent"
tools:text="Data Type Title" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/value"
style="@style/PokerAnalyticsTheme.TextView.RowValue"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:gravity="end"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/check"
app:layout_constraintTop_toTopOf="parent"
tools:text="Value" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/check"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/ic_check_state"
android:tint="@color/green"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/guidelineEnd"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guidelineStart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_begin="16dp" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guidelineEnd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_end="16dp" />
</androidx.constraintlayout.widget.ConstraintLayout>
Loading…
Cancel
Save