From df3ac66b1f2c62a10ca7d94eac0ca5da7844fba9 Mon Sep 17 00:00:00 2001 From: Razmig Sarkissian Date: Thu, 16 May 2019 14:41:18 +0200 Subject: [PATCH] merge conflict fix --- .../android/model/filter/Query.kt | 2 + .../android/model/filter/QueryCondition.kt | 95 +++++++++++-------- .../rowrepresentable/FilterCategoryRow.kt | 4 +- .../view/rowrepresentable/FilterSectionRow.kt | 2 +- .../util/extensions/NumbersExtension.kt | 4 +- 5 files changed, 63 insertions(+), 44 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/model/filter/Query.kt b/app/src/main/java/net/pokeranalytics/android/model/filter/Query.kt index f4e0106e..6f5baf3c 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/filter/Query.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/filter/Query.kt @@ -1,7 +1,9 @@ package net.pokeranalytics.android.model.filter +import android.content.Context import io.realm.RealmQuery import io.realm.kotlin.where +import net.pokeranalytics.android.R fun List.mapFirstCondition() : List { return this.map { it.conditions.first() } diff --git a/app/src/main/java/net/pokeranalytics/android/model/filter/QueryCondition.kt b/app/src/main/java/net/pokeranalytics/android/model/filter/QueryCondition.kt index 5db0d3ad..7a4e5961 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/filter/QueryCondition.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/filter/QueryCondition.kt @@ -80,9 +80,7 @@ sealed class QueryCondition : FilterElementRow { MORE, LESS, EQUALS, - BETWEEN, - BETWEEN_RIGHT_EXCLUSIVE, - BETWEEN_LEFT_EXCLUSIVE, + TRUE, ; } @@ -111,7 +109,7 @@ sealed class QueryCondition : FilterElementRow { } } - open var operator: Operator = Operator.ANY + abstract var operator: Operator abstract class ListOfValues: QueryCondition(), Comparable> where T:Comparable { @@ -138,29 +136,37 @@ sealed class QueryCondition : FilterElementRow { abstract class ListOfDouble: ListOfValues() { open var sign: Int = 1 - + override var operator: Operator = Operator.ANY override var listOfValues = arrayListOf(0.0) override fun updateValueBy(filterCondition: FilterCondition) { super.updateValueBy(filterCondition) listOfValues = filterCondition.getValues() } override fun labelForValue(value: Double, context: Context): String { - return value.toCurrency(UserDefaults.currency) + val prefix = this.resId?.let { + context.getString(it)+" " + } ?: "" + return prefix+value.toCurrency(UserDefaults.currency) } } abstract class ListOfInt: ListOfValues() { + override var operator: Operator = Operator.ANY override var listOfValues = arrayListOf(0) override fun updateValueBy(filterCondition: FilterCondition) { super.updateValueBy(filterCondition) listOfValues = filterCondition.getValues() } override fun labelForValue(value: Int, context: Context): String { - return value.toString() + val prefix = this.resId?.let { + context.getString(it)+" " + } ?: "" + return prefix+value.toString() } } abstract class ListOfString: ListOfValues() { + override var operator: Operator = Operator.ANY override var listOfValues = ArrayList() override fun labelForValue(value: String, context: Context): String { return value } override fun updateValueBy(filterCondition: FilterCondition) { @@ -171,8 +177,12 @@ sealed class QueryCondition : FilterElementRow { abstract class SingleDate: SingleValue() { override fun labelForValue(value: Date, context: Context): String { - return value.toString() + val prefix = this.resId?.let { + context.getString(it)+" " + } ?: "" + return prefix+value.toString() } + override var listOfValues = ArrayList() override var singleValue: Date @@ -190,8 +200,12 @@ sealed class QueryCondition : FilterElementRow { abstract class SingleInt: SingleValue() { override fun labelForValue(value: Int, context: Context): String { - return value.toString() + val prefix = this.resId?.let { + context.getString(it)+" " + } ?: "" + return prefix+value.toString() } + override var singleValue: Int get() { return listOfValues.firstOrNull() ?: 0 } set(value) { @@ -205,7 +219,12 @@ sealed class QueryCondition : FilterElementRow { } } - override fun getDisplayName(context: Context): String { return baseId } + override fun getDisplayName(context: Context): String { + this.resId?.let { + return context.getString(it) + } + return baseId + } override var filterSectionRow: FilterSectionRow = FilterSectionRow.CASH_TOURNAMENT @@ -250,21 +269,17 @@ sealed class QueryCondition : FilterElementRow { override val showTime: Boolean = true } - object IsLive : QueryCondition() { - override fun getDisplayName(context: Context): String { return "Live" } + abstract class TrueQueryCondition: QueryCondition() { + override var operator: Operator = Operator.TRUE } - object IsCash : QueryCondition() { - override fun getDisplayName(context: Context): String { return "Cash" } - } + object IsLive : TrueQueryCondition() - object IsOnline : QueryCondition() { - override fun getDisplayName(context: Context): String { return "Online" } - } + object IsCash : TrueQueryCondition() - object IsTournament : QueryCondition() { - override fun getDisplayName(context: Context): String { return "Tournament" } - } + object IsOnline : TrueQueryCondition() + + object IsTournament : TrueQueryCondition() class AnyBankroll(): QueryDataCondition() { override var entity: Class = Bankroll::class.java @@ -336,8 +351,12 @@ sealed class QueryCondition : FilterElementRow { class AnyBlind: ListOfString() - class LastGame: SingleInt() - class LastSession: SingleInt() + object Last: SingleInt() { + override var operator = Operator.EQUALS + override fun getDisplayName(context: Context): String { + return "${context.getString(R.string.last_i_records)} $singleValue" + } + } class NumberOfTable: ListOfInt() @@ -356,6 +375,7 @@ sealed class QueryCondition : FilterElementRow { } open class NetAmount: ListOfDouble() + class NetAmountWon: NetAmount() class NetAmountLost: NetAmount() { override var sign: Int = -1 } @@ -392,26 +412,31 @@ sealed class QueryCondition : FilterElementRow { } } - object IsWeekDay: QueryCondition() - object IsWeekEnd: QueryCondition() - object IsToday: QueryCondition() - object WasYesterday: QueryCondition() - object WasTodayAndYesterday: QueryCondition() - object DuringThisWeek: QueryCondition() - object DuringThisMonth: QueryCondition() - object DuringThisYear: QueryCondition() + object IsWeekDay: TrueQueryCondition() + object IsWeekEnd: TrueQueryCondition() + object IsToday: TrueQueryCondition() + object WasYesterday: TrueQueryCondition() + object WasTodayAndYesterday: TrueQueryCondition() + object DuringThisWeek: TrueQueryCondition() + object DuringThisMonth: TrueQueryCondition() + object DuringThisYear: TrueQueryCondition() class TournamentFee: ListOfDouble() { override fun labelForValue(value: Double, context: Context): String { - return value.toCurrency(UserDefaults.currency) + val prefix = this.resId?.let { + context.getString(it)+" " + } ?: "" + return prefix+value.toCurrency(UserDefaults.currency) } } class PastDay: SingleInt() { + override var operator = Operator.EQUALS override val viewType: Int = RowViewType.TITLE_VALUE_CHECK.ordinal } class Duration: SingleInt() { + override var operator = Operator.EQUALS var minutes:Int get() { return singleValue } set(value) { listOfValues = arrayListOf(value) } @@ -591,8 +616,6 @@ sealed class QueryCondition : FilterElementRow { get() { return when (this) { is PastDay -> RowViewType.TITLE_VALUE_CHECK.ordinal - is LastGame -> RowViewType.TITLE_VALUE_CHECK.ordinal - is LastSession -> RowViewType.TITLE_VALUE_CHECK.ordinal else -> { when (this.operator) { Operator.MORE -> RowViewType.TITLE_VALUE_CHECK.ordinal @@ -607,8 +630,6 @@ sealed class QueryCondition : FilterElementRow { get() { return when (this) { is PastDay -> BottomSheetType.EDIT_TEXT - is LastGame -> BottomSheetType.EDIT_TEXT - is LastSession -> BottomSheetType.EDIT_TEXT else -> { when (this.operator) { Operator.MORE -> BottomSheetType.EDIT_TEXT @@ -637,8 +658,6 @@ sealed class QueryCondition : FilterElementRow { is IsWeekDay -> R.string.week_days is IsWeekEnd -> R.string.weekend is PastDay -> R.string.period_in_days - is LastGame -> R.string.last_records - is LastSession -> R.string.last_sessions is NetAmountWon -> { when (this.operator) { Operator.MORE -> R.string.won_amount_more_than diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterCategoryRow.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterCategoryRow.kt index cca2e114..72cc0391 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterCategoryRow.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterCategoryRow.kt @@ -16,7 +16,7 @@ enum class FilterCategoryRow(override val resId: Int?, override val viewType: In GENERAL(R.string.general), DATE(R.string.date), TIME_FRAME(R.string.duration), - SESSIONS(R.string.sessions), + //SESSIONS(R.string.sessions), CASH(R.string.cash), TOURNAMENT(R.string.tournament), ONLINE(R.string.online), @@ -92,7 +92,7 @@ enum class FilterCategoryRow(override val resId: Int?, override val viewType: In SESSION_DURATION, TIME_FRAME_RANGE ) - SESSIONS -> arrayListOf(FilterSectionRow.SESSIONS) + //SESSIONS -> arrayListOf(FilterSectionRow.SESSIONS) BANKROLLS -> arrayListOf( BANKROLL ) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterSectionRow.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterSectionRow.kt index 4895ef45..06e24bd3 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterSectionRow.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterSectionRow.kt @@ -87,7 +87,7 @@ enum class FilterSectionRow(override val resId: Int?) : RowRepresentable { TIME_FRAME_RANGE -> arrayListOf(QueryCondition.StartedFromTime(), QueryCondition.EndedToTime()) // Sessions - SESSIONS -> arrayListOf(QueryCondition.LastGame(), QueryCondition.LastSession()) + //SESSIONS -> arrayListOf(QueryCondition.LastGame(), QueryCondition.LastSession()) // Cash BLIND -> Criteria.Blinds.queryConditions.mapFirstCondition() diff --git a/app/src/main/java/net/pokeranalytics/android/util/extensions/NumbersExtension.kt b/app/src/main/java/net/pokeranalytics/android/util/extensions/NumbersExtension.kt index 1313248c..39a3f043 100644 --- a/app/src/main/java/net/pokeranalytics/android/util/extensions/NumbersExtension.kt +++ b/app/src/main/java/net/pokeranalytics/android/util/extensions/NumbersExtension.kt @@ -38,9 +38,7 @@ fun Double.round(): String { } fun Double.roundOffDecimal(): Double { - val df = DecimalFormat("#.##") - df.roundingMode = RoundingMode.CEILING - return df.format(this).toDouble() + return this.toBigDecimal().setScale(2, RoundingMode.CEILING).toDouble() } fun Double.formatted(): String {