From 7e44becb9b60c5be8f034699f811f4eba3a70a81 Mon Sep 17 00:00:00 2001 From: mkx173 Date: Sat, 6 Apr 2024 02:29:21 -0700 Subject: [PATCH] fix: commit all shared pref changes before restarting --- .../gm/tieba/tabswitch/dao/Preferences.java | 32 +++---------------- .../tieba/tabswitch/hooker/TSPreference.java | 5 ++- 2 files changed, 9 insertions(+), 28 deletions(-) diff --git a/app/src/main/java/gm/tieba/tabswitch/dao/Preferences.java b/app/src/main/java/gm/tieba/tabswitch/dao/Preferences.java index 82175aca..5e6a124d 100644 --- a/app/src/main/java/gm/tieba/tabswitch/dao/Preferences.java +++ b/app/src/main/java/gm/tieba/tabswitch/dao/Preferences.java @@ -14,12 +14,10 @@ public class Preferences { private static SharedPreferences sTsPreferences; private static SharedPreferences sTsConfig; - private static SharedPreferences sTsNotes; public static void init(final Context context) { sTsPreferences = context.getSharedPreferences("TS_preferences", Context.MODE_PRIVATE); sTsConfig = context.getSharedPreferences("TS_config", Context.MODE_PRIVATE); - sTsNotes = context.getSharedPreferences("TS_notes", Context.MODE_PRIVATE); } // Preferences @@ -81,13 +79,7 @@ public static boolean getIsEULAAccepted() { public static void putAutoSignEnabled() { final SharedPreferences.Editor editor = sTsConfig.edit(); editor.putBoolean("auto_sign", true); - editor.commit(); - } - - public static void putAutoSignDisabled() { - final SharedPreferences.Editor editor = sTsConfig.edit(); - editor.putBoolean("auto_sign", false); - editor.commit(); + editor.apply(); } public static boolean getIsAutoSignEnabled() { @@ -101,13 +93,6 @@ public static void putPurgeEnabled() { editor.commit(); } - @SuppressLint("ApplySharedPref") - public static void putPurgeDisabled() { - final SharedPreferences.Editor editor = sTsConfig.edit(); - editor.putBoolean("ze", false); - editor.commit(); - } - public static boolean getIsPurgeEnabled() { return sTsConfig.getBoolean("ze", false); } @@ -143,16 +128,9 @@ public static boolean getIsSigned() { return Calendar.getInstance().get(Calendar.DAY_OF_YEAR) == sTsConfig.getInt("sign_date", 0); } - // Notes - public static Map getNotes() { - return sTsNotes.getAll(); - } - - public static String getNote(final String name) { - return sTsNotes.getString(name, null); - } - - public static SharedPreferences.Editor getTsNotesEditor() { - return sTsNotes.edit(); + @SuppressLint("ApplySharedPref") + public static void commit() { + sTsConfig.edit().commit(); + sTsPreferences.edit().commit(); } } diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/TSPreference.java b/app/src/main/java/gm/tieba/tabswitch/hooker/TSPreference.java index 94539eb3..21b96614 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/TSPreference.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/TSPreference.java @@ -136,7 +136,10 @@ private void proxyPage(final Activity activity, final NavigationBar navigationBa final LinearLayout preferenceLayout) throws Throwable { navigationBar.setTitleText(title); navigationBar.setCenterTextTitle(""); - navigationBar.addTextButton("重启", v -> DisplayUtils.restart(activity)); + navigationBar.addTextButton("重启", v -> { + Preferences.commit(); + DisplayUtils.restart(activity); + }); final var contentView = (ViewGroup) activity.findViewById(android.R.id.content); final var parent = (LinearLayout) contentView.getChildAt(0); final var mainScroll = (ScrollView) parent.getChildAt(1);