Fixes crash where deposits transaction type does not exists

od
Laurent 6 years ago
parent 2dd87b1484
commit 7fc35cae72
  1. 24
      app/src/main/java/net/pokeranalytics/android/model/migrations/Patcher.kt
  2. 1
      app/src/main/java/net/pokeranalytics/android/model/realm/TransactionType.kt

@ -14,6 +14,8 @@ class Patcher {
fun patchAll(context: Context) {
patchMissingTransactionTypes(context)
Preferences.executeOnce(Preferences.Keys.PATCH_BREAK, context) {
patchBreaks()
}
@ -39,6 +41,28 @@ class Patcher {
realm.close()
}
private fun patchMissingTransactionTypes(context: Context) {
val realm = Realm.getDefaultInstance()
val depositType = TransactionType.Value.DEPOSIT
val deposit = realm.where(TransactionType::class.java).equalTo("kind", depositType.uniqueIdentifier).findFirst()
if (deposit == null) {
realm.executeTransaction {
Seed.createDefaultTransactionTypes(arrayOf(depositType), context, realm)
}
}
val withdrawalType = TransactionType.Value.WITHDRAWAL
val withdrawal = realm.where(TransactionType::class.java).equalTo("kind", withdrawalType.uniqueIdentifier).findFirst()
if (withdrawal == null) {
realm.executeTransaction {
Seed.createDefaultTransactionTypes(arrayOf(withdrawalType), context, realm)
}
}
realm.close()
}
private fun patchBreaks() {
val realm = Realm.getDefaultInstance()

@ -1,6 +1,7 @@
package net.pokeranalytics.android.model.realm
import android.content.Context
import com.crashlytics.android.Crashlytics
import io.realm.Realm
import io.realm.RealmModel
import io.realm.RealmObject

Loading…
Cancel
Save