From 03b4401368c02a481d29e83a75624cd8c90e6743 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Thu, 14 Mar 2019 18:00:35 +0100 Subject: [PATCH] Add Transaction in LiveData --- .../pokeranalytics/android/model/LiveData.kt | 29 +++++++++++-------- app/src/main/res/layout/row_transaction.xml | 12 ++++++++ 2 files changed, 29 insertions(+), 12 deletions(-) create mode 100644 app/src/main/res/layout/row_transaction.xml diff --git a/app/src/main/java/net/pokeranalytics/android/model/LiveData.kt b/app/src/main/java/net/pokeranalytics/android/model/LiveData.kt index 11c2c6a7..c89da1bc 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/LiveData.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/LiveData.kt @@ -9,10 +9,8 @@ import io.realm.kotlin.where import net.pokeranalytics.android.R import net.pokeranalytics.android.model.interfaces.CountableUsage import net.pokeranalytics.android.model.interfaces.Manageable -import net.pokeranalytics.android.model.interfaces.Timed import net.pokeranalytics.android.model.realm.* import net.pokeranalytics.android.ui.view.Localizable -import timber.log.Timber /** * An enum managing the business objects related to a realm results @@ -23,6 +21,7 @@ enum class LiveData : Localizable { LOCATION, TOURNAMENT_NAME, TOURNAMENT_FEATURE, + TRANSACTION, TRANSACTION_TYPE; fun items(realm: Realm, fieldName: String? = null, sortOrder: Sort? = null): RealmResults<*> { @@ -76,9 +75,21 @@ enum class LiveData : Localizable { return results } - private var sortingFieldName: String = "name" - private var sorting: Sort = Sort.ASCENDING + private val sortingFieldName: String + get() { + return when (this) { + TRANSACTION -> "date" + else -> "name" + } + } + private val sorting: Sort + get() { + return when (this) { + TRANSACTION -> Sort.DESCENDING + else -> Sort.ASCENDING + } + } private val relatedEntity: Class get() { @@ -88,6 +99,7 @@ enum class LiveData : Localizable { LOCATION -> Location::class.java TOURNAMENT_NAME -> TournamentName::class.java TOURNAMENT_FEATURE -> TournamentFeature::class.java + TRANSACTION -> Transaction::class.java TRANSACTION_TYPE -> TransactionType::class.java } } @@ -128,6 +140,7 @@ enum class LiveData : Localizable { LOCATION -> R.string.location TOURNAMENT_NAME -> R.string.tournament_name TOURNAMENT_FEATURE -> R.string.tournament_feature + TRANSACTION -> R.string.operations TRANSACTION_TYPE -> R.string.operation_types } } @@ -135,13 +148,5 @@ enum class LiveData : Localizable { fun newEntityLocalizedTitle(context: Context): String { return "${context.getString(R.string.new_entity)} ${this.localizedTitle(context)}" } -} -/* -interface ListableDataSource { - fun items(realm: Realm, fieldName: String? = null, sortOrder: Sort? = null): RealmResults<*> - var sortingFieldName: String - var sorting: Sort - var relatedEntity: Class < out RealmObject > } -*/ \ No newline at end of file diff --git a/app/src/main/res/layout/row_transaction.xml b/app/src/main/res/layout/row_transaction.xml new file mode 100644 index 00000000..3da4fb88 --- /dev/null +++ b/app/src/main/res/layout/row_transaction.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file