revert stake to blind

feature/top10
Razmig Sarkissian 7 years ago
parent 2ae88a5491
commit bd187a49a4
  1. 32
      app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/BlindFilterInstrumentedTest.kt
  2. 19
      app/src/main/java/net/pokeranalytics/android/model/filter/QueryCondition.kt
  3. 8
      app/src/main/java/net/pokeranalytics/android/model/realm/FilterCondition.kt
  4. 2
      app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt
  5. 2
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterCategoryRow.kt
  6. 12
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterElementRow.kt
  7. 14
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterSectionRow.kt

@ -42,9 +42,9 @@ class BlindFilterInstrumentedTest : BaseFilterInstrumentedUnitTest() {
realm.commitTransaction() realm.commitTransaction()
val filter = QueryCondition.STAKE val filter = QueryCondition.BLIND
val blind = FilterElementRow.Stake(s1.stake!!) val blind = FilterElementRow.Blind(s1.stake!!)
blind.filterSectionRow = FilterSectionRow.STAKE blind.filterSectionRow = FilterSectionRow.BLIND
val filterElement = FilterCondition(filterElementRows = arrayListOf(blind)) val filterElement = FilterCondition(filterElementRows = arrayListOf(blind))
filter.updateValueMap(filterElement) filter.updateValueMap(filterElement)
@ -86,11 +86,11 @@ class BlindFilterInstrumentedTest : BaseFilterInstrumentedUnitTest() {
realm.commitTransaction() realm.commitTransaction()
val filter = QueryCondition.STAKE val filter = QueryCondition.BLIND
val blind1 = FilterElementRow.Stake(s1.stake!!) val blind1 = FilterElementRow.Blind(s1.stake!!)
val blind2 = FilterElementRow.Stake(s2.stake!!) val blind2 = FilterElementRow.Blind(s2.stake!!)
blind1.filterSectionRow = FilterSectionRow.STAKE blind1.filterSectionRow = FilterSectionRow.BLIND
blind2.filterSectionRow = FilterSectionRow.STAKE blind2.filterSectionRow = FilterSectionRow.BLIND
val filterElements = FilterCondition(filterElementRows = arrayListOf(blind1, blind2)) val filterElements = FilterCondition(filterElementRows = arrayListOf(blind1, blind2))
filter.updateValueMap(filterElements) filter.updateValueMap(filterElements)
@ -132,9 +132,9 @@ class BlindFilterInstrumentedTest : BaseFilterInstrumentedUnitTest() {
realm.commitTransaction() realm.commitTransaction()
val filter = QueryCondition.STAKE val filter = QueryCondition.BLIND
val blind = FilterElementRow.Stake(s3.stake!!, "$") val blind = FilterElementRow.Blind(s3.stake!!, "$")
blind.filterSectionRow = FilterSectionRow.STAKE blind.filterSectionRow = FilterSectionRow.BLIND
val filterElement = FilterCondition(filterElementRows = arrayListOf(blind)) val filterElement = FilterCondition(filterElementRows = arrayListOf(blind))
filter.updateValueMap(filterElement) filter.updateValueMap(filterElement)
@ -175,12 +175,12 @@ class BlindFilterInstrumentedTest : BaseFilterInstrumentedUnitTest() {
realm.commitTransaction() realm.commitTransaction()
val filter = QueryCondition.STAKE val filter = QueryCondition.BLIND
val blind1 = FilterElementRow.Stake(s1.stake!!) val blind1 = FilterElementRow.Blind(s1.stake!!)
blind1.filterSectionRow = FilterSectionRow.STAKE blind1.filterSectionRow = FilterSectionRow.BLIND
val blind2 = FilterElementRow.Stake(s2.stake!!) val blind2 = FilterElementRow.Blind(s2.stake!!)
blind2.filterSectionRow = FilterSectionRow.STAKE blind2.filterSectionRow = FilterSectionRow.BLIND
val filterElement = FilterCondition(filterElementRows = arrayListOf(blind1, blind2)) val filterElement = FilterCondition(filterElementRows = arrayListOf(blind1, blind2))
filter.updateValueMap(filterElement) filter.updateValueMap(filterElement)

@ -4,7 +4,6 @@ import io.realm.RealmQuery
import net.pokeranalytics.android.exceptions.PokerAnalyticsException import net.pokeranalytics.android.exceptions.PokerAnalyticsException
import net.pokeranalytics.android.model.realm.FilterCondition import net.pokeranalytics.android.model.realm.FilterCondition
import net.pokeranalytics.android.model.realm.Session import net.pokeranalytics.android.model.realm.Session
import net.pokeranalytics.android.util.Preferences
import net.pokeranalytics.android.util.extensions.endOfDay import net.pokeranalytics.android.util.extensions.endOfDay
import net.pokeranalytics.android.util.extensions.startOfDay import net.pokeranalytics.android.util.extensions.startOfDay
import java.util.* import java.util.*
@ -30,7 +29,7 @@ enum class QueryCondition(var operator: Operator? = null) {
LIMIT, LIMIT,
TABLE_SIZE, TABLE_SIZE,
TOURNAMENT_TYPE, TOURNAMENT_TYPE,
STAKE, BLIND,
LAST_GAMES, LAST_GAMES,
LAST_SESSIONS, LAST_SESSIONS,
MORE_NUMBER_OF_TABLE(Operator.MORE), MORE_NUMBER_OF_TABLE(Operator.MORE),
@ -112,7 +111,7 @@ enum class QueryCondition(var operator: Operator? = null) {
return when (this) { return when (this) {
BANKROLL, GAME, LOCATION, ANY_TOURNAMENT_FEATURES, ALL_TOURNAMENT_FEATURES, TOURNAMENT_NAME -> arrayOf("ids") BANKROLL, GAME, LOCATION, ANY_TOURNAMENT_FEATURES, ALL_TOURNAMENT_FEATURES, TOURNAMENT_NAME -> arrayOf("ids")
LIMIT, TOURNAMENT_TYPE, TABLE_SIZE -> arrayOf("values") LIMIT, TOURNAMENT_TYPE, TABLE_SIZE -> arrayOf("values")
STAKE -> arrayOf("stakes", "hasDefaultCurrency") BLIND -> arrayOf("blinds", "hasDefaultCurrency")
STARTED_FROM_DATE, STARTED_TO_DATE, ENDED_FROM_DATE, ENDED_TO_DATE -> arrayOf("date") STARTED_FROM_DATE, STARTED_TO_DATE, ENDED_FROM_DATE, ENDED_TO_DATE -> arrayOf("date")
DAY_OF_WEEK -> arrayOf("dayOfWeek") DAY_OF_WEEK -> arrayOf("dayOfWeek")
MONTH -> arrayOf("month") MONTH -> arrayOf("month")
@ -159,11 +158,11 @@ enum class QueryCondition(var operator: Operator? = null) {
val ids: Array<String> by valueMap val ids: Array<String> by valueMap
realmQuery.`in`(fieldName, ids) realmQuery.`in`(fieldName, ids)
} }
STAKE -> { BLIND -> {
val stakes: Array<String> by valueMap val blinds: Array<String> by valueMap
val hasDefaultCurrency: Array<Boolean> by valueMap val hasDefaultCurrency: Array<Boolean> by valueMap
//realmQuery.`in`(fieldName, stakes) //realmQuery.`in`(fieldName, blinds)
stakes.forEachIndexed { index, s -> blinds.forEachIndexed { index, s ->
val isUsingDefaultCurrency = hasDefaultCurrency[index] val isUsingDefaultCurrency = hasDefaultCurrency[index]
realmQuery.beginGroup() realmQuery.beginGroup()
if (isUsingDefaultCurrency) { if (isUsingDefaultCurrency) {
@ -174,7 +173,7 @@ enum class QueryCondition(var operator: Operator? = null) {
realmQuery.equalTo(fieldName, s) realmQuery.equalTo(fieldName, s)
} }
.endGroup() .endGroup()
if (index < stakes.size - 1) { if (index < blinds.size - 1) {
realmQuery.or() realmQuery.or()
} }
} }
@ -284,9 +283,9 @@ enum class QueryCondition(var operator: Operator? = null) {
LIMIT, TOURNAMENT_TYPE, TABLE_SIZE -> { LIMIT, TOURNAMENT_TYPE, TABLE_SIZE -> {
valueMap = mapOf("values" to filterCondition.values) valueMap = mapOf("values" to filterCondition.values)
} }
STAKE -> { BLIND -> {
valueMap = mapOf( valueMap = mapOf(
"stakes" to filterCondition.stakes, "blinds" to filterCondition.blinds,
"hasDefaultCurrency" to filterCondition.hasDefaultCurrency) "hasDefaultCurrency" to filterCondition.hasDefaultCurrency)
} }
STARTED_FROM_DATE, STARTED_TO_DATE, ENDED_FROM_DATE, ENDED_TO_DATE -> { STARTED_FROM_DATE, STARTED_TO_DATE, ENDED_FROM_DATE, ENDED_TO_DATE -> {

@ -23,16 +23,16 @@ open class FilterCondition() : RealmObject() {
is DateFilterElementRow -> { is DateFilterElementRow -> {
this.dateValue = row.dateValue this.dateValue = row.dateValue
} }
is Stake -> { is Blind -> {
//TODO refactor raz //TODO refactor raz
this.stringValues = RealmList<String>().apply { this.stringValues = RealmList<String>().apply {
this.addAll(filterElementRows.map { this.addAll(filterElementRows.map {
(it as Stake).stake (it as Blind).blind
}) })
} }
this.booleanValues = RealmList<Boolean>().apply { this.booleanValues = RealmList<Boolean>().apply {
this.addAll(filterElementRows.map { this.addAll(filterElementRows.map {
((it as Stake).currencySymbol == null) ((it as Blind).currencySymbol == null)
}) })
} }
} }
@ -70,7 +70,7 @@ open class FilterCondition() : RealmObject() {
val ids: Array<String> val ids: Array<String>
get() = stringValues?.toTypedArray() ?: throw PokerAnalyticsException.FilterElementExpectedValueMissing get() = stringValues?.toTypedArray() ?: throw PokerAnalyticsException.FilterElementExpectedValueMissing
val stakes: Array<String> val blinds: Array<String>
get() = stringValues?.toTypedArray() ?: throw PokerAnalyticsException.FilterElementExpectedValueMissing get() = stringValues?.toTypedArray() ?: throw PokerAnalyticsException.FilterElementExpectedValueMissing
val hasDefaultCurrency: Array<Boolean> val hasDefaultCurrency: Array<Boolean>

@ -79,7 +79,7 @@ open class Session : RealmObject(), Savable, Editable, StaticRowRepresentableDat
LIMIT -> "limit" LIMIT -> "limit"
TABLE_SIZE -> "tableSize" TABLE_SIZE -> "tableSize"
TOURNAMENT_TYPE -> "tournamentType" TOURNAMENT_TYPE -> "tournamentType"
STAKE -> "stake" BLIND -> "blind"
COMMENT -> "comment" COMMENT -> "comment"
BETWEEN_NUMBER_OF_TABLE, MORE_NUMBER_OF_TABLE, LESS_NUMBER_OF_TABLE -> "numberOfTable" BETWEEN_NUMBER_OF_TABLE, MORE_NUMBER_OF_TABLE, LESS_NUMBER_OF_TABLE -> "numberOfTable"
MORE_THAN_NET_RESULT, LESS_THAN_NET_RESULT -> "computableResults.ratedNet" MORE_THAN_NET_RESULT, LESS_THAN_NET_RESULT -> "computableResults.ratedNet"

@ -54,7 +54,7 @@ enum class FilterCategoryRow(override val resId: Int?, override val viewType: In
BANKROLL BANKROLL
) )
CASH -> arrayListOf( CASH -> arrayListOf(
STAKE, BLIND,
CASH_RE_BUY_COUNT CASH_RE_BUY_COUNT
) )
TOURNAMENT -> arrayListOf( TOURNAMENT -> arrayListOf(

@ -11,7 +11,6 @@ import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheet
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowRepresentableEditDescriptor import net.pokeranalytics.android.ui.view.RowRepresentableEditDescriptor
import net.pokeranalytics.android.ui.view.RowViewType import net.pokeranalytics.android.ui.view.RowViewType
import net.pokeranalytics.android.util.CurrencyUtils
import net.pokeranalytics.android.util.Preferences import net.pokeranalytics.android.util.Preferences
import java.text.DateFormatSymbols import java.text.DateFormatSymbols
import java.util.* import java.util.*
@ -103,7 +102,7 @@ sealed class FilterElementRow : RowRepresentable {
data class Month(val month: Int) : SingleValueFilterElementRow(month) data class Month(val month: Int) : SingleValueFilterElementRow(month)
data class Day(val day: Int) : SingleValueFilterElementRow(day) data class Day(val day: Int) : SingleValueFilterElementRow(day)
data class Stake(val stake : String, val currencySymbol:String? = null) : StringFilterElementRow(stake) data class Blind(val blind : String, val currencySymbol:String? = null) : StringFilterElementRow(blind)
//TODO: Refactor? //TODO: Refactor?
data class PastDays(var lastDays: Int = 0) : SingleValueFilterElementRow(lastDays) { data class PastDays(var lastDays: Int = 0) : SingleValueFilterElementRow(lastDays) {
@ -146,7 +145,7 @@ sealed class FilterElementRow : RowRepresentable {
return when (this) { return when (this) {
is Cash -> QueryCondition.CASH is Cash -> QueryCondition.CASH
is Tournament -> QueryCondition.TOURNAMENT is Tournament -> QueryCondition.TOURNAMENT
is Stake -> QueryCondition.STAKE is Blind -> QueryCondition.BLIND
is From -> QueryCondition.STARTED_FROM_DATE is From -> QueryCondition.STARTED_FROM_DATE
is To -> QueryCondition.ENDED_TO_DATE is To -> QueryCondition.ENDED_TO_DATE
is FromTime -> QueryCondition.STARTED_FROM_TIME is FromTime -> QueryCondition.STARTED_FROM_TIME
@ -305,12 +304,9 @@ sealed class FilterElementRow : RowRepresentable {
override fun localizedTitle(context: Context): String { override fun localizedTitle(context: Context): String {
return when (this) { return when (this) {
is Stake -> { is Blind -> {
currencySymbol?.let {
"$it $stake"
}
val currencySymbol = currencySymbol ?: Preferences.getDefaultCurrency(context).symbol val currencySymbol = currencySymbol ?: Preferences.getDefaultCurrency(context).symbol
"$currencySymbol $stake" "$currencySymbol $blind"
} }
is StaticDataFilterElementRow -> this.getDataLocalizedTitle(context) is StaticDataFilterElementRow -> this.getDataLocalizedTitle(context)
else -> super.localizedTitle(context) else -> super.localizedTitle(context)

@ -30,7 +30,7 @@ enum class FilterSectionRow(override val resId: Int?) : RowRepresentable {
SESSION_DURATION(net.pokeranalytics.android.R.string.session_duration), SESSION_DURATION(net.pokeranalytics.android.R.string.session_duration),
RANGE(net.pokeranalytics.android.R.string.hour_slot), RANGE(net.pokeranalytics.android.R.string.hour_slot),
SESSIONS(R.string.sessions), SESSIONS(R.string.sessions),
STAKE(net.pokeranalytics.android.R.string.stakes), BLIND(net.pokeranalytics.android.R.string.blinds),
CASH_RE_BUY_COUNT(net.pokeranalytics.android.R.string.rebuy_count), CASH_RE_BUY_COUNT(net.pokeranalytics.android.R.string.rebuy_count),
TOURNAMENT_TYPE(net.pokeranalytics.android.R.string.tournament_types), TOURNAMENT_TYPE(net.pokeranalytics.android.R.string.tournament_types),
TOURNAMENT_NAME(net.pokeranalytics.android.R.string.tournament_name), TOURNAMENT_NAME(net.pokeranalytics.android.R.string.tournament_name),
@ -160,17 +160,17 @@ enum class FilterSectionRow(override val resId: Int?) : RowRepresentable {
SESSIONS -> arrayListOf(LastGames(0), LastSessions(0)) SESSIONS -> arrayListOf(LastGames(0), LastSessions(0))
// Cash // Cash
STAKE -> { BLIND -> {
val stakes = arrayListOf<FilterElementRow.Stake>() val blinds = arrayListOf<Blind>()
val realm = Realm.getDefaultInstance() val realm = Realm.getDefaultInstance()
realm.where<Session>().distinct("stake", "bankroll.currency.code").findAll().sort("cgSmallBlind", Sort.ASCENDING).map { realm.where<Session>().distinct("blind", "bankroll.currency.code").findAll().sort("cgSmallBlind", Sort.ASCENDING).map {
it.stake?.let { stake -> it.stake?.let { stake ->
stakes.add(Stake(stake, it.currencySymbol)) blinds.add(Blind(stake, it.currencySymbol))
} }
} }
realm.close() realm.close()
stakes blinds
} }
CASH_RE_BUY_COUNT -> arrayListOf( CASH_RE_BUY_COUNT -> arrayListOf(
ReBuyMoreThan as FilterElementRow, ReBuyMoreThan as FilterElementRow,
ReBuyLessThan as FilterElementRow ReBuyLessThan as FilterElementRow

Loading…
Cancel
Save