From 6aab1c3a3b9aa89d05c471cedcf4950afa24b5f7 Mon Sep 17 00:00:00 2001 From: Laurent Date: Wed, 17 Feb 2021 10:55:02 +0100 Subject: [PATCH] Adds QueryCondition name fine tuning --- .../android/model/filter/Query.kt | 2 +- .../android/model/filter/QueryCondition.kt | 54 +++++++++++-------- .../fragment/components/FilterableFragment.kt | 4 +- app/src/main/res/values-de/strings.xml | 3 +- app/src/main/res/values-es/strings.xml | 3 +- app/src/main/res/values-fr/strings.xml | 3 +- app/src/main/res/values-hi/strings.xml | 3 +- app/src/main/res/values-it/strings.xml | 3 +- app/src/main/res/values-ja/strings.xml | 3 +- app/src/main/res/values-pt/strings.xml | 3 +- app/src/main/res/values-ru/strings.xml | 3 +- app/src/main/res/values-zh/strings.xml | 3 +- app/src/main/res/values/strings.xml | 3 +- 13 files changed, 54 insertions(+), 36 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 c90b16c0..e4b3d6e3 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 @@ -55,7 +55,7 @@ class Query { fun getName(context: Context): String { return when (this._conditions.size) { 0 -> context.getString(R.string.all_sessions) // @todo should be dependant of the underlying type, ie. Session, Transaction... - else -> this._conditions.joinToString(" + ") { it.getDisplayName(context) } + else -> this._conditions.joinToString(" + ") { it.getDisplayNameWithValues(context) } } } 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 8ef852d4..2f32142d 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 @@ -140,6 +140,17 @@ sealed class QueryCondition : RowRepresentable { abstract var operator: Operator + override fun getDisplayName(context: Context): String { + this.resId?.let { + return context.getString(it) + } + return baseId + } + + open fun getDisplayNameWithValues(context: Context): String { + return getDisplayName(context) + } + abstract class ListOfValues : QueryCondition(), Comparable> where T : Comparable { abstract var listOfValues: MutableList @@ -149,6 +160,10 @@ sealed class QueryCondition : RowRepresentable { return getDisplayName(context) } + override fun getDisplayNameWithValues(context: Context): String { + return this.getDisplayName(context, this.listOfValues) + } + private fun getDisplayName(context: Context, values: List): String { val prefix = this.resId?.let { context.getString(it) + " " @@ -176,28 +191,37 @@ sealed class QueryCondition : RowRepresentable { } abstract class SingleValue(value: T) : QueryCondition() where T : Comparable { -// override var listOfValues = mutableListOf() + var singleValue: T = value abstract fun labelForValue(value: T, context: Context): String override fun getDisplayName(context: Context): String { - return getDisplayName(context, singleValue) + return this.resId?.let { + context.getString(it) + } ?: "" +// return getDisplayName(context, this.singleValue) } - fun getDisplayName(context: Context, value: T): String { + override fun getDisplayNameWithValues(context: Context): String { + return this.getDisplayName(context, this.singleValue) + } + + open fun getDisplayName(context: Context, value: T): String { val prefix = this.resId?.let { - context.getString(it, value.toString()) // + " " + context.getString(it) } ?: "" - return prefix // + labelForValue(value, context) + return prefix + labelForValue(value, context) } } abstract class ListOfDouble : ListOfValues() { + open var sign: Int = 1 override var operator: Operator = Operator.ANY override var listOfValues = mutableListOf() + override fun updateValueBy(filterCondition: FilterCondition) { super.updateValueBy(filterCondition) listOfValues = filterCondition.getValues() @@ -261,13 +285,6 @@ sealed class QueryCondition : RowRepresentable { } - override fun getDisplayName(context: Context): String { - this.resId?.let { - return context.getString(it) - } - return baseId - } - // override var filterSectionRow: FilterSectionRow = FilterSectionRow.CashOrTournament abstract class QueryDataCondition : ListOfString() { @@ -562,15 +579,9 @@ sealed class QueryCondition : RowRepresentable { override var operator = Operator.EQUALS override val viewType: Int = RowViewType.TITLE_VALUE_CHECK.ordinal -// override fun labelForValue(value: Int, context: Context): String { -// return value.toString() -// } - -// override fun entityName(context: Context): String { -// return this.resId?.let { -// " " + context.getString(it) -// } ?: "" -// } + override fun getDisplayNameWithValues(context: Context): String { + return context.getString(R.string.period_in_days_with_value, this.singleValue.toString()) + } } class Duration(value: Int) : SingleInt(value) { @@ -892,7 +903,6 @@ sealed class QueryCondition : RowRepresentable { } } - override val viewType: Int get() { return when (this) { diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/FilterableFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/FilterableFragment.kt index e3c000f7..81fab871 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/FilterableFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/FilterableFragment.kt @@ -133,9 +133,7 @@ open class FilterableFragment : RealmFragment(), viewGroup, false ) - layoutCurrentFilter.findViewById(R.id.filterName)?.text = filter.getDisplayName( - requireContext() - ) + layoutCurrentFilter.findViewById(R.id.filterName)?.text = filter.getDisplayName(requireContext()) layoutCurrentFilter.findViewById(R.id.deselectFilter).setOnClickListener { saveFilter(requireContext(), "") } diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index f5fac944..a24b9107 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -429,7 +429,8 @@ Pause Zahlung erfolgt Dauer - Vergangene %1$s Tagen + Vergangene Tagen + Vergangene %1$s Tagen ja nein Spieler diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 1819add4..078a686f 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -432,7 +432,8 @@ La aplicación funciona con una suscripción anual para uso ilimitado, pero obti Pausa Pago realizado Duración - Últimos %1$s días + Últimos días + Últimos %1$s días no Lugar diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index c071bff7..424fd59b 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -429,7 +429,8 @@ Pause Paiement effectué Durée - %1$s derniers jours + Jours précédents + %1$s derniers jours oui non Place diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index 79c35447..88c304b9 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -427,7 +427,8 @@ विश्राम भुगतान सफल अवधि - पिछले %1$s दिनों + पिछले दिनों + पिछले %1$s दिनों हाँ नहीं स्थान diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 46a759b8..d43d75dd 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -427,7 +427,8 @@ Pausa Pagamento effettuato Durata - Giorni %1$s passati + Giorni passati + Giorni %1$s passati no Luogo diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index b4ec9b89..d04f2e9e 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -431,7 +431,8 @@ ブレーク 支払い成功 期間 - 経過%1$s日数 + 経過日数 + 経過%1$s日数 はい いいえ プレース diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index dad3bf18..e21855fe 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -427,7 +427,8 @@ Intervalo Pagamento realizado com sucesso! Duração - Últimos %1$s dias + Últimos dias + Últimos %1$s dias sim não Lugar diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 8b7a310e..ff8eafde 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -430,7 +430,8 @@ Перерыв Платёж успешен Продолжительность - Прошедшие %1$s дни + Прошедшие дни + Прошедшие %1$s дни Да не Место diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 6902c706..0760568d 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -400,7 +400,8 @@ 休息 支付成功 时长 - 已过%1$s天数 + 已过天数 + 已过%1$s天数 玩家 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 859d3ea1..64656e8d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -424,7 +424,8 @@ Break Payment successful Duration - Past %1$s days + Past days + Past %1$s days yes no Place