Update on stat fragment

feature/top10
Laurent 7 years ago
parent 7fd812c25e
commit b92ded3634
  1. 9
      app/src/main/java/net/pokeranalytics/android/ui/datasource/StatsDataSource.kt
  2. 49
      app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt

@ -9,13 +9,14 @@ class StatsDataSource(results: List<ComputedResults>) : RowRepresentableDataSour
var results: List<ComputedResults> = results
override fun adapterRows(): ArrayList<RowRepresentable> {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
return ArrayList<RowRepresentable>()
}
override fun numberOfRows(): Int {
return this.results.fold(0) { acc, computedResults ->
return acc + computedResults.numberOfStats()
}
return 0
// return this.results.fold(0) { acc, computedResults ->
// return acc + computedResults.numberOfStats()
// }
}
}

@ -5,23 +5,20 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.LinearLayoutManager
import kotlinx.android.synthetic.main.fragment_settings.*
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import io.realm.Realm
import kotlinx.android.synthetic.main.fragment_stats.*
import kotlinx.coroutines.runBlocking
import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.Calculator
import net.pokeranalytics.android.calculus.ComputedResults
import net.pokeranalytics.android.calculus.SessionGroup
import net.pokeranalytics.android.calculus.Stat
import net.pokeranalytics.android.model.extensions.SessionType
import net.pokeranalytics.android.model.realm.Session
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDataSource
import net.pokeranalytics.android.ui.datasource.StatsDataSource
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import net.pokeranalytics.android.ui.view.RowRepresentable
class StatsFragment : PokerAnalyticsFragment(), RowRepresentableDataSource {
class StatsFragment : PokerAnalyticsFragment() {
companion object {
@ -39,11 +36,8 @@ class StatsFragment : PokerAnalyticsFragment(), RowRepresentableDataSource {
private lateinit var statsAdapterRow: RowRepresentableAdapter
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment_stats, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
@ -51,38 +45,21 @@ class StatsFragment : PokerAnalyticsFragment(), RowRepresentableDataSource {
initData()
}
override fun adapterRows(): ArrayList<RowRepresentable> {
val rows = ArrayList<RowRepresentable>()
rows.addAll(Stat.values())
return rows
}
/**
* Init data
*/
private fun initData() {
val viewManager = LinearLayoutManager(requireContext())
this.statsAdapterRow = RowRepresentableAdapter(
this
)
recyclerView.apply {
setHasFixedSize(true)
layoutManager = viewManager
adapter = statsAdapterRow
}
// this.launchStatComputation()
this.launchStatComputation()
}
private fun launchStatComputation() {
var results = listOf<ComputedResults>()
GlobalScope.launch {
runBlocking {
val allSessions = getRealm().where(Session::class.java).findAll()
val realm = Realm.getDefaultInstance()
val allSessions = realm.where(Session::class.java).findAll()
val cgSessions = mutableListOf<Session>()
val tSessions = mutableListOf<Session>()
@ -101,6 +78,16 @@ class StatsFragment : PokerAnalyticsFragment(), RowRepresentableDataSource {
results = Calculator.computeGroups(listOf(allSessionGroup, cgSessionGroup, tSessionGroup), Calculator.Options())
}
this.statsAdapterRow = RowRepresentableAdapter(StatsDataSource(results))
val viewManager = LinearLayoutManager(requireContext())
recyclerView.apply {
setHasFixedSize(true)
layoutManager = viewManager
adapter = statsAdapterRow
}
}
}
Loading…
Cancel
Save