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.R
import net.pokeranalytics.android.model.Criteria import net.pokeranalytics.android.model.Criteria
import net.pokeranalytics.android.ui.graph.Graph
enum class AxisFormatting {
DEFAULT,
X_DURATION,
Y_DURATION,
}
enum class AggregationType { enum class AggregationType {
SESSION, 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> val criterias: List<Criteria>
get() { get() {
return when (this) { return when (this) {

@ -15,10 +15,7 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.calcul.barEntries import net.pokeranalytics.android.calcul.*
import net.pokeranalytics.android.calcul.defaultStatEntries
import net.pokeranalytics.android.calcul.durationEntries
import net.pokeranalytics.android.calcul.lineEntries
import net.pokeranalytics.android.calculus.AggregationType import net.pokeranalytics.android.calculus.AggregationType
import net.pokeranalytics.android.calculus.Calculator import net.pokeranalytics.android.calculus.Calculator
import net.pokeranalytics.android.calculus.Report 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.charts.BarLineChartBase
import com.github.mikephil.charting.components.XAxis import com.github.mikephil.charting.components.XAxis
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.AxisFormatting
import net.pokeranalytics.android.model.utils.CrashLogging import net.pokeranalytics.android.model.utils.CrashLogging
import net.pokeranalytics.android.ui.extensions.px import net.pokeranalytics.android.ui.extensions.px
fun BarLineChartBase<*>.setStyle( fun BarLineChartBase<*>.setStyle(
small: Boolean, small: Boolean,
axisFormatting: AxisFormatting = AxisFormatting.DEFAULT, axisFormatting: Graph.AxisFormatting = Graph.AxisFormatting.DEFAULT,
context: Context context: Context
) { ) {
@ -76,13 +75,13 @@ fun BarLineChartBase<*>.setStyle(
this.data?.isHighlightEnabled = !small this.data?.isHighlightEnabled = !small
when (axisFormatting) { when (axisFormatting) {
AxisFormatting.DEFAULT -> { Graph.AxisFormatting.DEFAULT -> {
this.axisLeft.valueFormatter = LargeNumberFormatter() this.axisLeft.valueFormatter = LargeNumberFormatter()
} }
AxisFormatting.X_DURATION -> { Graph.AxisFormatting.X_DURATION -> {
this.xAxis.valueFormatter = HourFormatter() this.xAxis.valueFormatter = HourFormatter()
} }
AxisFormatting.Y_DURATION -> { Graph.AxisFormatting.Y_DURATION -> {
this.axisLeft.valueFormatter = HourFormatter() 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.ui.view.LegendContent
import net.pokeranalytics.android.util.TextFormat import net.pokeranalytics.android.util.TextFormat
interface Graph {
enum class Style {
LINE,
BAR,
MULTILINE,
}
}
interface GraphUnderlyingEntry { interface GraphUnderlyingEntry {
fun entryTitle(context: Context): String 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.Chip
import com.google.android.material.chip.ChipGroup import com.google.android.material.chip.ChipGroup
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.AxisFormatting
import net.pokeranalytics.android.calculus.ComputedStat import net.pokeranalytics.android.calculus.ComputedStat
import net.pokeranalytics.android.calculus.Stat import net.pokeranalytics.android.calculus.Stat
import net.pokeranalytics.android.calculus.bankroll.BankrollReportManager 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.ChipGroupExtension
import net.pokeranalytics.android.ui.extensions.px import net.pokeranalytics.android.ui.extensions.px
import net.pokeranalytics.android.ui.extensions.setTextFormat 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.modules.bankroll.BankrollRowRepresentable
import net.pokeranalytics.android.ui.graph.setStyle import net.pokeranalytics.android.ui.graph.setStyle
import net.pokeranalytics.android.ui.modules.handhistory.views.RowHandHistoryViewHolder import net.pokeranalytics.android.ui.modules.handhistory.views.RowHandHistoryViewHolder
@ -284,7 +284,7 @@ enum class RowViewType(private var layoutRes: Int) : ViewIdentifier {
} }
chartView?.let { chartView?.let {
chartView.setStyle(true, AxisFormatting.DEFAULT, context) chartView.setStyle(true, Graph.AxisFormatting.DEFAULT, context)
chartView.setTouchEnabled(false) chartView.setTouchEnabled(false)
} }

@ -4,7 +4,6 @@ import android.content.Context
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import com.github.mikephil.charting.data.BarDataSet import com.github.mikephil.charting.data.BarDataSet
import com.github.mikephil.charting.data.LineDataSet import com.github.mikephil.charting.data.LineDataSet
import net.pokeranalytics.android.calculus.AxisFormatting
import net.pokeranalytics.android.calculus.Stat import net.pokeranalytics.android.calculus.Stat
import net.pokeranalytics.android.exceptions.PAIllegalStateException import net.pokeranalytics.android.exceptions.PAIllegalStateException
import net.pokeranalytics.android.ui.graph.Graph import net.pokeranalytics.android.ui.graph.Graph
@ -29,7 +28,7 @@ open class GraphViewModel : ViewModel(), GraphDataProvider {
/*** /***
* The axis formatting * The axis formatting
*/ */
override var axisFormatting: AxisFormatting = AxisFormatting.DEFAULT override var axisFormatting: Graph.AxisFormatting = Graph.AxisFormatting.DEFAULT
protected var selectedLineDataSet: LineDataSet? = null protected var selectedLineDataSet: LineDataSet? = null
@ -54,7 +53,7 @@ open class GraphViewModel : ViewModel(), GraphDataProvider {
this.selectedBarDataSet = barDataSet this.selectedBarDataSet = barDataSet
} }
fun defineParameters(stat: Stat, axisFormatting: AxisFormatting) { fun defineParameters(stat: Stat, axisFormatting: Graph.AxisFormatting) {
this.stat = stat this.stat = stat
this.axisFormatting = axisFormatting this.axisFormatting = axisFormatting
} }

@ -3,7 +3,6 @@ package net.pokeranalytics.android.ui.viewmodel
import android.content.Context import android.content.Context
import com.github.mikephil.charting.data.BarDataSet import com.github.mikephil.charting.data.BarDataSet
import com.github.mikephil.charting.data.LineDataSet import com.github.mikephil.charting.data.LineDataSet
import net.pokeranalytics.android.calculus.AxisFormatting
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.graph.Graph import net.pokeranalytics.android.ui.graph.Graph
@ -16,7 +15,7 @@ interface ReportHolder {
interface GraphDataProvider { interface GraphDataProvider {
var stat: Stat 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 * If no style has been given to the GraphFragment by default, this style is used

Loading…
Cancel
Save