Split fake sessions creation from real data

feature/top10
Laurent 7 years ago
parent 9805e3ca97
commit 734590e149
  1. 270
      app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt

@ -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()
}
}
} }
Loading…
Cancel
Save