parent
c7efa8c4f1
commit
0fcaf20221
|
@ -48,7 +48,7 @@ public class SettingsActivity extends AppCompatActivity
|
|||
|
||||
@Override
|
||||
protected void onCreate(final Bundle savedInstanceBundle) {
|
||||
ThemeHelper.setTheme(this);
|
||||
setTheme(ThemeHelper.getSettingsThemeStyle(this));
|
||||
assureCorrectAppLanguage(this);
|
||||
super.onCreate(savedInstanceBundle);
|
||||
|
||||
|
|
|
@ -169,6 +169,39 @@ public final class ThemeHelper {
|
|||
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.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue