More separation

split
Laurent 5 years ago
parent 1b486e0ae7
commit 3e257e0905
  1. 12
      app/src/main/java/net/pokeranalytics/android/calcul/AggregationTypeExtensions.kt
  2. 15
      app/src/main/java/net/pokeranalytics/android/calculus/AggregationType.kt
  3. 5
      app/src/main/java/net/pokeranalytics/android/ui/fragment/report/ProgressReportFragment.kt
  4. 17
      app/src/main/java/net/pokeranalytics/android/ui/graph/Graph.kt
  5. 9
      app/src/main/java/net/pokeranalytics/android/ui/graph/GraphExtensions.kt
  6. 8
      app/src/main/java/net/pokeranalytics/android/ui/graph/GraphUnderlyingEntry.kt
  7. 4
      app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt
  8. 5
      app/src/main/java/net/pokeranalytics/android/ui/viewmodel/GraphViewModel.kt
  9. 3
      app/src/main/java/net/pokeranalytics/android/ui/viewmodel/ReportHolder.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
}
}

@ -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<Criteria>
get() {
return when (this) {

@ -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

@ -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,
}
}

@ -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()
}
}

@ -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

@ -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)
}

@ -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
}

@ -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

Loading…
Cancel
Save