|
|
|
@ -6,13 +6,20 @@ import android.view.View |
|
|
|
import android.view.ViewGroup |
|
|
|
import android.view.ViewGroup |
|
|
|
import androidx.recyclerview.widget.LinearLayoutManager |
|
|
|
import androidx.recyclerview.widget.LinearLayoutManager |
|
|
|
import kotlinx.android.synthetic.main.fragment_settings.* |
|
|
|
import kotlinx.android.synthetic.main.fragment_settings.* |
|
|
|
|
|
|
|
import kotlinx.coroutines.GlobalScope |
|
|
|
|
|
|
|
import kotlinx.coroutines.launch |
|
|
|
import kotlinx.android.synthetic.main.fragment_stats.* |
|
|
|
import kotlinx.android.synthetic.main.fragment_stats.* |
|
|
|
import net.pokeranalytics.android.R |
|
|
|
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.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.RowRepresentableAdapter |
|
|
|
import net.pokeranalytics.android.ui.adapter.RowRepresentableDataSource |
|
|
|
import net.pokeranalytics.android.ui.adapter.RowRepresentableDataSource |
|
|
|
import net.pokeranalytics.android.ui.view.RowRepresentable |
|
|
|
|
|
|
|
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment |
|
|
|
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment |
|
|
|
|
|
|
|
import net.pokeranalytics.android.ui.view.RowRepresentable |
|
|
|
|
|
|
|
|
|
|
|
class StatsFragment : PokerAnalyticsFragment(), RowRepresentableDataSource { |
|
|
|
class StatsFragment : PokerAnalyticsFragment(), RowRepresentableDataSource { |
|
|
|
|
|
|
|
|
|
|
|
@ -31,8 +38,12 @@ class StatsFragment : PokerAnalyticsFragment(), RowRepresentableDataSource { |
|
|
|
|
|
|
|
|
|
|
|
private lateinit var statsAdapterRow: RowRepresentableAdapter |
|
|
|
private lateinit var statsAdapterRow: RowRepresentableAdapter |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { |
|
|
|
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { |
|
|
|
return inflater.inflate(R.layout.fragment_stats, container, false) |
|
|
|
return inflater.inflate(R.layout.fragment_stats, container, false) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { |
|
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { |
|
|
|
@ -61,5 +72,35 @@ class StatsFragment : PokerAnalyticsFragment(), RowRepresentableDataSource { |
|
|
|
layoutManager = viewManager |
|
|
|
layoutManager = viewManager |
|
|
|
adapter = statsAdapterRow |
|
|
|
adapter = statsAdapterRow |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// this.launchStatComputation() |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private fun launchStatComputation() { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var results = listOf<ComputedResults>() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GlobalScope.launch { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val allSessions = getRealm().where(Session::class.java).findAll() |
|
|
|
|
|
|
|
val cgSessions = mutableListOf<Session>() |
|
|
|
|
|
|
|
val tSessions = mutableListOf<Session>() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
allSessions.forEach { session -> |
|
|
|
|
|
|
|
if (session.type == SessionType.CASHGAME.ordinal) { |
|
|
|
|
|
|
|
cgSessions.add(session) |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
tSessions.add(session) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val allSessionGroup = SessionGroup(getString(R.string.all), allSessions) |
|
|
|
|
|
|
|
val cgSessionGroup = SessionGroup(getString(R.string.cash_game), cgSessions) |
|
|
|
|
|
|
|
val tSessionGroup = SessionGroup(getString(R.string.tournament), tSessions) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
results = Calculator.computeGroups(listOf(allSessionGroup, cgSessionGroup, tSessionGroup), Calculator.Options()) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |