|
|
|
@ -109,6 +109,26 @@ class StatsFragment : SessionObserverFragment(), StaticRowRepresentableDataSourc |
|
|
|
|
|
|
|
|
|
|
|
private fun launchStatComputation() { |
|
|
|
private fun launchStatComputation() { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Thread() { |
|
|
|
|
|
|
|
//// var results = listOf<ComputedResults>() |
|
|
|
|
|
|
|
// val s = Date() |
|
|
|
|
|
|
|
// Timber.d(">>> start...") |
|
|
|
|
|
|
|
// |
|
|
|
|
|
|
|
// val results = createSessionGroupsAndStartCompute() |
|
|
|
|
|
|
|
// |
|
|
|
|
|
|
|
// val e = Date() |
|
|
|
|
|
|
|
// val duration = (e.time - s.time) / 1000.0 |
|
|
|
|
|
|
|
// Timber.d(">>> ended in ${duration} seconds") |
|
|
|
|
|
|
|
// |
|
|
|
|
|
|
|
// |
|
|
|
|
|
|
|
// val mainHandler = Handler(Looper.getMainLooper()) |
|
|
|
|
|
|
|
// val runnable = Runnable { |
|
|
|
|
|
|
|
// showResults(results) |
|
|
|
|
|
|
|
// } |
|
|
|
|
|
|
|
// mainHandler.post(runnable) |
|
|
|
|
|
|
|
// |
|
|
|
|
|
|
|
// }.start() |
|
|
|
|
|
|
|
|
|
|
|
GlobalScope.launch(coroutineContext) { |
|
|
|
GlobalScope.launch(coroutineContext) { |
|
|
|
|
|
|
|
|
|
|
|
var results = listOf<ComputedResults>() |
|
|
|
var results = listOf<ComputedResults>() |
|
|
|
@ -129,16 +149,24 @@ class StatsFragment : SessionObserverFragment(), StaticRowRepresentableDataSourc |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
suspend private fun createSessionGroupsAndStartCompute() : List<ComputedResults> { |
|
|
|
private fun createSessionGroupsAndStartCompute() : List<ComputedResults> { |
|
|
|
|
|
|
|
|
|
|
|
val cgSessions = mutableListOf<Session>() |
|
|
|
val cgSessions = mutableListOf<Session>() |
|
|
|
val tSessions = mutableListOf<Session>() |
|
|
|
val tSessions = mutableListOf<Session>() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val s = Date() |
|
|
|
|
|
|
|
|
|
|
|
val realm = Realm.getDefaultInstance() |
|
|
|
val realm = Realm.getDefaultInstance() |
|
|
|
val allSessions = realm.where(Session::class.java).isNotNull("endDate").findAll() |
|
|
|
val allSessions = realm.where(Session::class.java).isNotNull("endDate").findAll() |
|
|
|
|
|
|
|
Timber.d(">>>>> number of sessions to compute = ${allSessions.size}") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val sessionsList = allSessions.toList() |
|
|
|
|
|
|
|
|
|
|
|
Timber.d(">>>>> number of sessions to compute = ${allSessions.size}") |
|
|
|
val e = Date() |
|
|
|
allSessions.forEach { session -> |
|
|
|
val duration = (e.time - s.time) / 1000.0 |
|
|
|
|
|
|
|
Timber.d(">>> filtering in ${duration} seconds") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sessionsList.forEach { session -> |
|
|
|
if (session.isCashGame()) { |
|
|
|
if (session.isCashGame()) { |
|
|
|
cgSessions.add(session) |
|
|
|
cgSessions.add(session) |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
@ -147,12 +175,14 @@ class StatsFragment : SessionObserverFragment(), StaticRowRepresentableDataSourc |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
val allStats: List<Stat> = listOf(Stat.NETRESULT, Stat.HOURLY_RATE, Stat.AVERAGE, Stat.NUMBER_OF_SETS, Stat.AVERAGE_DURATION, Stat.DURATION) |
|
|
|
val allStats: List<Stat> = listOf(Stat.NETRESULT, Stat.HOURLY_RATE, Stat.AVERAGE, Stat.NUMBER_OF_SETS, Stat.AVERAGE_DURATION, Stat.DURATION) |
|
|
|
val allSessionGroup = SessionGroup(getString(R.string.all), allSessions, allStats) |
|
|
|
val allSessionGroup = SessionGroup(getString(R.string.all), sessionsList, allStats) |
|
|
|
val cgStats: List<Stat> = listOf(Stat.NETRESULT, Stat.HOURLY_RATE, Stat.NET_BB_PER_100_HANDS, Stat.HOURLY_RATE_BB, Stat.AVERAGE, Stat.STANDARD_DEVIATION_HOURLY, Stat.WIN_RATIO, Stat.NUMBER_OF_GAMES, Stat.AVERAGE_BUYIN) |
|
|
|
val cgStats: List<Stat> = listOf(Stat.NETRESULT, Stat.HOURLY_RATE, Stat.NET_BB_PER_100_HANDS, Stat.HOURLY_RATE_BB, Stat.AVERAGE, Stat.STANDARD_DEVIATION_HOURLY, Stat.WIN_RATIO, Stat.NUMBER_OF_GAMES, Stat.AVERAGE_BUYIN) |
|
|
|
val cgSessionGroup = SessionGroup(getString(R.string.cash_game), cgSessions, cgStats) |
|
|
|
val cgSessionGroup = SessionGroup(getString(R.string.cash_game), cgSessions, cgStats) |
|
|
|
val tStats: List<Stat> = listOf(Stat.NETRESULT, Stat.HOURLY_RATE, Stat.ROI, Stat.WIN_RATIO, Stat.NUMBER_OF_GAMES, Stat.AVERAGE_BUYIN) |
|
|
|
val tStats: List<Stat> = listOf(Stat.NETRESULT, Stat.HOURLY_RATE, Stat.ROI, Stat.WIN_RATIO, Stat.NUMBER_OF_GAMES, Stat.AVERAGE_BUYIN) |
|
|
|
val tSessionGroup = SessionGroup(getString(R.string.tournament), tSessions, tStats) |
|
|
|
val tSessionGroup = SessionGroup(getString(R.string.tournament), tSessions, tStats) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Timber.d(">>>>> Start computations...") |
|
|
|
Timber.d(">>>>> Start computations...") |
|
|
|
|
|
|
|
|
|
|
|
return Calculator.computeGroups(listOf(allSessionGroup, cgSessionGroup, tSessionGroup), Calculator.Options()) |
|
|
|
return Calculator.computeGroups(listOf(allSessionGroup, cgSessionGroup, tSessionGroup), Calculator.Options()) |
|
|
|
|