From e08abc1fc25fcd47f50566ad0762cd1b64150d1f Mon Sep 17 00:00:00 2001 From: Mateusz Idziejczak Date: Fri, 25 Sep 2020 15:45:07 +0200 Subject: [PATCH] Show subjects without grades in "Grades" (#947) --- .../data/repositories/preferences/PreferencesRepository.kt | 3 +++ .../ui/modules/grade/details/GradeDetailsPresenter.kt | 2 +- app/src/main/res/values-pl/strings.xml | 1 + app/src/main/res/values/preferences_defaults.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 | 6 ++++++ 7 files changed, 14 insertions(+), 1 deletion(-) 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 1d5e57f8a..a6c83fc91 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 @@ -80,6 +80,9 @@ class PreferencesRepository @Inject constructor( val showTimetableTimers: Boolean get() = getBoolean(R.string.pref_key_timetable_show_timers, R.bool.pref_default_timetable_show_timers) + val showSubjectsWithoutGrades: Boolean + get() = getBoolean(R.string.pref_key_subjects_without_grades, R.bool.pref_default_subjects_without_grades) + private fun getString(id: Int, default: Int) = getString(context.getString(id), default) private fun getString(id: String, default: Int) = sharedPref.getString(id, context.getString(default)) ?: context.getString(default) diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsPresenter.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsPresenter.kt index a36517938..3dfa0206d 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsPresenter.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsPresenter.kt @@ -186,7 +186,7 @@ class GradeDetailsPresenter @Inject constructor( private fun createGradeItems(items: List): List { return items - .filter { it.grades.isNotEmpty() } + .let { if (!preferencesRepository.showSubjectsWithoutGrades) it.filter { it.grades.isNotEmpty() } else it.filter { true }} .sortedBy { it.subject } .map { (subject, average, points, _, grades) -> val subItems = grades diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index bc94b227f..486290587 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -359,6 +359,7 @@ Oznaczaj bieżącą lekcję na planie Pokazuj listę wykresów w ocenach klasy Pokazuj lekcje całej klasy + Pokazuj przedmioty bez ocen w Oceny Schemat kolorów ocen Język aplikacji Powiadomienia diff --git a/app/src/main/res/values/preferences_defaults.xml b/app/src/main/res/values/preferences_defaults.xml index a82b14eb7..5c6eb7d69 100644 --- a/app/src/main/res/values/preferences_defaults.xml +++ b/app/src/main/res/values/preferences_defaults.xml @@ -20,4 +20,5 @@ true no false + false diff --git a/app/src/main/res/values/preferences_keys.xml b/app/src/main/res/values/preferences_keys.xml index 6cb877ec2..1a0311b36 100644 --- a/app/src/main/res/values/preferences_keys.xml +++ b/app/src/main/res/values/preferences_keys.xml @@ -22,4 +22,5 @@ fill_message_content show_whole_class_plan timetable_show_timers + subjects_without_grades diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7df2b68a8..d461299da 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -385,6 +385,7 @@ Mark current lesson in timetable Show chart list in class grades Show whole class lessons + Show subjects without grades in Grades Grades color scheme App language diff --git a/app/src/main/res/xml/scheme_preferences.xml b/app/src/main/res/xml/scheme_preferences.xml index 4cdb989c7..bbb2aaeb7 100644 --- a/app/src/main/res/xml/scheme_preferences.xml +++ b/app/src/main/res/xml/scheme_preferences.xml @@ -40,6 +40,12 @@ app:key="@string/pref_key_grade_statistics_list" app:singleLineTitle="false" app:title="@string/pref_view_grade_statistics_list" /> +