From 802d449bfb6be956d0076f5bea499f7e47056e40 Mon Sep 17 00:00:00 2001 From: codeall9 Date: Sun, 12 May 2024 17:01:11 +0800 Subject: [PATCH] Fix AppearancePreferencesFragment title after locale changed root cause: the `_prefTitle` is saved in `CharSequence` solution: we only able to store `CharSequence` since `Preference.getTitleRes` is removed in AndroidX. As a workaround, we update the title again on Fragment.onStart() --- .../com/beemdevelopment/aegis/ui/PreferencesActivity.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/PreferencesActivity.java b/app/src/main/java/com/beemdevelopment/aegis/ui/PreferencesActivity.java index 0bcccc28..120c1311 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/PreferencesActivity.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/PreferencesActivity.java @@ -10,6 +10,7 @@ import androidx.preference.Preference; import androidx.preference.PreferenceFragmentCompat; import com.beemdevelopment.aegis.R; +import com.beemdevelopment.aegis.ui.fragments.preferences.AppearancePreferencesFragment; import com.beemdevelopment.aegis.ui.fragments.preferences.MainPreferencesFragment; import com.beemdevelopment.aegis.ui.fragments.preferences.PreferencesFragment; @@ -128,6 +129,9 @@ public class PreferencesActivity extends AegisActivity implements public void onFragmentStarted(@NonNull FragmentManager fm, @NonNull Fragment f) { if (f instanceof MainPreferencesFragment) { setTitle(R.string.action_settings); + } else if (f instanceof AppearancePreferencesFragment) { + _prefTitle = getString(R.string.pref_section_appearance_title); + setTitle(_prefTitle); } } }