Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add color highlighting for subjects with homework #445

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions app/src/main/java/com/sapuseven/untis/activities/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -916,6 +916,8 @@ class NewMainAppState @OptIn(ExperimentalMaterial3Api::class) constructor(
val examPastColor = weekViewPreferences.backgroundExamPast.value
val cancelledColor = weekViewPreferences.backgroundCancelled.value
val cancelledPastColor = weekViewPreferences.backgroundCancelledPast.value
val homeworkColor = weekViewPreferences.backgroundHomework.value
val homeworkPastColor = weekViewPreferences.backgroundHomeworkPast.value
val irregularColor = weekViewPreferences.backgroundIrregular.value
val irregularPastColor = weekViewPreferences.backgroundIrregularPast.value

Expand All @@ -930,6 +932,7 @@ class NewMainAppState @OptIn(ExperimentalMaterial3Api::class) constructor(
item.periodData.isExam() -> if (useDefault.contains("exam")) defaultColor else examColor
item.periodData.isCancelled() -> if (useDefault.contains("cancelled")) defaultColor else cancelledColor
item.periodData.isIrregular() -> if (useDefault.contains("irregular")) defaultColor else irregularColor
item.periodData.element.homeWorks?.isNotEmpty() == true -> homeworkColor
else -> if (useDefault.contains("regular")) defaultColor else regularColor
}

Expand All @@ -946,6 +949,8 @@ class NewMainAppState @OptIn(ExperimentalMaterial3Api::class) constructor(
0.25f
) else irregularPastColor

item.periodData.element.homeWorks?.isNotEmpty() == true -> homeworkPastColor

else -> if (useDefault.contains("regular")) defaultColor.darken(0.25f) else regularPastColor
}

