diff --git a/app/src/main/java/net/pokeranalytics/android/ui/activity/StatisticDetailsActivity.kt b/app/src/main/java/net/pokeranalytics/android/ui/activity/StatisticDetailsActivity.kt index 4a9ef680..5a2b4d39 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/activity/StatisticDetailsActivity.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/activity/StatisticDetailsActivity.kt @@ -3,9 +3,8 @@ package net.pokeranalytics.android.ui.activity import android.content.Context import android.content.Intent import android.os.Bundle -import com.github.mikephil.charting.data.Entry -import kotlinx.android.synthetic.main.activity_graph.* import net.pokeranalytics.android.R +import net.pokeranalytics.android.calculus.Report import net.pokeranalytics.android.calculus.Stat import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity import net.pokeranalytics.android.ui.fragment.GraphParameters @@ -26,8 +25,8 @@ class StatisticDetailsActivity : PokerAnalyticsActivity() { /** * Default constructor */ - fun newInstance(context: Context, stat: Stat, entries: List) { - parameters = GraphParameters(stat, entries) + fun newInstance(context: Context, stat: Stat, report: Report) { + parameters = GraphParameters(stat, report) val intent = Intent(context, StatisticDetailsActivity::class.java) context.startActivity(intent) } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/GraphFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/GraphFragment.kt index 7e0b6647..6479fe10 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/GraphFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/GraphFragment.kt @@ -15,22 +15,18 @@ import com.google.android.material.chip.Chip import com.google.android.material.chip.ChipGroup import kotlinx.android.synthetic.main.fragment_evograph.* import net.pokeranalytics.android.R -import net.pokeranalytics.android.calculus.GraphType -import net.pokeranalytics.android.calculus.ObjectIdentifier -import net.pokeranalytics.android.calculus.Stat +import net.pokeranalytics.android.calculus.* import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity +import net.pokeranalytics.android.ui.extensions.ChipGroupExtension +import net.pokeranalytics.android.ui.extensions.px import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment import net.pokeranalytics.android.ui.graph.PALineDataSet import net.pokeranalytics.android.ui.graph.setStyle import net.pokeranalytics.android.ui.view.LegendView -import net.pokeranalytics.android.ui.extensions.ChipGroupExtension -import net.pokeranalytics.android.ui.extensions.px -import net.pokeranalytics.android.ui.extensions.toast import java.text.DateFormat -class GraphParameters(stat: Stat, entries: List) { - var stat: Stat = stat - var entries: List = entries +class GraphParameters(var stat: Stat, var report: Report) { + } class GraphFragment : PokerAnalyticsFragment(), OnChartValueSelectedListener { @@ -38,18 +34,27 @@ class GraphFragment : PokerAnalyticsFragment(), OnChartValueSelectedListener { private lateinit var parentActivity: PokerAnalyticsActivity private var stat: Stat = Stat.NETRESULT + private var reports: Map = hashMapOf() private var entries: List = ArrayList() lateinit var legendView: LegendView lateinit var chartView: BarLineChartBase<*> + private var aggregationTypes: List = listOf() + companion object { } - fun setData(stat: Stat, entries: List) { + fun setData(stat: Stat, report: Report) { this.stat = stat - this.entries = entries + + this.aggregationTypes = stat.aggregationTypes +// this.report = report + report.results.firstOrNull()?.defaultStatEntries(stat)?.let { + this.entries = it + } + } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { @@ -98,7 +103,7 @@ class GraphFragment : PokerAnalyticsFragment(), OnChartValueSelectedListener { this.chartView.highlightValue((this.entries.size - 1).toFloat(), 0) - this.stat.aggregationTypes.forEach { type -> + this.aggregationTypes.forEach { type -> val chip = Chip(requireContext()) chip.id = type.ordinal chip.text = requireContext().getString(type.resId) @@ -112,7 +117,8 @@ class GraphFragment : PokerAnalyticsFragment(), OnChartValueSelectedListener { this.chipGroup.setOnCheckedChangeListener(object : ChipGroupExtension.SingleSelectionOnCheckedListener() { override fun onCheckedChanged(group: ChipGroup, checkedId: Int) { super.onCheckedChanged(group, checkedId) - toast("Show: ${stat.aggregationTypes[group.getChildAt(checkedId).id].name}") + val aggregationType = aggregationTypes[checkedId] +// toast("Show: ${this.aggregationTypes[group.getChildAt(checkedId).id].name}") } }) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticDetailsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticDetailsFragment.kt index 50413327..bb5d8ad0 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticDetailsFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticDetailsFragment.kt @@ -61,7 +61,7 @@ class StatisticDetailsFragment : PokerAnalyticsFragment() { fragmentTransaction.commit() StatisticDetailsActivity.parameters?.let { - fragment.setData(it.stat, it.entries) + fragment.setData(it.stat, it.report) StatisticDetailsActivity.parameters = null } ?: run { throw Exception("Missing graph parameters") 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 14202d82..4c0c34e2 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 @@ -225,6 +225,7 @@ class StatsFragment : SessionObserverFragment(), StaticRowRepresentableDataSourc val realm = Realm.getDefaultInstance() val options = Calculator.Options() options.evolutionValues = Calculator.Options.EvolutionValues.STANDARD + options.displayedStats = listOf(stat) report = Calculator.computeGroups(realm, listOf(computableGroup), options) realm.close() @@ -236,9 +237,7 @@ class StatsFragment : SessionObserverFragment(), StaticRowRepresentableDataSourc test.await() if (!isDetached) { - report.results.firstOrNull()?.defaultStatEntries(stat)?.let { entries -> - StatisticDetailsActivity.newInstance(requireContext(), stat, entries) - } + StatisticDetailsActivity.newInstance(requireContext(), stat, report) } }