Improve Calendar details

feature/top10
Aurelien Hubert 7 years ago
parent 65b865b1f1
commit b0f5c84b31
  1. 15
      app/src/main/java/net/pokeranalytics/android/ui/fragment/CalendarDetailsFragment.kt
  2. 7
      app/src/main/java/net/pokeranalytics/android/ui/fragment/CalendarFragment.kt

@ -19,6 +19,7 @@ import net.pokeranalytics.android.calculus.ComputedResults
import net.pokeranalytics.android.calculus.Stat import net.pokeranalytics.android.calculus.Stat
import net.pokeranalytics.android.model.comparison.Comparator import net.pokeranalytics.android.model.comparison.Comparator
import net.pokeranalytics.android.model.filter.QueryCondition import net.pokeranalytics.android.model.filter.QueryCondition
import net.pokeranalytics.android.ui.activity.StatisticDetailsActivity
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
@ -72,6 +73,9 @@ class CalendarDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresentable
is GraphRow -> { is GraphRow -> {
//TODO: Open graph details //TODO: Open graph details
toast("Open graph details") toast("Open graph details")
row.report.results.firstOrNull()?.group?.let { computableGroup ->
StatisticDetailsActivity.newInstance(requireContext(), row.stat, computableGroup, row.report)
}
} }
} }
} }
@ -153,19 +157,27 @@ class CalendarDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresentable
val realm = Realm.getDefaultInstance() val realm = Realm.getDefaultInstance()
val conditions = ArrayList<QueryCondition>().apply { val conditions = ArrayList<QueryCondition>().apply {
addAll(computedResults.group.conditions) addAll(computedResults.group.conditions)
// Remove session type conditions
removeAll(Comparator.CASH.queryConditions)
removeAll(Comparator.TOURNAMENT.queryConditions)
when (sessionTypeCondition) { when (sessionTypeCondition) {
QueryCondition.CASH -> addAll(Comparator.CASH.queryConditions) QueryCondition.CASH -> addAll(Comparator.CASH.queryConditions)
QueryCondition.TOURNAMENT -> addAll(Comparator.TOURNAMENT.queryConditions) QueryCondition.TOURNAMENT -> addAll(Comparator.TOURNAMENT.queryConditions)
} }
} }
val options = Calculator.Options(evolutionValues = Calculator.Options.EvolutionValues.STANDARD) val requiredStats: List<Stat> = listOf(Stat.LOCATIONS_PLAYED, Stat.LONGEST_STREAKS, Stat.DAYS_PLAYED, Stat.STANDARD_DEVIATION_HOURLY)
val options = Calculator.Options(evolutionValues = Calculator.Options.EvolutionValues.STANDARD, stats = requiredStats)
val report = Calculator.computeStatsWithComparators(realm, conditions = conditions, options = options) val report = Calculator.computeStatsWithComparators(realm, conditions = conditions, options = options)
Timber.d("Report take: ${System.currentTimeMillis() - startDate.time}ms") Timber.d("Report take: ${System.currentTimeMillis() - startDate.time}ms")
report.results.firstOrNull()?.let { report.results.firstOrNull()?.let {
// Create rows
rowRepresentables.clear() rowRepresentables.clear()
rowRepresentables.add(CustomizableRowRepresentable(RowViewType.HEADER_TITLE, resId = R.string.net_result)) rowRepresentables.add(CustomizableRowRepresentable(RowViewType.HEADER_TITLE, resId = R.string.net_result))
rowRepresentables.add(GraphRow(report, Stat.NETRESULT)) rowRepresentables.add(GraphRow(report, Stat.NETRESULT))
@ -192,7 +204,6 @@ class CalendarDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresentable
* Set data * Set data
*/ */
fun setData(computedResults: ComputedResults?, sessionTypeCondition: QueryCondition?, title: String?) { fun setData(computedResults: ComputedResults?, sessionTypeCondition: QueryCondition?, title: String?) {
Timber.d("Set data")
this.computedResults = computedResults this.computedResults = computedResults
this.sessionTypeCondition = sessionTypeCondition this.sessionTypeCondition = sessionTypeCondition

@ -230,6 +230,9 @@ class CalendarFragment : SessionObserverFragment(), CoroutineScope, StaticRowRep
val monthlyReports: HashMap<Date, ComputedResults> = HashMap() val monthlyReports: HashMap<Date, ComputedResults> = HashMap()
val yearlyReports: HashMap<Date, ComputedResults> = HashMap() val yearlyReports: HashMap<Date, ComputedResults> = HashMap()
val requiredStats: List<Stat> = listOf(Stat.LOCATIONS_PLAYED, Stat.LONGEST_STREAKS, Stat.DAYS_PLAYED, Stat.STANDARD_DEVIATION_HOURLY )
val options = Calculator.Options(evolutionValues = Calculator.Options.EvolutionValues.STANDARD, stats = requiredStats)
// Compute data per YEAR and MONTH // Compute data per YEAR and MONTH
val monthConditions = when (sessionTypeCondition) { val monthConditions = when (sessionTypeCondition) {
@ -238,10 +241,6 @@ class CalendarFragment : SessionObserverFragment(), CoroutineScope, StaticRowRep
else -> listOf(Comparator.YEAR, Comparator.MONTH_OF_YEAR).combined() else -> listOf(Comparator.YEAR, Comparator.MONTH_OF_YEAR).combined()
} }
val requiredStats: List<Stat> = listOf(Stat.LOCATIONS_PLAYED, Stat.LONGEST_STREAKS, Stat.DAYS_PLAYED,
Stat.STANDARD_DEVIATION_HOURLY
)
val options = Calculator.Options(evolutionValues = Calculator.Options.EvolutionValues.STANDARD, stats = requiredStats)
monthConditions.forEach { conditions -> monthConditions.forEach { conditions ->
val report = Calculator.computeStatsWithComparators(realm, conditions = conditions, options = options) val report = Calculator.computeStatsWithComparators(realm, conditions = conditions, options = options)

Loading…
Cancel
Save