Expand Down Expand Up @@ -1165,6 +1170,8 @@ class NewMainAppState @OptIn(ExperimentalMaterial3Api::class) constructor(
var backgroundExamPast: State<Int>,
var backgroundCancelled: State<Int>,
var backgroundCancelledPast: State<Int>,
var backgroundHomework: State<Int>,
var backgroundHomeworkPast: State<Int>,
var backgroundIrregular: State<Int>,
var backgroundIrregularPast: State<Int>,
var weekLength: State<Int>,
Expand Down Expand Up @@ -2088,6 +2095,8 @@ fun rememberWeekViewPreferences(
backgroundExamPast: State<Int> = preferences.backgroundExamPast.getState(),
backgroundCancelled: State<Int> = preferences.backgroundCancelled.getState(),
backgroundCancelledPast: State<Int> = preferences.backgroundCancelledPast.getState(),
backgroundHomework: State<Int> = preferences.backgroundHomework.getState(),
backgroundHomeworkPast: State<Int> = preferences.backgroundHomeworkPast.getState(),
backgroundIrregular: State<Int> = preferences.backgroundIrregular.getState(),
backgroundIrregularPast: State<Int> = preferences.backgroundIrregularPast.getState(),
weekLength: State<Int> = preferences.weekCustomRange.getValueFlow()
Expand Down Expand Up @@ -2117,6 +2126,8 @@ fun rememberWeekViewPreferences(
backgroundExamPast = backgroundExamPast,
backgroundCancelled = backgroundCancelled,
backgroundCancelledPast = backgroundCancelledPast,
backgroundHomework = backgroundHomework,
backgroundHomeworkPast = backgroundHomeworkPast,
backgroundIrregular = backgroundIrregular,
backgroundIrregularPast = backgroundIrregularPast,
weekLength = weekLength,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -457,6 +457,26 @@ class SettingsActivity : BaseComposeActivity() {
defaultValueLabel = stringResource(id = R.string.preferences_theme_color)
)

ColorPreference(
title = { Text(stringResource(R.string.preference_background_homework)) },
dependency = dataStorePreferences.schoolBackground.with(
dependencyValue = { !it.contains("homework") }
),
dataStore = dataStorePreferences.backgroundHomework,
showAlphaSlider = true,
defaultValueLabel = stringResource(id = R.string.preferences_theme_color)
)

ColorPreference(
title = { Text(stringResource(R.string.preference_background_homework_past)) },
dependency = dataStorePreferences.schoolBackground.with(
dependencyValue = { !it.contains("homework") }
),
dataStore = dataStorePreferences.backgroundHomeworkPast,
showAlphaSlider = true,
defaultValueLabel = stringResource(id = R.string.preferences_theme_color)
)

ColorPreference(
title = { Text(stringResource(R.string.preference_background_irregular)) },
dependency = dataStorePreferences.schoolBackground.with(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
package com.sapuseven.untis.preferences

import android.graphics.Color
import android.os.Build
import androidx.annotation.RequiresApi
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.platform.LocalContext
import androidx.core.graphics.ColorUtils
import androidx.core.graphics.toColor
import com.sapuseven.untis.activities.BaseComposeActivity
import com.sapuseven.untis.helpers.config.*
import com.sapuseven.untis.ui.preferences.materialColors

val BaseComposeActivity.dataStorePreferences: DataStorePreferences
@Composable
@RequiresApi(Build.VERSION_CODES.O) @Composable
get() = LocalContext.current.run {
DataStorePreferences(
doubleTapToExit = this.booleanDataStore(
Expand Down Expand Up @@ -107,6 +111,16 @@ val BaseComposeActivity.dataStorePreferences: DataStorePreferences
"preference_background_cancelled_past",
defaultValue = MaterialTheme.colorScheme.secondary.copy(alpha = .7f).toArgb()
),
backgroundHomework = this.intDataStore(
currentUserId(),
"preference_background_homework",
defaultValue = ColorUtils.blendARGB(MaterialTheme.colorScheme.primary.toArgb(), MaterialTheme.colorScheme.error.toArgb(), .7f).toColor().toArgb()
),
backgroundHomeworkPast = this.intDataStore(
currentUserId(),
"preference_background_homework_past",
defaultValue = ColorUtils.setAlphaComponent(ColorUtils.blendARGB(MaterialTheme.colorScheme.primary.toArgb(), MaterialTheme.colorScheme.error.toArgb(), .7f).toColor().toArgb(), 178)
),
themeColor = this.intDataStore(
currentUserId(),
"preference_theme_color",
Expand Down Expand Up @@ -270,6 +284,8 @@ class DataStorePreferences(
val backgroundIrregularPast: UntisPreferenceDataStore<Int>,
val backgroundCancelled: UntisPreferenceDataStore<Int>,
val backgroundCancelledPast: UntisPreferenceDataStore<Int>,
val backgroundHomework: UntisPreferenceDataStore<Int>,
val backgroundHomeworkPast: UntisPreferenceDataStore<Int>,
val themeColor: UntisPreferenceDataStore<Int>,
val darkTheme: UntisPreferenceDataStore<String>,
val darkThemeOled: UntisPreferenceDataStore<Boolean>,
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-de/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,8 @@
<string name="preference_automute_minimum_break_length">Mindestpausendauer</string>
<string name="preference_background_cancelled">Entfallene Stunden</string>
<string name="preference_background_cancelled_past">Vergangene entfallene Stunden</string>
<string name="preference_background_homework">Stunden mit Hausaufgaben</string>
<string name="preference_background_homework_past">Vergangene Stunden mit Hausaufgaben</string>
<string name="preference_background_exam">Stunden mit Tests</string>
<string name="preference_background_exam_past">Vergangene Stunden mit Tests</string>
<string name="preference_background_future">Hintergrundfarbe zukünftiger Tage</string>
Expand Down
3 changes: 2 additions & 1 deletion app/src/main/res/values-es/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -116,4 +116,5 @@
<string name="infocenter_absence_unknown_reason">Causa desconocida</string>
<string name="infocenter_timeformat_sameday">%2$s - %4$s, %1$s</string>
<string name="infocenter_absences_filter_oldest_first">Primero el más antiguo</string>
</resources>
<string name="preference_background_homework">Lecciones con deberes</string>
</resources>
1 change: 1 addition & 0 deletions app/src/main/res/values-eu/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,7 @@
<string name="preference_background_irregular">Ezohiko eskolak</string>
<string name="preference_background_cancelled_past">Iraganean bertan behera utzi diren eskolak</string>
<string name="preference_background_exam_past">Iraganean azterketak izan dituzten eskolak</string>
<string name="preference_background_homework">Ikasgaiak etxeko lanekin</string>
<string name="preference_background_exam">Azterketak dituzten eskolak</string>
<string name="preference_background_cancelled">Bertan behera utzitako eskolak</string>
<string name="preference_automute_enable_summary">Ez molestatu modua automatikoki aktibatzen du eskola orduetan</string>
Expand Down
3 changes: 2 additions & 1 deletion app/src/main/res/values-fr/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@
<string name="preference_background_irregular">Cours irréguliers</string>
<string name="preference_background_future">Arrière-plan pour journée à venir</string>
<string name="preference_background_exam_past">Anciens cours avec un examen</string>
<string name="preference_background_homework">Cours avec devoirs</string>
<string name="preference_background_exam">Cours avec un examen</string>
<string name="preference_background_cancelled_past">Anciens cours annulés</string>
<string name="preference_background_cancelled">Cours annulés</string>
Expand Down Expand Up @@ -364,4 +365,4 @@
<string name="infocenter_absences_list_ninety_days">Afficher les 90 derniers jours</string>
<string name="infocenter_absences_list_schoolyear">Année scolaire en cours</string>
<string name="infocenter_absences_filter">Filtrer les absences</string>
</resources>
</resources>
3 changes: 2 additions & 1 deletion app/src/main/res/values-hr/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,7 @@
<string name="preference_background_irregular">Izvanredna nastava</string>
<string name="preference_background_future">Pozadina budućih dana</string>
<string name="preference_background_exam_past">Prošla nastava s testovima</string>
<string name="preference_background_homework">숙제가 있는 코스</string>
<string name="preference_background_exam">Nastava s testovima</string>
<string name="preference_background_cancelled_past">Prošla otkazana nastava</string>
<string name="preference_background_cancelled">Otkazana nastava</string>
Expand Down Expand Up @@ -377,4 +378,4 @@
<string name="all_personal_abbr">Osobno</string>
<string name="preference_category_app_language">Jezik aplikacije</string>
<string name="preference_app_language">Jezik aplikacije</string>
</resources>
</resources>
3 changes: 2 additions & 1 deletion app/src/main/res/values-nb/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@
<string name="preference_automute_cancelled_lessons">Forstum kansellerte skoletimer også</string>
<string name="preference_background_cancelled">Kansellerte leksjoner</string>
<string name="preference_background_cancelled_past">Tidligere kansellerte leksjoner</string>
<string name="preference_background_homework">Leksjoner med lekser</string>
<string name="preference_background_exam">Leksjoner med prøver</string>
<string name="preference_background_exam_past">Tidligere leksjoner med prøver</string>
<string name="preference_background_future">Bakgrunn for fremtidig dager</string>
Expand Down Expand Up @@ -294,4 +295,4 @@
<string name="all_dialog_absences_save">Send inn fraværskontroll</string>
<string name="all_edit">Rediger</string>
<string name="all_lessontopic_edit">Rediger leksjonstema</string>
</resources>
</resources>
3 changes: 2 additions & 1 deletion app/src/main/res/values-nl/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -76,4 +76,5 @@
<string name="all_absences">Afwezigheden</string>
<string name="all_homework">Huiswerk</string>
<string name="errormessagedictionary_invalid_server_url">Ongeldige server URL!</string>
</resources>
<string name="preference_background_homework">Cursussen met huiswerk</string>
</resources>
3 changes: 2 additions & 1 deletion app/src/main/res/values-pl/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
<string name="login_please_log_in">Wybierz jedną z następujących opcji, aby się zalogować:</string>
<string name="login_no_results">Brak wyników</string>
<string name="login_search_by_school_name_or_address">Szukaj poprzez nazwę szkoły lub adres</string>
<string name="preference_background_homework">Lekcje z pracą domową</string>
<string name="preference_timetable_hide_cancelled">Ukryj anulowane lekcje</string>
<plurals name="roomfinder_item_desc">
<item quantity="one">Ten Pokój jest wolny teraz.</item>
Expand Down Expand Up @@ -65,4 +66,4 @@
<string name="all_back">Wstecz</string>
<string name="all_edit">Edytuj</string>
<string name="all_error_details">Błąd: %1$s</string>
</resources>
</resources>
3 changes: 2 additions & 1 deletion app/src/main/res/values-ru/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
<string name="activity_title_errors">Ошибки</string>
<string name="all_dialog_datepicker_button_today">Сегодня</string>
<string name="logindatainput_connecting">Соединение…</string>
<string name="preference_background_homework">Уроки с домашним заданием</string>
<string name="preference_background_exam">Уроки с тестами</string>
<string name="all_classes">Классы</string>
<string name="all_no">Нет</string>
Expand Down Expand Up @@ -252,4 +253,4 @@
<string name="all_subjects">Предметы</string>
<string name="infocenter_absences_filter_oldest_first">Старее</string>
<string name="all_personal_abbr">Перс.</string>
</resources>
</resources>
1 change: 1 addition & 0 deletions app/src/main/res/values-tr/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
<string name="preference_background_irregular_past">Geçmiş düzensiz dersler</string>
<string name="preference_background_irregular">Düzensiz dersler</string>
<string name="preference_background_exam_past">Geçmiş testi bulunan dersler</string>
<string name="preference_background_homework">Ev ödevli dersler</string>
<string name="preference_background_exam">Testi bulunan dersler</string>
<string name="preference_background_cancelled_past">Geçmiş iptal edilen dersler</string>
<string name="preference_background_cancelled">İptal edilen dersler</string>
Expand Down
1 change: 1 addition & 0 deletions app/src/main/res/values-zh-rCN/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,7 @@
<string name="preference_background_exam_past">考试课程(过期)</string>
<string name="preference_background_irregular_past">不定期课程(过期)</string>
<string name="preference_background_future">未来日期背景</string>
<string name="preference_background_homework">有家庭作业的课程</string>
<string name="preference_background_exam">考试课程</string>
<string name="preference_background_irregular">不定期课程</string>
<string name="notifications_text_message_separator">"/ "</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values/defaults.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@
<integer name="preference_background_irregular_past_default">0xFF388E3C</integer>
<integer name="preference_background_cancelled_default">0xFF9E9E9E</integer>
<integer name="preference_background_cancelled_past_default">0xFF616161</integer>
<integer name="preference_background_homework_default">0xFFCD9E</integer>
<integer name="preference_background_homework_past_default">0xFFB661</integer>
<integer name="preference_background_future_default">0x00000000</integer>
<integer name="preference_background_past_default">0x40808080</integer>
<integer name="preference_marker_default">0xFFFFFFFF</integer>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,8 @@
<string name="preference_automute_mute_priority">Don\'t allow priority events to ignore aute-mute</string>
<string name="preference_background_cancelled">Cancelled lessons</string>
<string name="preference_background_cancelled_past">Past cancelled lessons</string>
<string name="preference_background_homework">Lessons with homework</string>
<string name="preference_background_homework_past">Past lessons with homework</string>
<string name="preference_background_exam">Lessons with tests</string>
<string name="preference_background_exam_past">Past lessons with tests</string>
<string name="preference_background_future">Future day background</string>
Expand Down