From 83dbd9874e291009b630c6a7017808d247549d74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Pich?= Date: Tue, 4 Jun 2019 02:27:15 +0200 Subject: [PATCH] Add option to force calc average by app (#400) --- .travis.yml | 6 +++--- .../preferences/PreferencesRepository.kt | 3 +++ .../ui/modules/grade/GradeAverageProvider.kt | 2 +- app/src/main/res/values-pl/strings.xml | 1 + app/src/main/res/values/preferences_keys.xml | 1 + app/src/main/res/values/strings.xml | 1 + app/src/main/res/xml/scheme_preferences.xml | 5 +++++ .../modules/grade/GradeAverageProviderTest.kt | 19 +++++++++++++++++++ 8 files changed, 34 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4c40f615..0f54ff04 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,9 +11,9 @@ cache: - $HOME/.gradle/caches/ - $HOME/.gradle/wrapper/ -#branches: -# only: -# - develop +branches: + only: + - develop android: licenses: diff --git a/app/src/main/java/io/github/wulkanowy/data/repositories/preferences/PreferencesRepository.kt b/app/src/main/java/io/github/wulkanowy/data/repositories/preferences/PreferencesRepository.kt index bde84162..bb9a39b1 100644 --- a/app/src/main/java/io/github/wulkanowy/data/repositories/preferences/PreferencesRepository.kt +++ b/app/src/main/java/io/github/wulkanowy/data/repositories/preferences/PreferencesRepository.kt @@ -20,6 +20,9 @@ class PreferencesRepository @Inject constructor( val gradeAverageMode: String get() = sharedPref.getString(context.getString(R.string.pref_key_grade_average_mode), "only_one_semester") ?: "only_one_semester" + val gradeAverageForceCalc: Boolean + get() = sharedPref.getBoolean(context.getString(R.string.pref_key_grade_average_force_calc), false) + val isGradeExpandable: Boolean get() = !sharedPref.getBoolean(context.getString(R.string.pref_key_expand_grade), false) diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/GradeAverageProvider.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/GradeAverageProvider.kt index cff60268..3f794ff1 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/GradeAverageProvider.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/GradeAverageProvider.kt @@ -67,6 +67,6 @@ class GradeAverageProvider @Inject constructor( if (it.any { summary -> summary.average != .0 }) { Maybe.just(it.map { summary -> summary.subject to summary.average }.toMap()) } else Maybe.empty() - } + }.filter { !preferencesRepository.gradeAverageForceCalc } } } diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 128d8636..91d980a6 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -253,6 +253,7 @@ Wygląd Domyślny widok Obliczanie średniej końcoworocznej + Wymuś obliczanie średniej przez aplikację Pokazuj obecność we frekwencji Motyw aplikacji Rozwiń oceny diff --git a/app/src/main/res/values/preferences_keys.xml b/app/src/main/res/values/preferences_keys.xml index b09ee51b..730fea59 100644 --- a/app/src/main/res/values/preferences_keys.xml +++ b/app/src/main/res/values/preferences_keys.xml @@ -6,6 +6,7 @@ grade_color_scheme expand_grade grade_average_mode + grade_average_always_calc services_enable services_interval services_disable_wifi_only diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b6424876..fd94e5b6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -237,6 +237,7 @@ Appearance Default view Calculation of the end-of-year average + Force average calculation by app Show presence in attendance Application theme Expand grades diff --git a/app/src/main/res/xml/scheme_preferences.xml b/app/src/main/res/xml/scheme_preferences.xml index 149024c0..ccacfe9d 100644 --- a/app/src/main/res/xml/scheme_preferences.xml +++ b/app/src/main/res/xml/scheme_preferences.xml @@ -105,6 +105,11 @@ android:summary="%s" android:title="@string/pref_view_grade_average_mode" app:iconSpaceReserved="false" /> +