diff --git a/app/src/main/java/com/sapuseven/untis/activities/MainActivity.kt b/app/src/main/java/com/sapuseven/untis/activities/MainActivity.kt index 2cb69218e..f1e652666 100644 --- a/app/src/main/java/com/sapuseven/untis/activities/MainActivity.kt +++ b/app/src/main/java/com/sapuseven/untis/activities/MainActivity.kt @@ -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 @@ -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 } @@ -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 } @@ -1165,6 +1170,8 @@ class NewMainAppState @OptIn(ExperimentalMaterial3Api::class) constructor( var backgroundExamPast: State, var backgroundCancelled: State, var backgroundCancelledPast: State, + var backgroundHomework: State, + var backgroundHomeworkPast: State, var backgroundIrregular: State, var backgroundIrregularPast: State, var weekLength: State, @@ -2088,6 +2095,8 @@ fun rememberWeekViewPreferences( backgroundExamPast: State = preferences.backgroundExamPast.getState(), backgroundCancelled: State = preferences.backgroundCancelled.getState(), backgroundCancelledPast: State = preferences.backgroundCancelledPast.getState(), + backgroundHomework: State = preferences.backgroundHomework.getState(), + backgroundHomeworkPast: State = preferences.backgroundHomeworkPast.getState(), backgroundIrregular: State = preferences.backgroundIrregular.getState(), backgroundIrregularPast: State = preferences.backgroundIrregularPast.getState(), weekLength: State = preferences.weekCustomRange.getValueFlow() @@ -2117,6 +2126,8 @@ fun rememberWeekViewPreferences( backgroundExamPast = backgroundExamPast, backgroundCancelled = backgroundCancelled, backgroundCancelledPast = backgroundCancelledPast, + backgroundHomework = backgroundHomework, + backgroundHomeworkPast = backgroundHomeworkPast, backgroundIrregular = backgroundIrregular, backgroundIrregularPast = backgroundIrregularPast, weekLength = weekLength, diff --git a/app/src/main/java/com/sapuseven/untis/activities/SettingsActivity.kt b/app/src/main/java/com/sapuseven/untis/activities/SettingsActivity.kt index 11a1ac06b..67ac6d02b 100755 --- a/app/src/main/java/com/sapuseven/untis/activities/SettingsActivity.kt +++ b/app/src/main/java/com/sapuseven/untis/activities/SettingsActivity.kt @@ -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( diff --git a/app/src/main/java/com/sapuseven/untis/preferences/DataStorePreferences.kt b/app/src/main/java/com/sapuseven/untis/preferences/DataStorePreferences.kt index 372062227..7bb0fca8c 100644 --- a/app/src/main/java/com/sapuseven/untis/preferences/DataStorePreferences.kt +++ b/app/src/main/java/com/sapuseven/untis/preferences/DataStorePreferences.kt @@ -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( @@ -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", @@ -270,6 +284,8 @@ class DataStorePreferences( val backgroundIrregularPast: UntisPreferenceDataStore, val backgroundCancelled: UntisPreferenceDataStore, val backgroundCancelledPast: UntisPreferenceDataStore, + val backgroundHomework: UntisPreferenceDataStore, + val backgroundHomeworkPast: UntisPreferenceDataStore, val themeColor: UntisPreferenceDataStore, val darkTheme: UntisPreferenceDataStore, val darkThemeOled: UntisPreferenceDataStore, diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index d604c40b7..77afac081 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -157,6 +157,8 @@ Mindestpausendauer Entfallene Stunden Vergangene entfallene Stunden + Stunden mit Hausaufgaben + Vergangene Stunden mit Hausaufgaben Stunden mit Tests Vergangene Stunden mit Tests Hintergrundfarbe zukünftiger Tage diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 29ffaf187..208b9388a 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -116,4 +116,5 @@ Causa desconocida %2$s - %4$s, %1$s Primero el más antiguo - \ No newline at end of file + Lecciones con deberes + diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 3d0fa6d7b..2ef5483d5 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -244,6 +244,7 @@ Ezohiko eskolak Iraganean bertan behera utzi diren eskolak Iraganean azterketak izan dituzten eskolak + Ikasgaiak etxeko lanekin Azterketak dituzten eskolak Bertan behera utzitako eskolak Ez molestatu modua automatikoki aktibatzen du eskola orduetan diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 1559aeb37..a95f255ab 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -122,6 +122,7 @@ Cours irréguliers Arrière-plan pour journée à venir Anciens cours avec un examen + Cours avec devoirs Cours avec un examen Anciens cours annulés Cours annulés @@ -364,4 +365,4 @@ Afficher les 90 derniers jours Année scolaire en cours Filtrer les absences - \ No newline at end of file + diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 839021bcb..bb32e7aa7 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -288,6 +288,7 @@ Izvanredna nastava Pozadina budućih dana Prošla nastava s testovima + 숙제가 있는 코스 Nastava s testovima Prošla otkazana nastava Otkazana nastava @@ -377,4 +378,4 @@ Osobno Jezik aplikacije Jezik aplikacije - \ No newline at end of file + diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 3d9f83650..658a9022f 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -130,6 +130,7 @@ Forstum kansellerte skoletimer også Kansellerte leksjoner Tidligere kansellerte leksjoner + Leksjoner med lekser Leksjoner med prøver Tidligere leksjoner med prøver Bakgrunn for fremtidig dager @@ -294,4 +295,4 @@ Send inn fraværskontroll Rediger Rediger leksjonstema - \ No newline at end of file + diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index c6a8dc122..e2217e391 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -76,4 +76,5 @@ Afwezigheden Huiswerk Ongeldige server URL! - \ No newline at end of file + Cursussen met huiswerk + diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 6cc962b8f..ff047d178 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -34,6 +34,7 @@ Wybierz jedną z następujących opcji, aby się zalogować: Brak wyników Szukaj poprzez nazwę szkoły lub adres + Lekcje z pracą domową Ukryj anulowane lekcje Ten Pokój jest wolny teraz. @@ -65,4 +66,4 @@ Wstecz Edytuj Błąd: %1$s - \ No newline at end of file + diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 8b1f0e439..97db01952 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -27,6 +27,7 @@ Ошибки Сегодня Соединение… + Уроки с домашним заданием Уроки с тестами Классы Нет @@ -252,4 +253,4 @@ Предметы Старее Перс. - \ No newline at end of file + diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 33602fcde..7246d41db 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -44,6 +44,7 @@ Geçmiş düzensiz dersler Düzensiz dersler Geçmiş testi bulunan dersler + Ev ödevli dersler Testi bulunan dersler Geçmiş iptal edilen dersler İptal edilen dersler diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index ec134686b..8455b98bc 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -255,6 +255,7 @@ 考试课程(过期) 不定期课程(过期) 未来日期背景 + 有家庭作业的课程 考试课程 不定期课程 "/ " diff --git a/app/src/main/res/values/defaults.xml b/app/src/main/res/values/defaults.xml index ac8f6a172..e1c0621bb 100755 --- a/app/src/main/res/values/defaults.xml +++ b/app/src/main/res/values/defaults.xml @@ -30,6 +30,8 @@ 0xFF388E3C 0xFF9E9E9E 0xFF616161 + 0xFFCD9E + 0xFFB661 0x00000000 0x40808080 0xFFFFFFFF diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 86a3d35bb..3577504d1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -198,6 +198,8 @@ Don\'t allow priority events to ignore aute-mute Cancelled lessons Past cancelled lessons + Lessons with homework + Past lessons with homework Lessons with tests Past lessons with tests Future day background