From 99d7fdfc8cf3101dddd7ec2a056cbd7501852940 Mon Sep 17 00:00:00 2001 From: Razmig Sarkissian Date: Wed, 16 Dec 2020 14:47:52 +0100 Subject: [PATCH] add StatRepresentable and Color files back --- .../android/calcul/StatRepresentable.kt | 81 +++++++++++++++++++ .../net/pokeranalytics/android/util/Color.kt | 10 +++ 2 files changed, 91 insertions(+) create mode 100644 app/src/main/java/net/pokeranalytics/android/calcul/StatRepresentable.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/util/Color.kt diff --git a/app/src/main/java/net/pokeranalytics/android/calcul/StatRepresentable.kt b/app/src/main/java/net/pokeranalytics/android/calcul/StatRepresentable.kt new file mode 100644 index 00000000..c69d9158 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/calcul/StatRepresentable.kt @@ -0,0 +1,81 @@ +package net.pokeranalytics.android.calcul + +import android.content.Context +import net.pokeranalytics.android.R +import net.pokeranalytics.android.calculus.Stat +import net.pokeranalytics.android.exceptions.PAIllegalStateException +import net.pokeranalytics.android.ui.view.RowRepresentable +import net.pokeranalytics.android.ui.view.RowViewType +import net.pokeranalytics.android.util.NULL_TEXT + +class StatRepresentable(var stat: Stat) : RowRepresentable { + + companion object { + fun resId(stat: Stat): Int { + return when (stat) { + Stat.NET_RESULT -> R.string.net_result + Stat.BB_NET_RESULT -> R.string.total_net_result_bb_ + Stat.HOURLY_RATE -> R.string.average_hour_rate + Stat.AVERAGE -> R.string.average + Stat.NUMBER_OF_SETS -> R.string.number_of_sessions + Stat.NUMBER_OF_GAMES -> R.string.number_of_records + Stat.HOURLY_DURATION -> R.string.duration + Stat.AVERAGE_HOURLY_DURATION -> R.string.average_hours_played + Stat.NET_BB_PER_100_HANDS -> R.string.net_result_bb_per_100_hands + Stat.HOURLY_RATE_BB -> R.string.average_hour_rate_bb_ + Stat.AVERAGE_NET_BB -> R.string.average_net_result_bb_ + Stat.WIN_RATIO -> R.string.win_ratio + Stat.AVERAGE_BUYIN -> R.string.average_buyin + Stat.ROI -> R.string.tournament_roi + Stat.STANDARD_DEVIATION -> R.string.standard_deviation + Stat.STANDARD_DEVIATION_HOURLY -> R.string.standard_deviation_per_hour + Stat.STANDARD_DEVIATION_BB_PER_100_HANDS -> R.string.standard_deviation_bb_per_100_hands + Stat.STANDARD_DEVIATION_BB -> R.string.bb_standard_deviation + Stat.HANDS_PLAYED -> R.string.number_of_hands + Stat.LOCATIONS_PLAYED -> R.string.locations_played + Stat.LONGEST_STREAKS -> R.string.longest_streaks + Stat.MAXIMUM_NETRESULT -> R.string.max_net_result + Stat.MINIMUM_NETRESULT -> R.string.min_net_result + Stat.MAXIMUM_DURATION -> R.string.longest_session + Stat.DAYS_PLAYED -> R.string.days_played + Stat.TOTAL_BUYIN -> R.string.total_buyin + else -> throw PAIllegalStateException("Stat ${stat.name} name required but undefined") + } + } + fun localizedTitle(stat: Stat, context: Context): String { + return context.getString(resId(stat)) + } + } + + override val resId: Int? + get() { + return resId(this.stat) + } + + /** + * Returns a label used to display the legend right value, typically a total or an average + */ + fun cumulativeLabelResId(context: Context): String { + val resId = when (this.stat) { + Stat.AVERAGE, Stat.AVERAGE_HOURLY_DURATION, Stat.NET_BB_PER_100_HANDS, + Stat.HOURLY_RATE_BB, Stat.AVERAGE_NET_BB, Stat.ROI, Stat.HOURLY_RATE -> R.string.average + Stat.NUMBER_OF_SETS -> R.string.number_of_sessions + Stat.NUMBER_OF_GAMES -> R.string.number_of_records + Stat.NET_RESULT -> R.string.total + Stat.STANDARD_DEVIATION -> R.string.net_result + Stat.STANDARD_DEVIATION_BB -> R.string.average_net_result_bb_ + Stat.STANDARD_DEVIATION_HOURLY -> R.string.hour_rate_without_pauses + Stat.STANDARD_DEVIATION_BB_PER_100_HANDS -> R.string.net_result_bb_per_100_hands + Stat.WIN_RATIO, Stat.HOURLY_DURATION -> return this.localizedTitle(context) + else -> null + } + resId?.let { + return context.getString(it) + } ?: run { + return NULL_TEXT + } + } + + override val viewType: Int = RowViewType.TITLE_VALUE.ordinal + +} \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/util/Color.kt b/app/src/main/java/net/pokeranalytics/android/util/Color.kt new file mode 100644 index 00000000..006e321e --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/util/Color.kt @@ -0,0 +1,10 @@ +package net.pokeranalytics.android.util + +data class PAColor(var red: Int, var green: Int, var blue: Int, var alpha: Int = 1) { + companion object { + val white = PAColor(1, 0, 1, 0) + val green = PAColor(1, 0, 1, 0) + val red = PAColor(1, 0, 1, 0) + val blue = PAColor(1, 0, 1, 0) + } +} \ No newline at end of file