mirror of
https://github.com/readrops/Readrops.git
synced 2025-02-09 08:28:39 +01:00
Add system theme option
This commit is contained in:
parent
6f7e2b7cef
commit
2f56f388e1
@ -31,10 +31,13 @@ open class ReadropsApp : Application() {
|
||||
modules(apiModule, dbModule, appModule)
|
||||
}
|
||||
|
||||
if (SharedPreferencesManager.readString(SharedPreferencesManager.SharedPrefKey.DARK_THEME).toBoolean())
|
||||
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
|
||||
else
|
||||
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
|
||||
val theme = when (SharedPreferencesManager.readString(SharedPreferencesManager.SharedPrefKey.DARK_THEME)) {
|
||||
getString(R.string.theme_value_light) -> AppCompatDelegate.MODE_NIGHT_NO
|
||||
getString(R.string.theme_value_dark) -> AppCompatDelegate.MODE_NIGHT_YES
|
||||
else -> AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM
|
||||
}
|
||||
|
||||
AppCompatDelegate.setDefaultNightMode(theme)
|
||||
}
|
||||
|
||||
private fun createNotificationChannels() {
|
||||
|
@ -1,5 +1,7 @@
|
||||
package com.readrops.app.settings;
|
||||
|
||||
import static com.readrops.app.utils.ReadropsKeys.FEEDS;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.util.Pair;
|
||||
@ -25,8 +27,6 @@ import java.util.ArrayList;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import static com.readrops.app.utils.ReadropsKeys.FEEDS;
|
||||
|
||||
public class SettingsFragment extends PreferenceFragmentCompat {
|
||||
|
||||
@Override
|
||||
@ -56,12 +56,12 @@ public class SettingsFragment extends PreferenceFragmentCompat {
|
||||
});
|
||||
|
||||
themePreference.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
boolean darkTheme = Boolean.parseBoolean(newValue.toString());
|
||||
|
||||
if (darkTheme) {
|
||||
if (newValue.equals(getString(R.string.theme_value_light))) {
|
||||
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
|
||||
} else if (newValue.equals(getString(R.string.theme_value_dark))) {
|
||||
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
|
||||
} else {
|
||||
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
|
||||
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -137,5 +137,6 @@
|
||||
<string name="source_code">Code source</string>
|
||||
<string name="changelog">Journal des modifications</string>
|
||||
<string name="app_description">App distribuée sous la licence GPLv3</string>
|
||||
<string name="system">Thème du système</string>
|
||||
|
||||
</resources>
|
@ -45,11 +45,13 @@
|
||||
<string-array name="themes">
|
||||
<item>@string/light</item>
|
||||
<item>@string/dark</item>
|
||||
<item>@string/system</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="themes_values">
|
||||
<item>false</item>
|
||||
<item>true</item>
|
||||
<item>@string/theme_value_light</item>
|
||||
<item>@string/theme_value_dark</item>
|
||||
<item>@string/theme_value_system</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="synchro">
|
||||
|
@ -140,4 +140,8 @@
|
||||
<string name="source_code">Source code</string>
|
||||
<string name="changelog">Changelog</string>
|
||||
<string name="changelog_url" translatable="false">https://github.com/readrops/Readrops/blob/develop/CHANGELOG.md</string>
|
||||
<string name="system">System theme</string>
|
||||
<string name="theme_value_light" translatable="false">light</string>
|
||||
<string name="theme_value_dark" translatable="false">dark</string>
|
||||
<string name="theme_value_system" translatable="false">system</string>
|
||||
</resources>
|
@ -23,7 +23,7 @@
|
||||
android:title="@string/open_items_in" />
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="false"
|
||||
android:defaultValue="system"
|
||||
android:entries="@array/themes"
|
||||
android:entryValues="@array/themes_values"
|
||||
android:key="dark_theme"
|
||||
|
Loading…
x
Reference in New Issue
Block a user