I `m trying to create static class ActivitySetup that is used to set language, theme, etc. for my activities. I have a problem with setting theme. Now i have following code:
static void configureTheme(Activity activity, int defaultTheme) {
String theme = PreferenceManager.getDefaultSharedPreferences(activity).getString("theme", "light");
assert theme != null;
switch (theme) {
case "light":
activity.setTheme(R.style.AppTheme);
break;
case "dark":
activity.setTheme(R.style.Theme_AppCompat);
break;
default:
activity.setTheme(defaultTheme);
break;
}
}
But it crashes. I know that i should use super (of activity).setTheme
instead of activity.setTheme
, but how can i do that? How to pass instance of superclass as parameter to a static method?