From 369624bcfc5e5082be4f0b3c6dd7f6b94e4abdf2 Mon Sep 17 00:00:00 2001 From: Laurent Date: Fri, 31 May 2019 15:03:19 +0200 Subject: [PATCH] Patches transaction types name + refactoring --- .../android/PokerAnalyticsApplication.kt | 1 + .../android/model/migrations/Patcher.kt | 17 +++++++++++++---- .../android/model/realm/TransactionType.kt | 14 ++++++++++++-- .../pokeranalytics/android/model/utils/Seed.kt | 7 +------ 4 files changed, 27 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt b/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt index da13bd7e..031b6d0a 100644 --- a/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt +++ b/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt @@ -66,6 +66,7 @@ class PokerAnalyticsApplication : Application() { Patcher.patchBreaks() + Patcher.patchDefaultTransactionTypes(this.applicationContext) } /** diff --git a/app/src/main/java/net/pokeranalytics/android/model/migrations/Patcher.kt b/app/src/main/java/net/pokeranalytics/android/model/migrations/Patcher.kt index 7ebd0bce..563d0102 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/migrations/Patcher.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/migrations/Patcher.kt @@ -1,12 +1,10 @@ package net.pokeranalytics.android.model.migrations +import android.content.Context import io.realm.Realm import net.pokeranalytics.android.model.filter.Query import net.pokeranalytics.android.model.filter.QueryCondition -import net.pokeranalytics.android.model.realm.Filter -import net.pokeranalytics.android.model.realm.Result -import net.pokeranalytics.android.model.realm.Session -import net.pokeranalytics.android.model.realm.SessionSet +import net.pokeranalytics.android.model.realm.* class Patcher { @@ -34,6 +32,17 @@ class Patcher { } + fun patchDefaultTransactionTypes(context: Context) { + val realm = Realm.getDefaultInstance() + val tts = realm.where(TransactionType::class.java).findAll() + tts.forEach { tt -> + tt.kind?.let { kind -> + val value = TransactionType.Value.values()[kind] + tt.name = value.localizedTitle(context) + } + } + } + } diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/TransactionType.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/TransactionType.kt index 867ad493..6c038aa3 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/TransactionType.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/TransactionType.kt @@ -8,6 +8,7 @@ import net.pokeranalytics.android.R import net.pokeranalytics.android.model.interfaces.DeleteValidityStatus import net.pokeranalytics.android.model.interfaces.NameManageable import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource +import net.pokeranalytics.android.ui.view.Localizable import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentableEditDescriptor import net.pokeranalytics.android.ui.view.rowrepresentable.SimpleRow @@ -18,10 +19,19 @@ import kotlin.collections.ArrayList open class TransactionType : RealmObject(), NameManageable, StaticRowRepresentableDataSource, RowRepresentable { - enum class Value(val additive: Boolean) { + enum class Value(val additive: Boolean) : Localizable { WITHDRAWAL(false), DEPOSIT(true), - BONUS(true) + BONUS(true); + + override val resId: Int? + get() { + return when (this) { + WITHDRAWAL -> R.string.withdrawal + DEPOSIT -> R.string.deposit + BONUS -> R.string.bonus + } + } } companion object { diff --git a/app/src/main/java/net/pokeranalytics/android/model/utils/Seed.kt b/app/src/main/java/net/pokeranalytics/android/model/utils/Seed.kt index e49db637..bb2875a8 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/utils/Seed.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/utils/Seed.kt @@ -59,12 +59,7 @@ class Seed(var context:Context) : Realm.Transaction { private fun createDefaultTransactionTypes(realm: Realm) { TransactionType.Value.values().forEachIndexed { index, value -> val type = TransactionType() - val name = when(value) { - TransactionType.Value.WITHDRAWAL -> context.getString(R.string.withdrawal) - TransactionType.Value.DEPOSIT -> context.getString(R.string.deposit) - TransactionType.Value.BONUS -> context.getString(R.string.bonus) - } - type.name = name + type.name = value.localizedTitle(context) type.additive = value.additive type.kind = index type.lock = true