From 734590e149238bf0364203fd34783e8c367ddae2 Mon Sep 17 00:00:00 2001 From: Laurent Date: Thu, 7 Mar 2019 15:57:35 +0100 Subject: [PATCH] Split fake sessions creation from real data --- .../android/PokerAnalyticsApplication.kt | 270 +++++++++--------- 1 file changed, 138 insertions(+), 132 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt b/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt index 54d41a10..9a35fb1d 100644 --- a/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt +++ b/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt @@ -16,7 +16,7 @@ import java.util.* class PokerAnalyticsApplication : Application() { - var sessions: RealmResults? = null + var sessions: RealmResults? = null // private val listener: OrderedRealmCollectionChangeListener> = // OrderedRealmCollectionChangeListener() { realmResults: RealmResults, changeSet: OrderedCollectionChangeSet -> @@ -32,162 +32,168 @@ class PokerAnalyticsApplication : Application() { // // } - override fun onCreate() { - super.onCreate() + override fun onCreate() { + super.onCreate() - // Realm - Realm.init(this) - val realmConfiguration = RealmConfiguration.Builder() - .name(Realm.DEFAULT_REALM_NAME) - .deleteRealmIfMigrationNeeded() - .build() - Realm.setDefaultConfiguration(realmConfiguration) + // Realm + Realm.init(this) + val realmConfiguration = RealmConfiguration.Builder() + .name(Realm.DEFAULT_REALM_NAME) + .deleteRealmIfMigrationNeeded() + .build() + Realm.setDefaultConfiguration(realmConfiguration) - val realm: Realm = Realm.getDefaultInstance() - // Add observer on session time frame changes - this.sessions = realm.where(Session::class.java).findAll() // monitor session deletions + val realm: Realm = Realm.getDefaultInstance() + // Add observer on session time frame changes + this.sessions = realm.where(Session::class.java).findAll() // monitor session deletions // this.sessions?.addChangeListener { _, changeSet -> - /* - val deletedSessions = - realm.where(Session::class.java).`in`("id", changeSet.deletions.toTypedArray()).findAll() - deletedSessions.forEach { it.cleanup() } - */ + /* + val deletedSessions = + realm.where(Session::class.java).`in`("id", changeSet.deletions.toTypedArray()).findAll() + deletedSessions.forEach { it.cleanup() } + */ // } - if (BuildConfig.DEBUG) { - // Logs - Timber.plant(PokerAnalyticsLogs()) - } else { - //Fabric.with(this, Crashlytics()) - } - - if (BuildConfig.DEBUG) { - createDefaultData() - } - - } - - /** - * Create default data - */ - private fun createDefaultData() { - - val realm = Realm.getDefaultInstance() - - // Games - val gamesName = resources.getStringArray(R.array.game_name) - val gamesShortName = resources.getStringArray(R.array.game_short_name) - if (realm.where().findAll().isEmpty()) { - realm.executeTransaction { - for ((index, name) in gamesName.withIndex()) { - val game = Game() - game.id = UUID.randomUUID().toString() - game.name = name - game.shortName = gamesShortName[index] - realm.copyToRealmOrUpdate(game) - } - } - } - - // Tournament types - val tournamentType = resources.getStringArray(R.array.tournament_type) - if (realm.where().findAll().isEmpty()) { - realm.executeTransaction { - for (type in tournamentType) { - val tournament = TournamentType() - tournament.id = UUID.randomUUID().toString() - tournament.name = type - realm.copyToRealmOrUpdate(tournament) - } - } - } - - // Currency - if (realm.where().findAll().isEmpty()) { - realm.executeTransaction { - val localeCurrency = java.util.Currency.getInstance(Locale.getDefault()) - val defaultCurrency = Currency() - defaultCurrency.code = localeCurrency.currencyCode - realm.copyToRealmOrUpdate(defaultCurrency) - } - } - - // Bankroll - if (realm.where().findAll().isEmpty()) { - realm.executeTransaction { - val localeCurrency = java.util.Currency.getInstance(Preferences.getCurrencyLocale(this)) - val bankroll = Bankroll() - bankroll.name = "Live" - bankroll.live = true - bankroll.currency = realm.where().equalTo("code", localeCurrency.currencyCode).findFirst() - realm.copyToRealmOrUpdate(bankroll) - } - } - - // Test sessions - if (BuildConfig.DEBUG) { - val sessions = realm.where().findAll() - if (sessions.size < 10) { - for (index in 0..50) { - - realm.executeTransaction { - val session = Session.newInstance(realm, false) + if (BuildConfig.DEBUG) { + // Logs + Timber.plant(PokerAnalyticsLogs()) + } else { + //Fabric.with(this, Crashlytics()) + } + + this.createDefaultData() + if (BuildConfig.DEBUG) { + this.createFakeSessions() // debug + } + + } + + /** + * Create default data + */ + private fun createDefaultData() { + + val realm = Realm.getDefaultInstance() + + // Games + val gamesName = resources.getStringArray(R.array.game_name) + val gamesShortName = resources.getStringArray(R.array.game_short_name) + if (realm.where().findAll().isEmpty()) { + realm.executeTransaction { + for ((index, name) in gamesName.withIndex()) { + val game = Game() + game.id = UUID.randomUUID().toString() + game.name = name + game.shortName = gamesShortName[index] + realm.copyToRealmOrUpdate(game) + } + } + } + + // Tournament types + val tournamentType = resources.getStringArray(R.array.tournament_type) + if (realm.where().findAll().isEmpty()) { + realm.executeTransaction { + for (type in tournamentType) { + val tournament = TournamentType() + tournament.id = UUID.randomUUID().toString() + tournament.name = type + realm.copyToRealmOrUpdate(tournament) + } + } + } + + // Currency + if (realm.where().findAll().isEmpty()) { + realm.executeTransaction { + val localeCurrency = java.util.Currency.getInstance(Locale.getDefault()) + val defaultCurrency = Currency() + defaultCurrency.code = localeCurrency.currencyCode + realm.copyToRealmOrUpdate(defaultCurrency) + } + } + + // Bankroll + if (realm.where().findAll().isEmpty()) { + realm.executeTransaction { + val localeCurrency = java.util.Currency.getInstance(Preferences.getCurrencyLocale(this)) + val bankroll = Bankroll() + bankroll.name = "Live" + bankroll.live = true + bankroll.currency = realm.where().equalTo("code", localeCurrency.currencyCode).findFirst() + realm.copyToRealmOrUpdate(bankroll) + } + } + + realm.close() + + } + + private fun createFakeSessions() { + + val realm = Realm.getDefaultInstance() + + // Test sessions + val sessions = realm.where().findAll() + if (sessions.size < 10) { + for (index in 0..50) { + + realm.executeTransaction { + val session = Session.newInstance(realm, false) // session.id = UUID.randomUUID().toString() - val calendar = Calendar.getInstance() - calendar.set( - (2017..2018).random(), - (0..11).random(), - (0..28).random(), - (0..23).random(), - (0..59).random() - ) + val calendar = Calendar.getInstance() + calendar.set( + (2017..2018).random(), + (0..11).random(), + (0..28).random(), + (0..23).random(), + (0..59).random() + ) - val startDate = calendar.time - calendar.add(Calendar.HOUR_OF_DAY, (2..12).random()) - calendar.add(Calendar.MINUTE, (0..59).random()) - val endDate = calendar.time + val startDate = calendar.time + calendar.add(Calendar.HOUR_OF_DAY, (2..12).random()) + calendar.add(Calendar.MINUTE, (0..59).random()) + val endDate = calendar.time // val timeFrame = TimeFrame() - session.timeFrame?.let { -// it.startDate = startDate + session.timeFrame?.let { + // it.startDate = startDate // it.endDate = endDate - it.setDate(startDate, endDate) - } + it.setDate(startDate, endDate) + } // session.timeFrame = timeFrame - session.creationDate = startDate + session.creationDate = startDate - session.limit = Limit.values().random().ordinal - session.game = realm.where().findAll().random() + session.limit = Limit.values().random().ordinal + session.game = realm.where().findAll().random() - session.result?.let { result -> - result.buyin = arrayListOf(100, 200, 300, 500, 1000, 2000).random().toDouble() - result.netResult = arrayListOf( - -2500.0, -2000.0, -1500.0, -1000.0, -500.0, 200.0, 1000.0, 1500.0, - 2500.0 - ).random() - } + session.result?.let { result -> + result.buyin = arrayListOf(100, 200, 300, 500, 1000, 2000).random().toDouble() + result.netResult = arrayListOf( + -2500.0, -2000.0, -1500.0, -1000.0, -500.0, 200.0, 1000.0, 1500.0, + 2500.0 + ).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}") // // sets.forEach { set -> // Timber.d("set sd = : ${set.timeFrame?.startDate}, ed = ${set.timeFrame?.endDate}") // } + realm.close() - - } + } } \ No newline at end of file