diff --git a/app/src/main/java/net/pokeranalytics/android/calcul/AggregationTypeExtensions.kt b/app/src/main/java/net/pokeranalytics/android/calcul/AggregationTypeExtensions.kt new file mode 100644 index 00000000..ad0df1f2 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/calcul/AggregationTypeExtensions.kt @@ -0,0 +1,12 @@ +package net.pokeranalytics.android.calcul + +import net.pokeranalytics.android.calculus.AggregationType +import net.pokeranalytics.android.ui.graph.Graph + +val AggregationType.axisFormatting: Graph.AxisFormatting + get() { + return when (this) { + AggregationType.DURATION -> Graph.AxisFormatting.X_DURATION + else -> Graph.AxisFormatting.DEFAULT + } + } \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/calculus/AggregationType.kt b/app/src/main/java/net/pokeranalytics/android/calculus/AggregationType.kt index b1318acb..f81f40f2 100644 --- a/app/src/main/java/net/pokeranalytics/android/calculus/AggregationType.kt +++ b/app/src/main/java/net/pokeranalytics/android/calculus/AggregationType.kt @@ -2,12 +2,7 @@ package net.pokeranalytics.android.calculus import net.pokeranalytics.android.R import net.pokeranalytics.android.model.Criteria - -enum class AxisFormatting { - DEFAULT, - X_DURATION, - Y_DURATION, -} +import net.pokeranalytics.android.ui.graph.Graph enum class AggregationType { SESSION, @@ -25,14 +20,6 @@ enum class AggregationType { } } - val axisFormatting: AxisFormatting - get() { - return when (this) { - DURATION -> AxisFormatting.X_DURATION - else -> AxisFormatting.DEFAULT - } - } - val criterias: List get() { return when (this) { diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/report/ProgressReportFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/report/ProgressReportFragment.kt index 5684f8a1..3af8dba3 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/report/ProgressReportFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/report/ProgressReportFragment.kt @@ -15,10 +15,7 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import net.pokeranalytics.android.R -import net.pokeranalytics.android.calcul.barEntries -import net.pokeranalytics.android.calcul.defaultStatEntries -import net.pokeranalytics.android.calcul.durationEntries -import net.pokeranalytics.android.calcul.lineEntries +import net.pokeranalytics.android.calcul.* import net.pokeranalytics.android.calculus.AggregationType import net.pokeranalytics.android.calculus.Calculator import net.pokeranalytics.android.calculus.Report diff --git a/app/src/main/java/net/pokeranalytics/android/ui/graph/Graph.kt b/app/src/main/java/net/pokeranalytics/android/ui/graph/Graph.kt new file mode 100644 index 00000000..313d95d5 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/ui/graph/Graph.kt @@ -0,0 +1,17 @@ +package net.pokeranalytics.android.ui.graph + +interface Graph { + + enum class Style { + LINE, + BAR, + MULTILINE, + } + + enum class AxisFormatting { + DEFAULT, + X_DURATION, + Y_DURATION, + } + +} diff --git a/app/src/main/java/net/pokeranalytics/android/ui/graph/GraphExtensions.kt b/app/src/main/java/net/pokeranalytics/android/ui/graph/GraphExtensions.kt index ff8fe0b3..da58415f 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/graph/GraphExtensions.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/graph/GraphExtensions.kt @@ -8,13 +8,12 @@ import com.github.mikephil.charting.charts.BarChart import com.github.mikephil.charting.charts.BarLineChartBase import com.github.mikephil.charting.components.XAxis import net.pokeranalytics.android.R -import net.pokeranalytics.android.calculus.AxisFormatting import net.pokeranalytics.android.model.utils.CrashLogging import net.pokeranalytics.android.ui.extensions.px fun BarLineChartBase<*>.setStyle( small: Boolean, - axisFormatting: AxisFormatting = AxisFormatting.DEFAULT, + axisFormatting: Graph.AxisFormatting = Graph.AxisFormatting.DEFAULT, context: Context ) { @@ -76,13 +75,13 @@ fun BarLineChartBase<*>.setStyle( this.data?.isHighlightEnabled = !small when (axisFormatting) { - AxisFormatting.DEFAULT -> { + Graph.AxisFormatting.DEFAULT -> { this.axisLeft.valueFormatter = LargeNumberFormatter() } - AxisFormatting.X_DURATION -> { + Graph.AxisFormatting.X_DURATION -> { this.xAxis.valueFormatter = HourFormatter() } - AxisFormatting.Y_DURATION -> { + Graph.AxisFormatting.Y_DURATION -> { this.axisLeft.valueFormatter = HourFormatter() } } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/graph/GraphUnderlyingEntry.kt b/app/src/main/java/net/pokeranalytics/android/ui/graph/GraphUnderlyingEntry.kt index dc6491c0..25afa773 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/graph/GraphUnderlyingEntry.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/graph/GraphUnderlyingEntry.kt @@ -6,14 +6,6 @@ import net.pokeranalytics.android.ui.view.DefaultLegendValues import net.pokeranalytics.android.ui.view.LegendContent import net.pokeranalytics.android.util.TextFormat -interface Graph { - enum class Style { - LINE, - BAR, - MULTILINE, - } -} - interface GraphUnderlyingEntry { fun entryTitle(context: Context): String diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt index 5b1b9ee5..bec2eed8 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt @@ -16,7 +16,6 @@ import com.github.mikephil.charting.data.* import com.google.android.material.chip.Chip import com.google.android.material.chip.ChipGroup import net.pokeranalytics.android.R -import net.pokeranalytics.android.calculus.AxisFormatting import net.pokeranalytics.android.calculus.ComputedStat import net.pokeranalytics.android.calculus.Stat import net.pokeranalytics.android.calculus.bankroll.BankrollReportManager @@ -31,6 +30,7 @@ import net.pokeranalytics.android.ui.adapter.RecyclerAdapter import net.pokeranalytics.android.ui.extensions.ChipGroupExtension import net.pokeranalytics.android.ui.extensions.px import net.pokeranalytics.android.ui.extensions.setTextFormat +import net.pokeranalytics.android.ui.graph.Graph import net.pokeranalytics.android.ui.modules.bankroll.BankrollRowRepresentable import net.pokeranalytics.android.ui.graph.setStyle import net.pokeranalytics.android.ui.modules.handhistory.views.RowHandHistoryViewHolder @@ -284,7 +284,7 @@ enum class RowViewType(private var layoutRes: Int) : ViewIdentifier { } chartView?.let { - chartView.setStyle(true, AxisFormatting.DEFAULT, context) + chartView.setStyle(true, Graph.AxisFormatting.DEFAULT, context) chartView.setTouchEnabled(false) } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/viewmodel/GraphViewModel.kt b/app/src/main/java/net/pokeranalytics/android/ui/viewmodel/GraphViewModel.kt index 6d9fe944..446b0c2e 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/viewmodel/GraphViewModel.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/viewmodel/GraphViewModel.kt @@ -4,7 +4,6 @@ import android.content.Context import androidx.lifecycle.ViewModel import com.github.mikephil.charting.data.BarDataSet import com.github.mikephil.charting.data.LineDataSet -import net.pokeranalytics.android.calculus.AxisFormatting import net.pokeranalytics.android.calculus.Stat import net.pokeranalytics.android.exceptions.PAIllegalStateException import net.pokeranalytics.android.ui.graph.Graph @@ -29,7 +28,7 @@ open class GraphViewModel : ViewModel(), GraphDataProvider { /*** * The axis formatting */ - override var axisFormatting: AxisFormatting = AxisFormatting.DEFAULT + override var axisFormatting: Graph.AxisFormatting = Graph.AxisFormatting.DEFAULT protected var selectedLineDataSet: LineDataSet? = null @@ -54,7 +53,7 @@ open class GraphViewModel : ViewModel(), GraphDataProvider { this.selectedBarDataSet = barDataSet } - fun defineParameters(stat: Stat, axisFormatting: AxisFormatting) { + fun defineParameters(stat: Stat, axisFormatting: Graph.AxisFormatting) { this.stat = stat this.axisFormatting = axisFormatting } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/viewmodel/ReportHolder.kt b/app/src/main/java/net/pokeranalytics/android/ui/viewmodel/ReportHolder.kt index 105b160f..c0f7750b 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/viewmodel/ReportHolder.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/viewmodel/ReportHolder.kt @@ -3,7 +3,6 @@ package net.pokeranalytics.android.ui.viewmodel import android.content.Context import com.github.mikephil.charting.data.BarDataSet import com.github.mikephil.charting.data.LineDataSet -import net.pokeranalytics.android.calculus.AxisFormatting import net.pokeranalytics.android.calculus.Report import net.pokeranalytics.android.calculus.Stat import net.pokeranalytics.android.ui.graph.Graph @@ -16,7 +15,7 @@ interface ReportHolder { interface GraphDataProvider { var stat: Stat - var axisFormatting: AxisFormatting + var axisFormatting: Graph.AxisFormatting /*** * If no style has been given to the GraphFragment by default, this style is used