Merge branch 'master' of gitlab.com:stax-river/poker-analytics

feature/top10
Razmig Sarkissian 7 years ago
commit 1381887dfd
  1. 46
      app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt

@ -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,8 +167,11 @@ class StatsFragment : SessionObserverFragment(), StaticRowRepresentableDataSourc
} }
test.await() test.await()
if (!isDetached) {
showResults(results) 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> {

Loading…
Cancel
Save