diff --git a/app/src/main/java/net/vonforst/evmap/fragment/SettingsFragment.kt b/app/src/main/java/net/vonforst/evmap/fragment/SettingsFragment.kt
index ed9ff76f..18acb20a 100644
--- a/app/src/main/java/net/vonforst/evmap/fragment/SettingsFragment.kt
+++ b/app/src/main/java/net/vonforst/evmap/fragment/SettingsFragment.kt
@@ -3,6 +3,7 @@ package net.vonforst.evmap.fragment
import android.content.SharedPreferences
import android.os.Bundle
import android.view.View
+import androidx.appcompat.app.AppCompatDelegate
import androidx.appcompat.widget.Toolbar
import androidx.navigation.fragment.findNavController
import androidx.navigation.ui.setupWithNavController
@@ -10,13 +11,17 @@ import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
import net.vonforst.evmap.MapsActivity
import net.vonforst.evmap.R
+import net.vonforst.evmap.storage.PreferenceDataSource
class SettingsFragment : PreferenceFragmentCompat(),
SharedPreferences.OnSharedPreferenceChangeListener {
+ private lateinit var prefs: PreferenceDataSource
+
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val toolbar = view.findViewById(R.id.toolbar) as Toolbar
+ prefs = PreferenceDataSource(requireContext())
val navController = findNavController()
toolbar.setupWithNavController(
@@ -43,6 +48,15 @@ class SettingsFragment : PreferenceFragmentCompat(),
it.startActivity(it.intent);
}
}
+ "darkmode" -> {
+ AppCompatDelegate.setDefaultNightMode(
+ when (prefs.darkmode) {
+ "on" -> AppCompatDelegate.MODE_NIGHT_YES
+ "off" -> AppCompatDelegate.MODE_NIGHT_NO
+ else -> AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM
+ }
+ )
+ }
}
}
diff --git a/app/src/main/java/net/vonforst/evmap/storage/PreferenceDataSource.kt b/app/src/main/java/net/vonforst/evmap/storage/PreferenceDataSource.kt
index 1fc53b65..6c560599 100644
--- a/app/src/main/java/net/vonforst/evmap/storage/PreferenceDataSource.kt
+++ b/app/src/main/java/net/vonforst/evmap/storage/PreferenceDataSource.kt
@@ -39,4 +39,7 @@ class PreferenceDataSource(context: Context) {
val language: String
get() = sp.getString("language", "default")!!
+
+ val darkmode: String
+ get() = sp.getString("darkmode", "default")!!
}
\ No newline at end of file
diff --git a/app/src/main/res/values-de/arrays.xml b/app/src/main/res/values-de/arrays.xml
index bc97baa4..22a4ff1c 100644
--- a/app/src/main/res/values-de/arrays.xml
+++ b/app/src/main/res/values-de/arrays.xml
@@ -5,4 +5,9 @@
- Englisch
- Deutsch
+
+ - Geräteeinstellung verwenden
+ - immer an
+ - immer aus
+
\ No newline at end of file
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 161286cc..27fa741c 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -92,6 +92,8 @@
OK
Sprache
App-Sprache ändern
+ Dunkles Design
+ Einstellen, wann der Nachtmodus genutzt wird
Ladesäulen konnten nicht geladen werden
Wiederholen
24 Stunden geöffnet
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 823cb663..b1a9c8d1 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -10,4 +10,14 @@
- en
- de
+
+ - Device default
+ - always on
+ - always off
+
+
+ - default
+ - on
+ - off
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 3480706f..0688c242 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -91,6 +91,8 @@
OK
Language
Change the app language
+ Dark mode
+ Set when dark mode is activated
Could not load charging stations
Retry
Available 24/7
diff --git a/app/src/main/res/xml/settings.xml b/app/src/main/res/xml/settings.xml
index e37feb9e..ea0a28ee 100644
--- a/app/src/main/res/xml/settings.xml
+++ b/app/src/main/res/xml/settings.xml
@@ -18,5 +18,13 @@
android:defaultValue="default"
android:summary="@string/pref_language_summary" />
+
+
\ No newline at end of file