From ce9b12eb9311e9a4aefdc0e30fb6b5ef50f06882 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Borcz?= Date: Wed, 16 Oct 2019 22:27:16 +0200 Subject: [PATCH] Add system theme setting for Android 10 (#554) --- .../io/github/wulkanowy/ui/base/ThemeManager.kt | 9 +++++++-- .../main/res/values-pl-v29/preferences_values.xml | 9 +++++++++ app/src/main/res/values-pl/preferences_values.xml | 4 ++-- .../main/res/values-v29/preferences_defaults.xml | 4 ++++ .../main/res/values-v29/preferences_values.xml | 15 +++++++++++++++ app/src/main/res/values/preferences_values.xml | 6 +++--- 6 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 app/src/main/res/values-pl-v29/preferences_values.xml create mode 100644 app/src/main/res/values-v29/preferences_defaults.xml create mode 100644 app/src/main/res/values-v29/preferences_values.xml diff --git a/app/src/main/java/io/github/wulkanowy/ui/base/ThemeManager.kt b/app/src/main/java/io/github/wulkanowy/ui/base/ThemeManager.kt index 5b347fe8..50134861 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/base/ThemeManager.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/base/ThemeManager.kt @@ -3,6 +3,7 @@ package io.github.wulkanowy.ui.base import android.content.pm.PackageManager.GET_ACTIVITIES import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatDelegate +import androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM import androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_NO import androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_YES import io.github.wulkanowy.R @@ -22,8 +23,12 @@ class ThemeManager @Inject constructor(private val preferencesRepository: Prefer fun applyDefaultTheme() { AppCompatDelegate.setDefaultNightMode( - if (preferencesRepository.appTheme == "light") MODE_NIGHT_NO - else MODE_NIGHT_YES + when (val theme = preferencesRepository.appTheme) { + "light" -> MODE_NIGHT_NO + "dark", "black" -> MODE_NIGHT_YES + "system" -> MODE_NIGHT_FOLLOW_SYSTEM + else -> throw IllegalArgumentException("Wrong theme: $theme") + } ) } diff --git a/app/src/main/res/values-pl-v29/preferences_values.xml b/app/src/main/res/values-pl-v29/preferences_values.xml new file mode 100644 index 00000000..57f20804 --- /dev/null +++ b/app/src/main/res/values-pl-v29/preferences_values.xml @@ -0,0 +1,9 @@ + + + + Motyw systemu + Jasny + Ciemny + Czarny (AMOLED) + + diff --git a/app/src/main/res/values-pl/preferences_values.xml b/app/src/main/res/values-pl/preferences_values.xml index 868ead4d..e4c30eb0 100644 --- a/app/src/main/res/values-pl/preferences_values.xml +++ b/app/src/main/res/values-pl/preferences_values.xml @@ -1,5 +1,5 @@ - + 15 minut 30 minut @@ -10,7 +10,7 @@ 24 godziny - + Jasny Ciemny Czarny (AMOLED) diff --git a/app/src/main/res/values-v29/preferences_defaults.xml b/app/src/main/res/values-v29/preferences_defaults.xml new file mode 100644 index 00000000..bb573d66 --- /dev/null +++ b/app/src/main/res/values-v29/preferences_defaults.xml @@ -0,0 +1,4 @@ + + + system + diff --git a/app/src/main/res/values-v29/preferences_values.xml b/app/src/main/res/values-v29/preferences_values.xml new file mode 100644 index 00000000..f27c1c69 --- /dev/null +++ b/app/src/main/res/values-v29/preferences_values.xml @@ -0,0 +1,15 @@ + + + + System theme + Light + Dark + Black (AMOLED) + + + system + light + dark + black + + diff --git a/app/src/main/res/values/preferences_values.xml b/app/src/main/res/values/preferences_values.xml index 97396baa..289f14f3 100644 --- a/app/src/main/res/values/preferences_values.xml +++ b/app/src/main/res/values/preferences_values.xml @@ -1,5 +1,5 @@ - + @string/grade_title @string/attendance_title @@ -13,12 +13,12 @@ 3 - + Light Dark Black (AMOLED) - + light dark black