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

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

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

@ -79,7 +79,7 @@ open class Session : RealmObject(), Savable, Editable, StaticRowRepresentableDat
LIMIT -> "limit"
TABLE_SIZE -> "tableSize"
TOURNAMENT_TYPE -> "tournamentType"
STAKE -> "stake"
BLIND -> "blind"
COMMENT -> "comment"
BETWEEN_NUMBER_OF_TABLE, MORE_NUMBER_OF_TABLE, LESS_NUMBER_OF_TABLE -> "numberOfTable"
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
)
CASH -> arrayListOf(
STAKE,
BLIND,
CASH_RE_BUY_COUNT
)
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.RowRepresentableEditDescriptor
import net.pokeranalytics.android.ui.view.RowViewType
import net.pokeranalytics.android.util.CurrencyUtils
import net.pokeranalytics.android.util.Preferences
import java.text.DateFormatSymbols
import java.util.*
@ -103,7 +102,7 @@ sealed class FilterElementRow : RowRepresentable {
data class Month(val month: Int) : SingleValueFilterElementRow(month)
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?
data class PastDays(var lastDays: Int = 0) : SingleValueFilterElementRow(lastDays) {
@ -146,7 +145,7 @@ sealed class FilterElementRow : RowRepresentable {
return when (this) {
is Cash -> QueryCondition.CASH
is Tournament -> QueryCondition.TOURNAMENT
is Stake -> QueryCondition.STAKE
is Blind -> QueryCondition.BLIND
is From -> QueryCondition.STARTED_FROM_DATE
is To -> QueryCondition.ENDED_TO_DATE
is FromTime -> QueryCondition.STARTED_FROM_TIME
@ -305,12 +304,9 @@ sealed class FilterElementRow : RowRepresentable {
override fun localizedTitle(context: Context): String {
return when (this) {
is Stake -> {
currencySymbol?.let {
"$it $stake"
}
is Blind -> {
val currencySymbol = currencySymbol ?: Preferences.getDefaultCurrency(context).symbol
"$currencySymbol $stake"
"$currencySymbol $blind"
}
is StaticDataFilterElementRow -> this.getDataLocalizedTitle(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),
RANGE(net.pokeranalytics.android.R.string.hour_slot),
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),
TOURNAMENT_TYPE(net.pokeranalytics.android.R.string.tournament_types),
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))
// Cash
STAKE -> {
val stakes = arrayListOf<FilterElementRow.Stake>()
BLIND -> {
val blinds = arrayListOf<Blind>()
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 ->
stakes.add(Stake(stake, it.currencySymbol))
blinds.add(Blind(stake, it.currencySymbol))
}
}
realm.close()
stakes
}
blinds
}
CASH_RE_BUY_COUNT -> arrayListOf(
ReBuyMoreThan as FilterElementRow,
ReBuyLessThan as FilterElementRow

Loading…
Cancel
Save