From 35d8b6106d441d1c0fcd6a7c3a6beeb42d9aa8b3 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Tue, 12 Jul 2022 11:11:47 +0300 Subject: [PATCH] restart app when dark theme changed to amoled --- .../lite/ui/fragments/ThemesFragment.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java index 04507e0a9..e6331050e 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java @@ -1,5 +1,6 @@ package ru.vtosters.lite.ui.fragments; +import static ru.vtosters.lite.utils.Globals.edit; import static ru.vtosters.lite.utils.Globals.getIdentifier; import static ru.vtosters.lite.utils.Globals.restartApplicationWithTimer; @@ -22,6 +23,8 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment{ private void prefs(){ findPreference("navbar").setOnPreferenceClickListener(new restart()); findPreference("milkshake").setOnPreferenceClickListener(new restart()); + findPreference("darktheme").setOnPreferenceChangeListener(new restartdark()); + findPreference("lighttheme").setOnPreferenceChangeListener(new restartlight()); } public static class restart implements Preference.OnPreferenceClickListener{ @@ -31,4 +34,22 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment{ return true; } } + + public static class restartlight implements Preference.OnPreferenceChangeListener{ + @Override + public boolean onPreferenceChange(Preference preference, Object o){ + edit().putString("lighttheme", o.toString()).commit(); + restartApplicationWithTimer(); + return false; + } + } + + public static class restartdark implements Preference.OnPreferenceChangeListener{ + @Override + public boolean onPreferenceChange(Preference preference, Object o){ + edit().putString("darktheme", o.toString()).commit(); + restartApplicationWithTimer(); + return false; + } + } }