Merge pull request #5899 from Stypox/fix-settings-theme

Fix settings switches are not red anymore
This commit is contained in:
Tobi 2021-03-24 11:24:27 +01:00 committed by GitHub
commit 67afd05e22
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 1 deletions

View file

@ -48,7 +48,7 @@ public class SettingsActivity extends AppCompatActivity
@Override @Override
protected void onCreate(final Bundle savedInstanceBundle) { protected void onCreate(final Bundle savedInstanceBundle) {
ThemeHelper.setTheme(this); setTheme(ThemeHelper.getSettingsThemeStyle(this));
assureCorrectAppLanguage(this); assureCorrectAppLanguage(this);
super.onCreate(savedInstanceBundle); super.onCreate(savedInstanceBundle);

View file

@ -169,6 +169,39 @@ public final class ThemeHelper {
return baseTheme; return baseTheme;
} }
@StyleRes
public static int getSettingsThemeStyle(final Context context) {
final Resources res = context.getResources();
final String lightTheme = res.getString(R.string.light_theme_key);
final String blackTheme = res.getString(R.string.black_theme_key);
final String automaticDeviceTheme = res.getString(R.string.auto_device_theme_key);
final String selectedTheme = getSelectedThemeKey(context);
if (selectedTheme.equals(lightTheme)) {
return R.style.LightSettingsTheme;
} else if (selectedTheme.equals(blackTheme)) {
return R.style.BlackSettingsTheme;
} else if (selectedTheme.equals(automaticDeviceTheme)) {
if (isDeviceDarkThemeEnabled(context)) {
// use the dark theme variant preferred by the user
final String selectedNightTheme = getSelectedNightThemeKey(context);
if (selectedNightTheme.equals(blackTheme)) {
return R.style.BlackSettingsTheme;
} else {
return R.style.DarkSettingsTheme;
}
} else {
// there is only one day theme
return R.style.LightSettingsTheme;
}
} else {
// default to dark theme
return R.style.DarkSettingsTheme;
}
}
/** /**
* Get a resource id from a resource styled according to the context's theme. * Get a resource id from a resource styled according to the context's theme.
* *