From b92ded3634b27f5938ac892a390bf41f1ce5c448 Mon Sep 17 00:00:00 2001 From: Laurent Date: Wed, 27 Feb 2019 12:32:20 +0100 Subject: [PATCH] Update on stat fragment --- .../android/ui/datasource/StatsDataSource.kt | 9 ++-- .../android/ui/fragment/StatsFragment.kt | 49 +++++++------------ 2 files changed, 23 insertions(+), 35 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/datasource/StatsDataSource.kt b/app/src/main/java/net/pokeranalytics/android/ui/datasource/StatsDataSource.kt index d8d5714e..e1cbdd22 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/datasource/StatsDataSource.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/datasource/StatsDataSource.kt @@ -9,13 +9,14 @@ class StatsDataSource(results: List) : RowRepresentableDataSour var results: List = results override fun adapterRows(): ArrayList { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + return ArrayList() } 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() +// } } } \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt index aec6305d..2325cbd1 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt @@ -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 { - val rows = ArrayList() - 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() - 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() val tSessions = mutableListOf() @@ -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 + } + } } \ No newline at end of file