Start working on Time Frame filters

feature/top10
Aurelien Hubert 7 years ago
parent 05d55931cb
commit 33e5e63578
  1. 15
      app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt
  2. 5
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterCategoryRow.kt
  3. 16
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterElementRow.kt
  4. 6
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterSectionRow.kt

@ -18,6 +18,7 @@ import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetFragment
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowViewType import net.pokeranalytics.android.ui.view.RowViewType
import net.pokeranalytics.android.ui.view.rowrepresentable.FilterCategoryRow import net.pokeranalytics.android.ui.view.rowrepresentable.FilterCategoryRow
@ -60,6 +61,15 @@ open class FilterDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresenta
override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) { override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) {
super.onRowSelected(position, row, fromAction) super.onRowSelected(position, row, fromAction)
Timber.d("Row: $row")
when (row) {
is FilterElementRow.ResultMoreThan -> {
val data = row.editingDescriptors(mapOf("defaultValue" to ""))
BottomSheetFragment.create(fragmentManager, row, this, data, null)
}
else -> {
val oldRows = ArrayList<RowRepresentable>() val oldRows = ArrayList<RowRepresentable>()
oldRows.addAll(rows) oldRows.addAll(rows)
if (selectedRows.contains(row)) { if (selectedRows.contains(row)) {
@ -78,6 +88,10 @@ open class FilterDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresenta
selectedRows.add(row) selectedRows.add(row)
} }
} }
}
}
/* /*
Timber.d("Row: $row") Timber.d("Row: $row")
when (row) { when (row) {
@ -103,6 +117,7 @@ open class FilterDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresenta
override fun onRowValueChanged(value: Any?, row: RowRepresentable) { override fun onRowValueChanged(value: Any?, row: RowRepresentable) {
super.onRowValueChanged(value, row) super.onRowValueChanged(value, row)
Timber.d("onRowValueChanged: $row $value")
selectedRows.add(row as FilterElementRow) selectedRows.add(row as FilterElementRow)
rowRepresentableAdapter.refreshRow(row) rowRepresentableAdapter.refreshRow(row)
} }

@ -45,6 +45,10 @@ enum class FilterCategoryRow(override val resId: Int?, override val viewType: In
DAY_OF_WEEK, DAY_OF_WEEK,
MONTH_OF_YEAR MONTH_OF_YEAR
) )
TIME_FRAME -> arrayListOf(
SESSION_DURATION,
RANGE
)
BANKROLLS -> arrayListOf( BANKROLLS -> arrayListOf(
BANKROLL BANKROLL
) )
@ -74,7 +78,6 @@ enum class FilterCategoryRow(override val resId: Int?, override val viewType: In
VALUE VALUE
) )
TIME_FRAME -> arrayListOf()
SESSION -> arrayListOf() SESSION -> arrayListOf()
TRANSACTION_TYPES -> arrayListOf() TRANSACTION_TYPES -> arrayListOf()
} }

@ -138,13 +138,21 @@ sealed class FilterElementRow : RowRepresentable {
is Month -> R.string.month_of_the_year is Month -> R.string.month_of_the_year
is Day -> R.string.day_of_the_week is Day -> R.string.day_of_the_week
is PastDays -> R.string.period_in_days is PastDays -> R.string.period_in_days
is Blind -> TODO() is Blind -> R.string.blinds
is ResultMoreThan -> TODO() is ResultMoreThan -> R.string.more_than
is ResultLessThan -> TODO() is ResultLessThan -> R.string.less_than
else -> null else -> null
} }
} }
override val viewType: Int
get() {
return when (this) {
is ResultMoreThan -> RowViewType.TITLE_VALUE_CHECK.ordinal
else -> RowViewType.TITLE_CHECK.ordinal
}
}
override fun getDisplayName(): String { override fun getDisplayName(): String {
return when (this) { return when (this) {
is DataFilterElementRow -> this.name is DataFilterElementRow -> this.name
@ -160,8 +168,6 @@ sealed class FilterElementRow : RowRepresentable {
} }
} }
override val viewType: Int = RowViewType.TITLE_CHECK.ordinal
val sectionToExclude: List<FilterSectionRow>? val sectionToExclude: List<FilterSectionRow>?
get() { get() {
val excluded = arrayListOf<FilterSectionRow>() val excluded = arrayListOf<FilterSectionRow>()

@ -8,6 +8,7 @@ import net.pokeranalytics.android.model.realm.Session
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowViewType import net.pokeranalytics.android.ui.view.RowViewType
import net.pokeranalytics.android.ui.view.rowrepresentable.FilterElementRow.* import net.pokeranalytics.android.ui.view.rowrepresentable.FilterElementRow.*
import java.util.*
enum class FilterSectionRow(override val resId: Int?) : RowRepresentable { enum class FilterSectionRow(override val resId: Int?) : RowRepresentable {
CASH_TOURNAMENT(net.pokeranalytics.android.R.string.cash_or_tournament), CASH_TOURNAMENT(net.pokeranalytics.android.R.string.cash_or_tournament),
@ -125,9 +126,8 @@ enum class FilterSectionRow(override val resId: Int?) : RowRepresentable {
MULTI_PLAYER -> arrayListOf() MULTI_PLAYER -> arrayListOf()
RANGE -> arrayListOf() SESSION_DURATION -> arrayListOf(ResultMoreThan(0.0), ResultLessThan(0.0))
RANGE -> arrayListOf(From(Date()), To(Date()))
SESSION_DURATION -> arrayListOf()
VALUE -> arrayListOf() VALUE -> arrayListOf()

Loading…
Cancel
Save