|
|
|
@ -6,6 +6,7 @@ import net.pokeranalytics.android.model.filter.Query |
|
|
|
import net.pokeranalytics.android.model.filter.QueryCondition |
|
|
|
import net.pokeranalytics.android.model.filter.QueryCondition |
|
|
|
import net.pokeranalytics.android.model.realm.* |
|
|
|
import net.pokeranalytics.android.model.realm.* |
|
|
|
import net.pokeranalytics.android.model.utils.Seed |
|
|
|
import net.pokeranalytics.android.model.utils.Seed |
|
|
|
|
|
|
|
import net.pokeranalytics.android.model.utils.SessionSetManager |
|
|
|
import net.pokeranalytics.android.util.Preferences |
|
|
|
import net.pokeranalytics.android.util.Preferences |
|
|
|
|
|
|
|
|
|
|
|
class Patcher { |
|
|
|
class Patcher { |
|
|
|
@ -13,25 +14,32 @@ class Patcher { |
|
|
|
companion object { |
|
|
|
companion object { |
|
|
|
|
|
|
|
|
|
|
|
fun patchAll(context: Context) { |
|
|
|
fun patchAll(context: Context) { |
|
|
|
|
|
|
|
|
|
|
|
patchMissingTransactionTypes(context) |
|
|
|
patchMissingTransactionTypes(context) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Preferences.executeOnce(Preferences.Keys.PATCH_SESSION_SETS, context) { |
|
|
|
|
|
|
|
patchSessionSet() |
|
|
|
|
|
|
|
} |
|
|
|
Preferences.executeOnce(Preferences.Keys.PATCH_BREAK, context) { |
|
|
|
Preferences.executeOnce(Preferences.Keys.PATCH_BREAK, context) { |
|
|
|
patchBreaks() |
|
|
|
patchBreaks() |
|
|
|
} |
|
|
|
} |
|
|
|
Preferences.executeOnce(Preferences.Keys.PATCH_TRANSACTION_TYPES_NAMES, context) { |
|
|
|
Preferences.executeOnce(Preferences.Keys.PATCH_TRANSACTION_TYPES_NAMES, context) { |
|
|
|
patchDefaultTransactionTypes(context) |
|
|
|
patchDefaultTransactionTypes(context) |
|
|
|
} |
|
|
|
} |
|
|
|
Preferences.executeOnce(Preferences.Keys.PATCH_BLINDS_FORMAT, context) { |
|
|
|
Preferences.executeOnce(Preferences.Keys.PATCH_BLINDS_FORMAT, context) { |
|
|
|
patchBlindFormat() |
|
|
|
patchBlindFormat() |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
val realm = Realm.getDefaultInstance() |
|
|
|
val realm = Realm.getDefaultInstance() |
|
|
|
|
|
|
|
|
|
|
|
val lockedTypes = realm.where(TransactionType::class.java).equalTo("lock", true).findAll() |
|
|
|
val lockedTypes = |
|
|
|
|
|
|
|
realm.where(TransactionType::class.java).equalTo("lock", true).findAll() |
|
|
|
if (lockedTypes.size == 3) { |
|
|
|
if (lockedTypes.size == 3) { |
|
|
|
Preferences.executeOnce(Preferences.Keys.ADD_NEW_TRANSACTION_TYPES, context) { |
|
|
|
Preferences.executeOnce(Preferences.Keys.ADD_NEW_TRANSACTION_TYPES, context) { |
|
|
|
val newTypes = arrayOf(TransactionType.Value.STACKING_INCOMING, TransactionType.Value.STACKING_OUTGOING) |
|
|
|
val newTypes = arrayOf( |
|
|
|
|
|
|
|
TransactionType.Value.STACKING_INCOMING, |
|
|
|
|
|
|
|
TransactionType.Value.STACKING_OUTGOING |
|
|
|
|
|
|
|
) |
|
|
|
realm.executeTransaction { |
|
|
|
realm.executeTransaction { |
|
|
|
Seed.createDefaultTransactionTypes(newTypes, context, realm) |
|
|
|
Seed.createDefaultTransactionTypes(newTypes, context, realm) |
|
|
|
} |
|
|
|
} |
|
|
|
@ -45,7 +53,8 @@ class Patcher { |
|
|
|
val realm = Realm.getDefaultInstance() |
|
|
|
val realm = Realm.getDefaultInstance() |
|
|
|
|
|
|
|
|
|
|
|
val depositType = TransactionType.Value.DEPOSIT |
|
|
|
val depositType = TransactionType.Value.DEPOSIT |
|
|
|
val deposit = realm.where(TransactionType::class.java).equalTo("kind", depositType.uniqueIdentifier).findFirst() |
|
|
|
val deposit = realm.where(TransactionType::class.java) |
|
|
|
|
|
|
|
.equalTo("kind", depositType.uniqueIdentifier).findFirst() |
|
|
|
if (deposit == null) { |
|
|
|
if (deposit == null) { |
|
|
|
realm.executeTransaction { |
|
|
|
realm.executeTransaction { |
|
|
|
Seed.createDefaultTransactionTypes(arrayOf(depositType), context, realm) |
|
|
|
Seed.createDefaultTransactionTypes(arrayOf(depositType), context, realm) |
|
|
|
@ -53,7 +62,8 @@ class Patcher { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
val withdrawalType = TransactionType.Value.WITHDRAWAL |
|
|
|
val withdrawalType = TransactionType.Value.WITHDRAWAL |
|
|
|
val withdrawal = realm.where(TransactionType::class.java).equalTo("kind", withdrawalType.uniqueIdentifier).findFirst() |
|
|
|
val withdrawal = realm.where(TransactionType::class.java) |
|
|
|
|
|
|
|
.equalTo("kind", withdrawalType.uniqueIdentifier).findFirst() |
|
|
|
if (withdrawal == null) { |
|
|
|
if (withdrawal == null) { |
|
|
|
realm.executeTransaction { |
|
|
|
realm.executeTransaction { |
|
|
|
Seed.createDefaultTransactionTypes(arrayOf(withdrawalType), context, realm) |
|
|
|
Seed.createDefaultTransactionTypes(arrayOf(withdrawalType), context, realm) |
|
|
|
@ -68,18 +78,18 @@ class Patcher { |
|
|
|
val realm = Realm.getDefaultInstance() |
|
|
|
val realm = Realm.getDefaultInstance() |
|
|
|
val sets = realm.where(SessionSet::class.java).findAll() |
|
|
|
val sets = realm.where(SessionSet::class.java).findAll() |
|
|
|
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.executeTransaction { |
|
|
|
sets.forEach { |
|
|
|
sets.forEach { |
|
|
|
it.computeStats() |
|
|
|
it.computeStats() |
|
|
|
} |
|
|
|
} |
|
|
|
sessions.forEach { |
|
|
|
sessions.forEach { |
|
|
|
it.formatBlinds() |
|
|
|
it.formatBlinds() |
|
|
|
} |
|
|
|
} |
|
|
|
results.forEach { |
|
|
|
results.forEach { |
|
|
|
it.computeNumberOfRebuy() |
|
|
|
it.computeNumberOfRebuy() |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
realm.close() |
|
|
|
realm.close() |
|
|
|
@ -100,16 +110,33 @@ class Patcher { |
|
|
|
realm.close() |
|
|
|
realm.close() |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private fun patchBlindFormat() { |
|
|
|
private fun patchBlindFormat() { |
|
|
|
val realm = Realm.getDefaultInstance() |
|
|
|
val realm = Realm.getDefaultInstance() |
|
|
|
realm.executeTransaction { |
|
|
|
realm.executeTransaction { |
|
|
|
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() |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
realm.close() |
|
|
|
realm.close() |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
|
|
|
02/09/19: A bug with the session set management made them kept instead of deleted, |
|
|
|
|
|
|
|
thus making duration calculation wrong |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
private fun patchSessionSet() { |
|
|
|
|
|
|
|
val realm = Realm.getDefaultInstance() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
realm.executeTransaction { |
|
|
|
|
|
|
|
realm.where(SessionSet::class.java).findAll().deleteAllFromRealm() |
|
|
|
|
|
|
|
val sessions = realm.where(Session::class.java).findAll() |
|
|
|
|
|
|
|
sessions.forEach { session -> |
|
|
|
|
|
|
|
SessionSetManager.updateTimeline(session) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
realm.close() |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|