alpha of evo aggregation

feature/top10
Laurent 7 years ago
parent e2221e7669
commit 470aaee54c
  1. 5
      app/src/main/java/net/pokeranalytics/android/ui/activity/CalendarDetailsActivity.kt
  2. 5
      app/src/main/java/net/pokeranalytics/android/ui/activity/StatisticDetailsActivity.kt
  3. 14
      app/src/main/java/net/pokeranalytics/android/ui/fragment/GraphFragment.kt
  4. 2
      app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticDetailsFragment.kt
  5. 8
      app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt

@ -4,6 +4,7 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.ComputableGroup
import net.pokeranalytics.android.calculus.Report import net.pokeranalytics.android.calculus.Report
import net.pokeranalytics.android.calculus.Stat import net.pokeranalytics.android.calculus.Stat
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
@ -30,8 +31,8 @@ class CalendarDetailsActivity : PokerAnalyticsActivity() {
context.startActivity(intent) context.startActivity(intent)
} }
fun newInstance(context: Context, stat: Stat, report: Report) { fun newInstance(context: Context, stat: Stat, group: ComputableGroup, report: Report) {
parameters = GraphParameters(stat, report) parameters = GraphParameters(stat, group, report)
val intent = Intent(context, CalendarDetailsActivity::class.java) val intent = Intent(context, CalendarDetailsActivity::class.java)
context.startActivity(intent) context.startActivity(intent)
} }

