From 4a4d703973e1d48ebcbef96aa2c83c3ad4780579 Mon Sep 17 00:00:00 2001 From: dkanada Date: Sat, 5 Jun 2021 18:48:31 +0900 Subject: [PATCH] fix theme updates on main activity --- .../activities/SettingsActivity.java | 1 - .../activities/base/AbsThemeActivity.java | 22 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/dkanada/gramophone/activities/SettingsActivity.java b/app/src/main/java/com/dkanada/gramophone/activities/SettingsActivity.java index b9f5a028..e0f0f4d3 100644 --- a/app/src/main/java/com/dkanada/gramophone/activities/SettingsActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/activities/SettingsActivity.java @@ -129,7 +129,6 @@ public class SettingsActivity extends AbsBaseActivity { requireActivity().setTheme(PreferenceUtil.getInstance(getContext()).getTheme().style); new DynamicShortcutManager(requireContext()).updateDynamicShortcuts(); - ThemeStore.markChanged(requireContext()); requireActivity().recreate(); break; case PreferenceUtil.NOW_PLAYING_SCREEN: diff --git a/app/src/main/java/com/dkanada/gramophone/activities/base/AbsThemeActivity.java b/app/src/main/java/com/dkanada/gramophone/activities/base/AbsThemeActivity.java index cadfa91d..5f2d17b1 100644 --- a/app/src/main/java/com/dkanada/gramophone/activities/base/AbsThemeActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/activities/base/AbsThemeActivity.java @@ -6,6 +6,7 @@ import android.view.View; import androidx.annotation.ColorInt; +import com.dkanada.gramophone.util.NavigationUtil; import com.kabouzeid.appthemehelper.ATH; import com.kabouzeid.appthemehelper.ThemeStore; import com.kabouzeid.appthemehelper.common.ATHToolbarActivity; @@ -16,6 +17,8 @@ import com.dkanada.gramophone.util.PreferenceUtil; import com.dkanada.gramophone.util.Util; public abstract class AbsThemeActivity extends ATHToolbarActivity { + private int currentTheme; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -28,6 +31,25 @@ public abstract class AbsThemeActivity extends ATHToolbarActivity { } } + @Override + protected void onResume() { + super.onResume(); + + // for some reason the recreate method has issues here + if (PreferenceUtil.getInstance(this).getTheme().style != currentTheme) { + NavigationUtil.startMain(this); + overridePendingTransition(0, android.R.anim.fade_out); + finish(); + } + } + + @Override + public void setTheme(int resId) { + currentTheme = resId; + + super.setTheme(resId); + } + protected void setDrawUnderStatusBar() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Util.setAllowDrawUnderStatusBar(getWindow());