|
|
|
@ -16,7 +16,7 @@ import java.util.* |
|
|
|
|
|
|
|
|
|
|
|
class PokerAnalyticsApplication : Application() { |
|
|
|
class PokerAnalyticsApplication : Application() { |
|
|
|
|
|
|
|
|
|
|
|
var sessions: RealmResults<Session>? = null |
|
|
|
var sessions: RealmResults<Session>? = null |
|
|
|
|
|
|
|
|
|
|
|
// private val listener: OrderedRealmCollectionChangeListener<RealmResults<Session>> = |
|
|
|
// private val listener: OrderedRealmCollectionChangeListener<RealmResults<Session>> = |
|
|
|
// OrderedRealmCollectionChangeListener() { realmResults: RealmResults<Session>, changeSet: OrderedCollectionChangeSet -> |
|
|
|
// OrderedRealmCollectionChangeListener() { realmResults: RealmResults<Session>, changeSet: OrderedCollectionChangeSet -> |
|
|
|
@ -32,162 +32,168 @@ class PokerAnalyticsApplication : Application() { |
|
|
|
// |
|
|
|
// |
|
|
|
// } |
|
|
|
// } |
|
|
|
|
|
|
|
|
|
|
|
override fun onCreate() { |
|
|
|
override fun onCreate() { |
|
|
|
super.onCreate() |
|
|
|
super.onCreate() |
|
|
|
|
|
|
|
|
|
|
|
// Realm |
|
|
|
// Realm |
|
|
|
Realm.init(this) |
|
|
|
Realm.init(this) |
|
|
|
val realmConfiguration = RealmConfiguration.Builder() |
|
|
|
val realmConfiguration = RealmConfiguration.Builder() |
|
|
|
.name(Realm.DEFAULT_REALM_NAME) |
|
|
|
.name(Realm.DEFAULT_REALM_NAME) |
|
|
|
.deleteRealmIfMigrationNeeded() |
|
|
|
.deleteRealmIfMigrationNeeded() |
|
|
|
.build() |
|
|
|
.build() |
|
|
|
Realm.setDefaultConfiguration(realmConfiguration) |
|
|
|
Realm.setDefaultConfiguration(realmConfiguration) |
|
|
|
|
|
|
|
|
|
|
|
val realm: Realm = Realm.getDefaultInstance() |
|
|
|
val realm: Realm = Realm.getDefaultInstance() |
|
|
|
// Add observer on session time frame changes |
|
|
|
// Add observer on session time frame changes |
|
|
|
this.sessions = realm.where(Session::class.java).findAll() // monitor session deletions |
|
|
|
this.sessions = realm.where(Session::class.java).findAll() // monitor session deletions |
|
|
|
// this.sessions?.addChangeListener { _, changeSet -> |
|
|
|
// this.sessions?.addChangeListener { _, changeSet -> |
|
|
|
/* |
|
|
|
/* |
|
|
|
val deletedSessions = |
|
|
|
val deletedSessions = |
|
|
|
realm.where(Session::class.java).`in`("id", changeSet.deletions.toTypedArray()).findAll() |
|
|
|
realm.where(Session::class.java).`in`("id", changeSet.deletions.toTypedArray()).findAll() |
|
|
|
deletedSessions.forEach { it.cleanup() } |
|
|
|
deletedSessions.forEach { it.cleanup() } |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
// } |
|
|
|
// } |
|
|
|
|
|
|
|
|
|
|
|
if (BuildConfig.DEBUG) { |
|
|
|
if (BuildConfig.DEBUG) { |
|
|
|
// Logs |
|
|
|
// Logs |
|
|
|
Timber.plant(PokerAnalyticsLogs()) |
|
|
|
Timber.plant(PokerAnalyticsLogs()) |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
//Fabric.with(this, Crashlytics()) |
|
|
|
//Fabric.with(this, Crashlytics()) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (BuildConfig.DEBUG) { |
|
|
|
this.createDefaultData() |
|
|
|
createDefaultData() |
|
|
|
if (BuildConfig.DEBUG) { |
|
|
|
} |
|
|
|
this.createFakeSessions() // debug |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
/** |
|
|
|
|
|
|
|
* Create default data |
|
|
|
/** |
|
|
|
*/ |
|
|
|
* Create default data |
|
|
|
private fun createDefaultData() { |
|
|
|
*/ |
|
|
|
|
|
|
|
private fun createDefaultData() { |
|
|
|
val realm = Realm.getDefaultInstance() |
|
|
|
|
|
|
|
|
|
|
|
val realm = Realm.getDefaultInstance() |
|
|
|
// Games |
|
|
|
|
|
|
|
val gamesName = resources.getStringArray(R.array.game_name) |
|
|
|
// Games |
|
|
|
val gamesShortName = resources.getStringArray(R.array.game_short_name) |
|
|
|
val gamesName = resources.getStringArray(R.array.game_name) |
|
|
|
if (realm.where<Game>().findAll().isEmpty()) { |
|
|
|
val gamesShortName = resources.getStringArray(R.array.game_short_name) |
|
|
|
realm.executeTransaction { |
|
|
|
if (realm.where<Game>().findAll().isEmpty()) { |
|
|
|
for ((index, name) in gamesName.withIndex()) { |
|
|
|
realm.executeTransaction { |
|
|
|
val game = Game() |
|
|
|
for ((index, name) in gamesName.withIndex()) { |
|
|
|
game.id = UUID.randomUUID().toString() |
|
|
|
val game = Game() |
|
|
|
game.name = name |
|
|
|
game.id = UUID.randomUUID().toString() |
|
|
|
game.shortName = gamesShortName[index] |
|
|
|
game.name = name |
|
|
|
realm.copyToRealmOrUpdate(game) |
|
|
|
game.shortName = gamesShortName[index] |
|
|
|
} |
|
|
|
realm.copyToRealmOrUpdate(game) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
// Tournament types |
|
|
|
|
|
|
|
val tournamentType = resources.getStringArray(R.array.tournament_type) |
|
|
|
// Tournament types |
|
|
|
if (realm.where<TournamentType>().findAll().isEmpty()) { |
|
|
|
val tournamentType = resources.getStringArray(R.array.tournament_type) |
|
|
|
realm.executeTransaction { |
|
|
|
if (realm.where<TournamentType>().findAll().isEmpty()) { |
|
|
|
for (type in tournamentType) { |
|
|
|
realm.executeTransaction { |
|
|
|
val tournament = TournamentType() |
|
|
|
for (type in tournamentType) { |
|
|
|
tournament.id = UUID.randomUUID().toString() |
|
|
|
val tournament = TournamentType() |
|
|
|
tournament.name = type |
|
|
|
tournament.id = UUID.randomUUID().toString() |
|
|
|
realm.copyToRealmOrUpdate(tournament) |
|
|
|
tournament.name = type |
|
|
|
} |
|
|
|
realm.copyToRealmOrUpdate(tournament) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
// Currency |
|
|
|
|
|
|
|
if (realm.where<Currency>().findAll().isEmpty()) { |
|
|
|
// Currency |
|
|
|
realm.executeTransaction { |
|
|
|
if (realm.where<Currency>().findAll().isEmpty()) { |
|
|
|
val localeCurrency = java.util.Currency.getInstance(Locale.getDefault()) |
|
|
|
realm.executeTransaction { |
|
|
|
val defaultCurrency = Currency() |
|
|
|
val localeCurrency = java.util.Currency.getInstance(Locale.getDefault()) |
|
|
|
defaultCurrency.code = localeCurrency.currencyCode |
|
|
|
val defaultCurrency = Currency() |
|
|
|
realm.copyToRealmOrUpdate(defaultCurrency) |
|
|
|
defaultCurrency.code = localeCurrency.currencyCode |
|
|
|
} |
|
|
|
realm.copyToRealmOrUpdate(defaultCurrency) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
// Bankroll |
|
|
|
|
|
|
|
if (realm.where<Bankroll>().findAll().isEmpty()) { |
|
|
|
// Bankroll |
|
|
|
realm.executeTransaction { |
|
|
|
if (realm.where<Bankroll>().findAll().isEmpty()) { |
|
|
|
val localeCurrency = java.util.Currency.getInstance(Preferences.getCurrencyLocale(this)) |
|
|
|
realm.executeTransaction { |
|
|
|
val bankroll = Bankroll() |
|
|
|
val localeCurrency = java.util.Currency.getInstance(Preferences.getCurrencyLocale(this)) |
|
|
|
bankroll.name = "Live" |
|
|
|
val bankroll = Bankroll() |
|
|
|
bankroll.live = true |
|
|
|
bankroll.name = "Live" |
|
|
|
bankroll.currency = realm.where<Currency>().equalTo("code", localeCurrency.currencyCode).findFirst() |
|
|
|
bankroll.live = true |
|
|
|
realm.copyToRealmOrUpdate(bankroll) |
|
|
|
bankroll.currency = realm.where<Currency>().equalTo("code", localeCurrency.currencyCode).findFirst() |
|
|
|
} |
|
|
|
realm.copyToRealmOrUpdate(bankroll) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
// Test sessions |
|
|
|
|
|
|
|
if (BuildConfig.DEBUG) { |
|
|
|
realm.close() |
|
|
|
val sessions = realm.where<Session>().findAll() |
|
|
|
|
|
|
|
if (sessions.size < 10) { |
|
|
|
} |
|
|
|
for (index in 0..50) { |
|
|
|
|
|
|
|
|
|
|
|
private fun createFakeSessions() { |
|
|
|
realm.executeTransaction { |
|
|
|
|
|
|
|
val session = Session.newInstance(realm, false) |
|
|
|
val realm = Realm.getDefaultInstance() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Test sessions |
|
|
|
|
|
|
|
val sessions = realm.where<Session>().findAll() |
|
|
|
|
|
|
|
if (sessions.size < 10) { |
|
|
|
|
|
|
|
for (index in 0..50) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
realm.executeTransaction { |
|
|
|
|
|
|
|
val session = Session.newInstance(realm, false) |
|
|
|
// session.id = UUID.randomUUID().toString() |
|
|
|
// session.id = UUID.randomUUID().toString() |
|
|
|
|
|
|
|
|
|
|
|
val calendar = Calendar.getInstance() |
|
|
|
val calendar = Calendar.getInstance() |
|
|
|
calendar.set( |
|
|
|
calendar.set( |
|
|
|
(2017..2018).random(), |
|
|
|
(2017..2018).random(), |
|
|
|
(0..11).random(), |
|
|
|
(0..11).random(), |
|
|
|
(0..28).random(), |
|
|
|
(0..28).random(), |
|
|
|
(0..23).random(), |
|
|
|
(0..23).random(), |
|
|
|
(0..59).random() |
|
|
|
(0..59).random() |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
val startDate = calendar.time |
|
|
|
val startDate = calendar.time |
|
|
|
calendar.add(Calendar.HOUR_OF_DAY, (2..12).random()) |
|
|
|
calendar.add(Calendar.HOUR_OF_DAY, (2..12).random()) |
|
|
|
calendar.add(Calendar.MINUTE, (0..59).random()) |
|
|
|
calendar.add(Calendar.MINUTE, (0..59).random()) |
|
|
|
val endDate = calendar.time |
|
|
|
val endDate = calendar.time |
|
|
|
|
|
|
|
|
|
|
|
// val timeFrame = TimeFrame() |
|
|
|
// val timeFrame = TimeFrame() |
|
|
|
|
|
|
|
|
|
|
|
session.timeFrame?.let { |
|
|
|
session.timeFrame?.let { |
|
|
|
// it.startDate = startDate |
|
|
|
// it.startDate = startDate |
|
|
|
// it.endDate = endDate |
|
|
|
// it.endDate = endDate |
|
|
|
it.setDate(startDate, endDate) |
|
|
|
it.setDate(startDate, endDate) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// session.timeFrame = timeFrame |
|
|
|
// session.timeFrame = timeFrame |
|
|
|
session.creationDate = startDate |
|
|
|
session.creationDate = startDate |
|
|
|
|
|
|
|
|
|
|
|
session.limit = Limit.values().random().ordinal |
|
|
|
session.limit = Limit.values().random().ordinal |
|
|
|
session.game = realm.where<Game>().findAll().random() |
|
|
|
session.game = realm.where<Game>().findAll().random() |
|
|
|
|
|
|
|
|
|
|
|
session.result?.let { result -> |
|
|
|
session.result?.let { result -> |
|
|
|
result.buyin = arrayListOf(100, 200, 300, 500, 1000, 2000).random().toDouble() |
|
|
|
result.buyin = arrayListOf(100, 200, 300, 500, 1000, 2000).random().toDouble() |
|
|
|
result.netResult = arrayListOf( |
|
|
|
result.netResult = arrayListOf( |
|
|
|
-2500.0, -2000.0, -1500.0, -1000.0, -500.0, 200.0, 1000.0, 1500.0, |
|
|
|
-2500.0, -2000.0, -1500.0, -1000.0, -500.0, 200.0, 1000.0, 1500.0, |
|
|
|
2500.0 |
|
|
|
2500.0 |
|
|
|
).random() |
|
|
|
).random() |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
realm.copyToRealmOrUpdate(session) |
|
|
|
realm.copyToRealmOrUpdate(session) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
realm.close() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val sets = realm.where(SessionSet::class.java).findAll() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// val sets = realm.where(SessionSet::class.java).findAll() |
|
|
|
|
|
|
|
// |
|
|
|
// Timber.d("sets = ${sets.size}") |
|
|
|
// Timber.d("sets = ${sets.size}") |
|
|
|
// |
|
|
|
// |
|
|
|
// sets.forEach { set -> |
|
|
|
// sets.forEach { set -> |
|
|
|
// Timber.d("set sd = : ${set.timeFrame?.startDate}, ed = ${set.timeFrame?.endDate}") |
|
|
|
// Timber.d("set sd = : ${set.timeFrame?.startDate}, ed = ${set.timeFrame?.endDate}") |
|
|
|
// } |
|
|
|
// } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
realm.close() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |