fix issue with filter UI for title check type

feature/top10
Razmig Sarkissian 7 years ago
parent 0ce48fc39f
commit 2cb317ece3
  1. 30
      app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt

@ -70,6 +70,11 @@ open class FilterDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresent
Timber.d("Row: $row")
if (row.viewType == RowViewType.TITLE_CHECK.ordinal) {
updateRowsSelection(row)
return
}
when (row) {
is QueryCondition.DateQuery -> DateTimePickerManager.create(requireContext(), row, this, row.singleValue, onlyDate = !row.showTime, onlyTime = row.showTime)
is QueryCondition.Duration -> {
@ -78,23 +83,11 @@ open class FilterDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresent
val data = row.editingDescriptors(mapOf("hours" to hours, "minutes" to minutes))
BottomSheetFragment.create(fragmentManager, row, this, data, true)
}
is QueryCondition.SingleInt -> {
val valueAsString = if (row.singleValue > 0) row.singleValue.toString() else ""
is QueryCondition.ListOfValues<*> -> {
val valueAsString = row.listOfValues.firstOrNull()?.toString() ?: ""
val data = row.editingDescriptors(mapOf("valueAsString" to valueAsString))
BottomSheetFragment.create(fragmentManager, row, this, data, true)
}
is QueryCondition.ListOfDouble -> {
val amount = if (row.listOfValues.first() > 0) row.listOfValues.first().toString() else ""
val data = row.editingDescriptors(mapOf("amount" to amount))
BottomSheetFragment.create(fragmentManager, row, this, data, true)
}
is QueryCondition.ListOfInt -> {
val amount = if (row.listOfValues.first() > 0) row.listOfValues.first().toString() else ""
val data = row.editingDescriptors(mapOf("amount" to amount))
BottomSheetFragment.create(fragmentManager, row, this, data, true)
}
else -> {
updateRowsSelection(row)
}
}
}
@ -103,12 +96,7 @@ open class FilterDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresent
return when (row) {
is QueryCondition.DateQuery -> if (row.showTime) row.singleValue.shortTime() else row.singleValue.shortDate()
is QueryCondition.Duration -> row.minutes.toMinutes(requireContext())
is QueryCondition.SingleInt -> if (row.singleValue > 0) row.singleValue.toString() else NULL_TEXT
is QueryCondition.ListOfDouble -> if (row.listOfValues.first() > 0) row.listOfValues.first().toString() else NULL_TEXT
is QueryCondition.ListOfInt -> {
println("<<<<< ${row.listOfValues}")
if (row.listOfValues.first() > 0) row.listOfValues.first().toString() else NULL_TEXT
}
is QueryCondition.ListOfValues<*> -> row.listOfValues.firstOrNull()?.toString() ?: NULL_TEXT
else -> super.stringForRow(row)
}
}

Loading…
Cancel
Save