Merge pull request #5899 from Stypox/fix-settings-theme
Fix settings switches are not red anymore
This commit is contained in:
commit
67afd05e22
2 changed files with 34 additions and 1 deletions
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue