Upgrades realm plugin

blinds
Laurent 5 years ago
parent 157ebe0c38
commit 90adf28752
  1. 1
      app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt
  2. 44
      app/src/main/java/net/pokeranalytics/android/model/migrations/Patcher.kt
  3. 3
      app/src/main/java/net/pokeranalytics/android/model/utils/FavoriteSessionFinder.kt
  4. 8
      app/src/main/java/net/pokeranalytics/android/util/Preferences.kt
  5. 2
      build.gradle

@ -48,6 +48,7 @@ class PokerAnalyticsApplication : Application() {
val realmConfiguration = RealmConfiguration.Builder() val realmConfiguration = RealmConfiguration.Builder()
.name(Realm.DEFAULT_REALM_NAME) .name(Realm.DEFAULT_REALM_NAME)
.schemaVersion(11) .schemaVersion(11)
.allowWritesOnUiThread(true)
.migration(PokerAnalyticsMigration()) .migration(PokerAnalyticsMigration())
.initialData(Seed(this)) .initialData(Seed(this))
.build() .build()

@ -33,23 +33,27 @@ class Patcher {
patchBlindFormat() patchBlindFormat()
} }
val realm = Realm.getDefaultInstance() Preferences.executeOnce(Preferences.Keys.ADD_NEW_TRANSACTION_TYPES, context) {
val lockedTypes = val realm = Realm.getDefaultInstance()
realm.where(TransactionType::class.java).equalTo("lock", true).findAll()
if (lockedTypes.size == 3) { val lockedTypes =
Preferences.executeOnce(Preferences.Keys.ADD_NEW_TRANSACTION_TYPES, context) { realm.where(TransactionType::class.java).equalTo("lock", true).findAll()
val newTypes = arrayOf( if (lockedTypes.size == 3) {
TransactionType.Value.STACKING_INCOMING, Preferences.executeOnce(Preferences.Keys.ADD_NEW_TRANSACTION_TYPES, context) {
TransactionType.Value.STACKING_OUTGOING val newTypes = arrayOf(
) TransactionType.Value.STACKING_INCOMING,
realm.executeTransaction { TransactionType.Value.STACKING_OUTGOING
Seed.createDefaultTransactionTypes(newTypes, context, realm) )
realm.executeTransactionAsync {
Seed.createDefaultTransactionTypes(newTypes, context, realm)
}
} }
} }
realm.close()
} }
realm.close()
} }
private fun patchMissingTransactionTypes(context: Context) { private fun patchMissingTransactionTypes(context: Context) {
@ -59,7 +63,7 @@ class Patcher {
val deposit = realm.where(TransactionType::class.java) val deposit = realm.where(TransactionType::class.java)
.equalTo("kind", depositType.uniqueIdentifier).findFirst() .equalTo("kind", depositType.uniqueIdentifier).findFirst()
if (deposit == null) { if (deposit == null) {
realm.executeTransaction { realm.executeTransactionAsync {
Seed.createDefaultTransactionTypes(arrayOf(depositType), context, realm) Seed.createDefaultTransactionTypes(arrayOf(depositType), context, realm)
} }
} }
@ -68,7 +72,7 @@ class Patcher {
val withdrawal = realm.where(TransactionType::class.java) val withdrawal = realm.where(TransactionType::class.java)
.equalTo("kind", withdrawalType.uniqueIdentifier).findFirst() .equalTo("kind", withdrawalType.uniqueIdentifier).findFirst()
if (withdrawal == null) { if (withdrawal == null) {
realm.executeTransaction { realm.executeTransactionAsync {
Seed.createDefaultTransactionTypes(arrayOf(withdrawalType), context, realm) Seed.createDefaultTransactionTypes(arrayOf(withdrawalType), context, realm)
} }
} }
@ -83,7 +87,7 @@ class Patcher {
val sessions = Filter.queryOn<Session>(realm, Query(QueryCondition.IsCash)) val sessions = Filter.queryOn<Session>(realm, Query(QueryCondition.IsCash))
val results = realm.where(Result::class.java).findAll() val results = realm.where(Result::class.java).findAll()
realm.executeTransaction { realm.executeTransactionAsync {
sets.forEach { sets.forEach {
it.computeStats() it.computeStats()
} }
@ -101,7 +105,7 @@ class Patcher {
private fun patchDefaultTransactionTypes(context: Context) { private fun patchDefaultTransactionTypes(context: Context) {
val realm = Realm.getDefaultInstance() val realm = Realm.getDefaultInstance()
realm.executeTransaction { realm.executeTransactionAsync {
val tts = realm.where(TransactionType::class.java).findAll() val tts = realm.where(TransactionType::class.java).findAll()
tts.forEach { tt -> tts.forEach { tt ->
tt.kind?.let { kind -> tt.kind?.let { kind ->
@ -115,7 +119,7 @@ class Patcher {
private fun patchBlindFormat() { private fun patchBlindFormat() {
val realm = Realm.getDefaultInstance() val realm = Realm.getDefaultInstance()
realm.executeTransaction { realm.executeTransactionAsync {
val sessions = realm.where(Session::class.java).findAll() val sessions = realm.where(Session::class.java).findAll()
sessions.forEach { session -> sessions.forEach { session ->
session.formatBlinds() session.formatBlinds()
@ -131,7 +135,7 @@ class Patcher {
private fun patchSessionSet() { private fun patchSessionSet() {
val realm = Realm.getDefaultInstance() val realm = Realm.getDefaultInstance()
realm.executeTransaction { realm.executeTransactionAsync {
realm.where(SessionSet::class.java).findAll().deleteAllFromRealm() realm.where(SessionSet::class.java).findAll().deleteAllFromRealm()
val sessions = realm.where(Session::class.java).isNotNull("startDate").isNotNull("endDate").findAll() val sessions = realm.where(Session::class.java).isNotNull("startDate").isNotNull("endDate").findAll()
sessions.forEach { session -> sessions.forEach { session ->
@ -148,7 +152,7 @@ class Patcher {
*/ */
private fun patchComputableResults() { private fun patchComputableResults() {
val realm = Realm.getDefaultInstance() val realm = Realm.getDefaultInstance()
realm.executeTransaction { realm.executeTransactionAsync {
val crs = realm.where(ComputableResult::class.java).findAll() val crs = realm.where(ComputableResult::class.java).findAll()
crs.forEach { cr -> crs.forEach { cr ->
cr.session?.let { cr.updateWith(it) } cr.session?.let { cr.updateWith(it) }

@ -75,8 +75,7 @@ class FavoriteSessionFinder {
*/ */
fun copyParametersFromFavoriteSession(session: Session, location: Location?, context: Context) { fun copyParametersFromFavoriteSession(session: Session, location: Location?, context: Context) {
val favoriteSession = val favoriteSession = favoriteSession(session.type, location, session.realm, context)
favoriteSession(session.type, location, session.realm, context)
favoriteSession?.let { fav -> favoriteSession?.let { fav ->

@ -225,6 +225,14 @@ class Preferences {
} }
} }
// fun executeOnceInThread(key: Keys, context: Context, executable: () -> Unit) {
//
// if (!getBoolean(key, context)) {
// Thread { executable.invoke() }
// setBoolean(key, true, context)
// }
// }
fun setResultCaptureType(bankroll: Bankroll, type: ResultCaptureType, context: Context) { fun setResultCaptureType(bankroll: Bankroll, type: ResultCaptureType, context: Context) {
val key = "${Keys.BANKROLL_RESULT_CAPTURE_TYPE}${bankroll.id}" val key = "${Keys.BANKROLL_RESULT_CAPTURE_TYPE}${bankroll.id}"
val preferences = PreferenceManager.getDefaultSharedPreferences(context) val preferences = PreferenceManager.getDefaultSharedPreferences(context)

@ -7,7 +7,7 @@ buildscript {
jcenter() jcenter()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:4.1.1' classpath 'com.android.tools.build:gradle:4.1.3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'io.realm:realm-gradle-plugin:10.3.1' classpath 'io.realm:realm-gradle-plugin:10.3.1'

Loading…
Cancel
Save