|
|
|
|
@ -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<Entry>) { |
|
|
|
|
var stat: Stat = stat |
|
|
|
|
var entries: List<Entry> = 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<AggregationType, Report> = hashMapOf() |
|
|
|
|
private var entries: List<Entry> = ArrayList() |
|
|
|
|
|
|
|
|
|
lateinit var legendView: LegendView |
|
|
|
|
lateinit var chartView: BarLineChartBase<*> |
|
|
|
|
|
|
|
|
|
private var aggregationTypes: List<AggregationType> = listOf() |
|
|
|
|
|
|
|
|
|
companion object { |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fun setData(stat: Stat, entries: List<Entry>) { |
|
|
|
|
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}") |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|