|
|
|
@ -29,6 +29,9 @@ class StatsFragment : SessionObserverFragment(), StaticRowRepresentableDataSourc |
|
|
|
get() = Dispatchers.Main |
|
|
|
get() = Dispatchers.Main |
|
|
|
|
|
|
|
|
|
|
|
private var rowRepresentables: ArrayList<RowRepresentable> = ArrayList() |
|
|
|
private var rowRepresentables: ArrayList<RowRepresentable> = ArrayList() |
|
|
|
|
|
|
|
private var stringAll = "" |
|
|
|
|
|
|
|
private var stringCashGame = "" |
|
|
|
|
|
|
|
private var stringTournament = "" |
|
|
|
|
|
|
|
|
|
|
|
private lateinit var statsAdapter: RowRepresentableAdapter |
|
|
|
private lateinit var statsAdapter: RowRepresentableAdapter |
|
|
|
|
|
|
|
|
|
|
|
@ -54,6 +57,8 @@ class StatsFragment : SessionObserverFragment(), StaticRowRepresentableDataSourc |
|
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { |
|
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { |
|
|
|
super.onViewCreated(view, savedInstanceState) |
|
|
|
super.onViewCreated(view, savedInstanceState) |
|
|
|
initData() |
|
|
|
initData() |
|
|
|
|
|
|
|
initUI() |
|
|
|
|
|
|
|
launchStatComputation() |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Row Representable DS |
|
|
|
// Row Representable DS |
|
|
|
@ -103,10 +108,28 @@ class StatsFragment : SessionObserverFragment(), StaticRowRepresentableDataSourc |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
private fun initData() { |
|
|
|
private fun initData() { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.stringAll = getString(R.string.all) |
|
|
|
|
|
|
|
this.stringCashGame = getString(R.string.cash_game) |
|
|
|
|
|
|
|
this.stringTournament = getString(R.string.tournament) |
|
|
|
|
|
|
|
|
|
|
|
this.statsAdapter = RowRepresentableAdapter(this) |
|
|
|
this.statsAdapter = RowRepresentableAdapter(this) |
|
|
|
this.launchStatComputation() |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* Init UI |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
private fun initUI() { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val viewManager = LinearLayoutManager(requireContext()) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
recyclerView.apply { |
|
|
|
|
|
|
|
setHasFixedSize(true) |
|
|
|
|
|
|
|
layoutManager = viewManager |
|
|
|
|
|
|
|
adapter = statsAdapter |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private fun launchStatComputation() { |
|
|
|
private fun launchStatComputation() { |
|
|
|
|
|
|
|
|
|
|
|
// Thread() { |
|
|
|
// Thread() { |
|
|
|
@ -144,7 +167,10 @@ class StatsFragment : SessionObserverFragment(), StaticRowRepresentableDataSourc |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
test.await() |
|
|
|
test.await() |
|
|
|
showResults(results) |
|
|
|
|
|
|
|
|
|
|
|
if (!isDetached) { |
|
|
|
|
|
|
|
showResults(results) |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
@ -175,13 +201,11 @@ 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), sessionsList, allStats) |
|
|
|
val allSessionGroup = SessionGroup(stringAll, 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(stringCashGame, 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(stringTournament, tSessions, tStats) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Timber.d(">>>>> Start computations...") |
|
|
|
Timber.d(">>>>> Start computations...") |
|
|
|
|
|
|
|
|
|
|
|
@ -190,16 +214,8 @@ class StatsFragment : SessionObserverFragment(), StaticRowRepresentableDataSourc |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private fun showResults(results: List<ComputedResults>) { |
|
|
|
private fun showResults(results: List<ComputedResults>) { |
|
|
|
|
|
|
|
|
|
|
|
this.rowRepresentables = this.convertResultsIntoRepresentables(results) |
|
|
|
this.rowRepresentables = this.convertResultsIntoRepresentables(results) |
|
|
|
|
|
|
|
statsAdapter.notifyDataSetChanged() |
|
|
|
val viewManager = LinearLayoutManager(requireContext()) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
recyclerView.apply { |
|
|
|
|
|
|
|
setHasFixedSize(true) |
|
|
|
|
|
|
|
layoutManager = viewManager |
|
|
|
|
|
|
|
adapter = statsAdapter |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private fun convertResultsIntoRepresentables(results: List<ComputedResults>) : ArrayList<RowRepresentable> { |
|
|
|
private fun convertResultsIntoRepresentables(results: List<ComputedResults>) : ArrayList<RowRepresentable> { |
|
|
|
|