diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java index da9cef0f..968be106 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java @@ -9,7 +9,6 @@ import android.os.Bundle; import android.support.annotation.ColorInt; import android.support.annotation.NonNull; import android.support.annotation.Nullable; -import android.support.annotation.StyleRes; import android.support.v7.preference.ListPreference; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceManager; @@ -26,6 +25,7 @@ import com.kabouzeid.appthemehelper.util.ColorUtil; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity; import com.kabouzeid.gramophone.util.NavigationUtil; +import com.kabouzeid.gramophone.util.PreferenceUtil; import butterknife.Bind; import butterknife.ButterKnife; @@ -144,7 +144,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia public boolean onPreferenceChange(Preference preference, @NonNull Object o) { setSummary(generalTheme, o); ThemeStore.editTheme(getActivity()) - .activityTheme(getThemeResFromPrefValue((String) o)) + .activityTheme(PreferenceUtil.getThemeResFromPrefValue((String) o)) .commit(); getActivity().recreate(); return true; @@ -231,18 +231,5 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia ResolveInfo ri = pm.resolveActivity(effects, 0); return ri != null; } - - @StyleRes - public int getThemeResFromPrefValue(String themePrefValue) { - switch (themePrefValue) { - case "dark": - return R.style.Theme_Phonograph; - case "black": - return R.style.Theme_Phonograph_Black; - case "light": - default: - return R.style.Theme_Phonograph_Light; - } - } } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsThemeActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsThemeActivity.java index 8dc90b8e..5c2e2e00 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsThemeActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsThemeActivity.java @@ -12,6 +12,7 @@ import com.kabouzeid.appthemehelper.common.ATHToolbarActivity; import com.kabouzeid.appthemehelper.util.ColorUtil; import com.kabouzeid.appthemehelper.util.MaterialDialogsUtil; import com.kabouzeid.gramophone.R; +import com.kabouzeid.gramophone.util.PreferenceUtil; import com.kabouzeid.gramophone.util.Util; /** @@ -30,6 +31,7 @@ public abstract class AbsThemeActivity extends ATHToolbarActivity { .accentColorRes(R.color.pink_A400) .commit(); } + getSharedPreferences("[[kabouzeid_app-theme-helper]]", 0).edit().putInt("activity_theme", PreferenceUtil.getInstance(this).getGeneralTheme()).commit(); // TEMPORARY FIX super.onCreate(savedInstanceState); MaterialDialogsUtil.updateMaterialDialogsThemeSingleton(this); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java index c64b958e..1deac769 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java @@ -5,6 +5,7 @@ import android.content.Context; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.support.annotation.NonNull; +import android.support.annotation.StyleRes; import android.support.v4.content.ContextCompat; import com.kabouzeid.gramophone.R; @@ -100,20 +101,20 @@ public final class PreferenceUtil { } public int getGeneralTheme() { - try { - int value = Integer.parseInt(mPreferences.getString(GENERAL_THEME, "0")); - switch (value) { - case 0: - return R.style.Theme_Phonograph_Light; - case 1: - return R.style.Theme_Phonograph; - case 2: - return R.style.Theme_Phonograph_Black; - } - } catch (NumberFormatException ignored) { - } + return getThemeResFromPrefValue(mPreferences.getString(GENERAL_THEME, "")); + } - return R.style.Theme_Phonograph_Light; + @StyleRes + public static int getThemeResFromPrefValue(String themePrefValue) { + switch (themePrefValue) { + case "dark": + return R.style.Theme_Phonograph; + case "black": + return R.style.Theme_Phonograph_Black; + case "light": + default: + return R.style.Theme_Phonograph_Light; + } } public int getThemeColorPrimary(Context context) {