From 21ad16c4c3446b006bc81a0887b28bd22e20d9c5 Mon Sep 17 00:00:00 2001 From: Laurent Date: Mon, 14 Dec 2020 12:06:20 +0100 Subject: [PATCH] Avoid selecting multiple stats for progress report --- .../android/calculus/Calculator.kt | 9 +++++++++ .../ui/fragment/ReportCreationFragment.kt | 18 ++++++++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt b/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt index abdd0115..23e94b9b 100644 --- a/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt +++ b/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt @@ -107,6 +107,15 @@ class Calculator { else -> false } } + + val multipleStatSelection: Boolean + get() { + return when (this) { + PROGRESS -> false + else -> true + } + } + } /** diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/ReportCreationFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/ReportCreationFragment.kt index ae2676aa..8f174f24 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/ReportCreationFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/ReportCreationFragment.kt @@ -259,12 +259,22 @@ class Assistant { this.nextStep() } Step.STAT -> { + val stat = this.dataSource[position] as Stat - if (this.stats.contains(stat)) { - this.stats.remove(stat) - } else { - this.stats.add(stat) + when (this.display.multipleStatSelection) { + true -> { + if (this.stats.contains(stat)) { + this.stats.remove(stat) + } else { + this.stats.add(stat) + } + } + false -> { + this.stats.clear() + this.stats.add(stat) + } } + } Step.COMPARATOR -> { val item = this.dataSource[position]