Show subjects without grades in "Grades" (#947)

This commit is contained in:
Mateusz Idziejczak 2020-09-25 15:45:07 +02:00 committed by GitHub
parent 2a74b11cce
commit e08abc1fc2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 14 additions and 1 deletions

View File

@ -80,6 +80,9 @@ class PreferencesRepository @Inject constructor(
val showTimetableTimers: Boolean val showTimetableTimers: Boolean
get() = getBoolean(R.string.pref_key_timetable_show_timers, R.bool.pref_default_timetable_show_timers) 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: Int, default: Int) = getString(context.getString(id), default)
private fun getString(id: String, default: Int) = sharedPref.getString(id, context.getString(default)) ?: context.getString(default) private fun getString(id: String, default: Int) = sharedPref.getString(id, context.getString(default)) ?: context.getString(default)

View File

@ -186,7 +186,7 @@ class GradeDetailsPresenter @Inject constructor(
private fun createGradeItems(items: List<GradeDetailsWithAverage>): List<GradeDetailsItem> { private fun createGradeItems(items: List<GradeDetailsWithAverage>): List<GradeDetailsItem> {
return items return items
.filter { it.grades.isNotEmpty() } .let { if (!preferencesRepository.showSubjectsWithoutGrades) it.filter { it.grades.isNotEmpty() } else it.filter { true }}
.sortedBy { it.subject } .sortedBy { it.subject }
.map { (subject, average, points, _, grades) -> .map { (subject, average, points, _, grades) ->
val subItems = grades val subItems = grades

View File

@ -359,6 +359,7 @@
<string name="pref_view_timetable_show_timers">Oznaczaj bieżącą lekcję na planie</string> <string name="pref_view_timetable_show_timers">Oznaczaj bieżącą lekcję na planie</string>
<string name="pref_view_grade_statistics_list">Pokazuj listę wykresów w ocenach klasy</string> <string name="pref_view_grade_statistics_list">Pokazuj listę wykresów w ocenach klasy</string>
<string name="pref_view_timetable_show_whole_class">Pokazuj lekcje całej klasy</string> <string name="pref_view_timetable_show_whole_class">Pokazuj lekcje całej klasy</string>
<string name="pref_view_subjects_without_grades">Pokazuj przedmioty bez ocen w Oceny</string>
<string name="pref_view_grade_color_scheme">Schemat kolorów ocen</string> <string name="pref_view_grade_color_scheme">Schemat kolorów ocen</string>
<string name="pref_view_app_language">Język aplikacji</string> <string name="pref_view_app_language">Język aplikacji</string>
<string name="pref_notify_header">Powiadomienia</string> <string name="pref_notify_header">Powiadomienia</string>

View File

@ -20,4 +20,5 @@
<bool name="pref_default_fill_message_content">true</bool> <bool name="pref_default_fill_message_content">true</bool>
<string name="pref_default_timetable_show_whole_class">no</string> <string name="pref_default_timetable_show_whole_class">no</string>
<bool name="pref_default_timetable_show_timers">false</bool> <bool name="pref_default_timetable_show_timers">false</bool>
<bool name="pref_default_subjects_without_grades">false</bool>
</resources> </resources>

View File

@ -22,4 +22,5 @@
<string name="pref_key_fill_message_content">fill_message_content</string> <string name="pref_key_fill_message_content">fill_message_content</string>
<string name="pref_key_timetable_show_whole_class">show_whole_class_plan</string> <string name="pref_key_timetable_show_whole_class">show_whole_class_plan</string>
<string name="pref_key_timetable_show_timers">timetable_show_timers</string> <string name="pref_key_timetable_show_timers">timetable_show_timers</string>
<string name="pref_key_subjects_without_grades">subjects_without_grades</string>
</resources> </resources>

View File

@ -385,6 +385,7 @@
<string name="pref_view_timetable_show_timers">Mark current lesson in timetable</string> <string name="pref_view_timetable_show_timers">Mark current lesson in timetable</string>
<string name="pref_view_grade_statistics_list">Show chart list in class grades</string> <string name="pref_view_grade_statistics_list">Show chart list in class grades</string>
<string name="pref_view_timetable_show_whole_class">Show whole class lessons</string> <string name="pref_view_timetable_show_whole_class">Show whole class lessons</string>
<string name="pref_view_subjects_without_grades">Show subjects without grades in Grades</string>
<string name="pref_view_grade_color_scheme">Grades color scheme</string> <string name="pref_view_grade_color_scheme">Grades color scheme</string>
<string name="pref_view_app_language">App language</string> <string name="pref_view_app_language">App language</string>

View File

@ -40,6 +40,12 @@
app:key="@string/pref_key_grade_statistics_list" app:key="@string/pref_key_grade_statistics_list"
app:singleLineTitle="false" app:singleLineTitle="false"
app:title="@string/pref_view_grade_statistics_list" /> app:title="@string/pref_view_grade_statistics_list" />
<SwitchPreferenceCompat
app:defaultValue="@bool/pref_default_subjects_without_grades"
app:iconSpaceReserved="false"
app:key="@string/pref_key_subjects_without_grades"
app:singleLineTitle="false"
app:title="@string/pref_view_subjects_without_grades" />
<ListPreference <ListPreference
app:defaultValue="@string/pref_default_timetable_show_whole_class" app:defaultValue="@string/pref_default_timetable_show_whole_class"
app:entries="@array/timetable_show_whole_class_entries" app:entries="@array/timetable_show_whole_class_entries"