@ -4,6 +4,7 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.ComputableGroup
import net.pokeranalytics.android.calculus.Report import net.pokeranalytics.android.calculus.Report
import net.pokeranalytics.android.calculus.Stat import net.pokeranalytics.android.calculus.Stat
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
@ -25,8 +26,8 @@ class StatisticDetailsActivity : PokerAnalyticsActivity() {
/** /**
* Default constructor * Default constructor
*/ */
fun newInstance(context: Context, stat: Stat, report: Report) { fun newInstance(context: Context, stat: Stat, group: ComputableGroup, report: Report) {
parameters = GraphParameters(stat, report) parameters = GraphParameters(stat, group, report)
val intent = Intent(context, StatisticDetailsActivity::class.java) val intent = Intent(context, StatisticDetailsActivity::class.java)
context.startActivity(intent) context.startActivity(intent)
} }

@ -30,7 +30,7 @@ import java.text.DateFormat
import java.util.* import java.util.*
import kotlin.coroutines.CoroutineContext import kotlin.coroutines.CoroutineContext
class GraphParameters(var stat: Stat, var report: Report) { class GraphParameters(var stat: Stat, var computableGroup: ComputableGroup, var report: Report) {
} }
@ -40,8 +40,9 @@ class GraphFragment : PokerAnalyticsFragment(), OnChartValueSelectedListener, Co
private var stat: Stat = Stat.NETRESULT private var stat: Stat = Stat.NETRESULT
private var reports: MutableMap<AggregationType, Report> = hashMapOf() private var reports: MutableMap<AggregationType, Report> = hashMapOf()
lateinit private var computableGroup: ComputableGroup
private var selectedReport: Report? = null lateinit private var selectedReport: Report
lateinit var legendView: LegendView lateinit var legendView: LegendView
lateinit var chartView: BarLineChartBase<*> lateinit var chartView: BarLineChartBase<*>
@ -55,8 +56,9 @@ class GraphFragment : PokerAnalyticsFragment(), OnChartValueSelectedListener, Co
} }
fun setData(stat: Stat, report: Report) { fun setData(stat: Stat, group: ComputableGroup, report: Report) {
this.stat = stat this.stat = stat
this.computableGroup = group
this.aggregationTypes = stat.aggregationTypes this.aggregationTypes = stat.aggregationTypes
this.reports[this.aggregationTypes.first()] = report this.reports[this.aggregationTypes.first()] = report
@ -84,9 +86,7 @@ class GraphFragment : PokerAnalyticsFragment(), OnChartValueSelectedListener, Co
this.legendView = LegendView(requireContext()) this.legendView = LegendView(requireContext())
this.legendContainer.addView(this.legendView) this.legendContainer.addView(this.legendView)
this.selectedReport?.let { this.loadGraph(this.selectedReport)
this.loadGraph(it)
}
this.aggregationTypes.forEach { type -> this.aggregationTypes.forEach { type ->
val chip = Chip(requireContext()) val chip = Chip(requireContext())
@ -127,7 +127,7 @@ class GraphFragment : PokerAnalyticsFragment(), OnChartValueSelectedListener, Co
val realm = Realm.getDefaultInstance() val realm = Realm.getDefaultInstance()
val aggregationType = stat.aggregationTypes.first() val aggregationType = stat.aggregationTypes.first()
// r = Calculator.computeStatsWithEvolutionByAggregationType(realm, computableGroup, aggregationType) r = Calculator.computeStatsWithEvolutionByAggregationType(realm, computableGroup, aggregationType)
realm.close() realm.close()

@ -61,7 +61,7 @@ class StatisticDetailsFragment : PokerAnalyticsFragment() {
fragmentTransaction.commit() fragmentTransaction.commit()
StatisticDetailsActivity.parameters?.let { StatisticDetailsActivity.parameters?.let {
fragment.setData(it.stat, it.report) fragment.setData(it.stat, it.computableGroup, it.report)
StatisticDetailsActivity.parameters = null StatisticDetailsActivity.parameters = null
} ?: run { } ?: run {
throw Exception("Missing graph parameters") throw Exception("Missing graph parameters")

@ -10,7 +10,6 @@ import kotlinx.android.synthetic.main.fragment_stats.*
import kotlinx.coroutines.* import kotlinx.coroutines.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.* import net.pokeranalytics.android.calculus.*
import net.pokeranalytics.android.ui.view.rowrepresentable.StatRow
import net.pokeranalytics.android.model.filter.QueryCondition import net.pokeranalytics.android.model.filter.QueryCondition
import net.pokeranalytics.android.ui.activity.StatisticDetailsActivity import net.pokeranalytics.android.ui.activity.StatisticDetailsActivity
import net.pokeranalytics.android.ui.adapter.DisplayDescriptor import net.pokeranalytics.android.ui.adapter.DisplayDescriptor
@ -20,6 +19,7 @@ import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
import net.pokeranalytics.android.ui.fragment.components.SessionObserverFragment import net.pokeranalytics.android.ui.fragment.components.SessionObserverFragment
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.rowrepresentable.CustomizableRowRepresentable import net.pokeranalytics.android.ui.view.rowrepresentable.CustomizableRowRepresentable
import net.pokeranalytics.android.ui.view.rowrepresentable.StatRow
import net.pokeranalytics.android.util.NULL_TEXT import net.pokeranalytics.android.util.NULL_TEXT
import timber.log.Timber import timber.log.Timber
import java.util.* import java.util.*
@ -245,14 +245,10 @@ class StatsFragment : SessionObserverFragment(), StaticRowRepresentableDataSourc
Timber.d(">>> start...") Timber.d(">>> start...")
val realm = Realm.getDefaultInstance() val realm = Realm.getDefaultInstance()
// val options = Calculator.Options()
// options.evolutionValues = Calculator.Options.EvolutionValues.STANDARD
// options.displayedStats = listOf(stat)
val aggregationType = stat.aggregationTypes.first() val aggregationType = stat.aggregationTypes.first()
report = Calculator.computeStatsWithEvolutionByAggregationType(realm, computableGroup, aggregationType) report = Calculator.computeStatsWithEvolutionByAggregationType(realm, computableGroup, aggregationType)
// report = Calculator.computeGroups(realm, listOf(computableGroup), options)
realm.close() realm.close()
val e = Date() val e = Date()
@ -263,7 +259,7 @@ class StatsFragment : SessionObserverFragment(), StaticRowRepresentableDataSourc
test.await() test.await()
if (!isDetached) { if (!isDetached) {
StatisticDetailsActivity.newInstance(requireContext(), stat, report) StatisticDetailsActivity.newInstance(requireContext(), stat, computableGroup, report)
} }
} }

Loading…
Cancel
Save