diff --git a/app/src/main/java/org/fdroid/fdroid/FDroidApp.java b/app/src/main/java/org/fdroid/fdroid/FDroidApp.java index 59d67e73f..0e91e3ec9 100644 --- a/app/src/main/java/org/fdroid/fdroid/FDroidApp.java +++ b/app/src/main/java/org/fdroid/fdroid/FDroidApp.java @@ -197,7 +197,7 @@ public class FDroidApp extends Application { @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); - Languages.setLanguage(this, Preferences.get().getLanguage(), false); + Languages.setLanguage(this); } @Override @@ -215,7 +215,7 @@ public class FDroidApp extends Application { } Preferences.setup(this); Languages.setup(getClass(), R.string.pref_language_default); - Languages.setLanguage(this, Preferences.get().getLanguage(), false); + Languages.setLanguage(this); ACRA.init(this); if (isAcraProcess()) { diff --git a/app/src/main/java/org/fdroid/fdroid/Languages.java b/app/src/main/java/org/fdroid/fdroid/Languages.java index 30279c7ea..51a2f2643 100644 --- a/app/src/main/java/org/fdroid/fdroid/Languages.java +++ b/app/src/main/java/org/fdroid/fdroid/Languages.java @@ -124,16 +124,17 @@ public final class Languages { * or different than the current system-wide locale. The preference is cleared * if the language matches the system-wide locale or "System Default" is chosen. */ - public static void setLanguage(final ContextWrapper contextWrapper, String language, boolean refresh) { + public static void setLanguage(final ContextWrapper contextWrapper) { if (Build.VERSION.SDK_INT >= 24) { Utils.debugLog(TAG, "Languages.setLanguage() ignored on >= android-24"); Preferences.get().clearLanguage(); return; } + String language = Preferences.get().getLanguage(); if (TextUtils.equals(language, DEFAULT_LOCALE.getLanguage())) { Preferences.get().clearLanguage(); locale = DEFAULT_LOCALE; - } else if (locale != null && TextUtils.equals(locale.getLanguage(), language) && (!refresh)) { + } else if (locale != null && TextUtils.equals(locale.getLanguage(), language)) { return; // already configured } else if (language == null || language.equals(USE_SYSTEM_DEFAULT)) { Preferences.get().clearLanguage(); diff --git a/app/src/main/java/org/fdroid/fdroid/views/fragments/PreferencesFragment.java b/app/src/main/java/org/fdroid/fdroid/views/fragments/PreferencesFragment.java index c2514683a..44616491b 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/fragments/PreferencesFragment.java +++ b/app/src/main/java/org/fdroid/fdroid/views/fragments/PreferencesFragment.java @@ -158,7 +158,7 @@ public class PreferencesFragment extends PreferenceFragment entrySummary(key); if (changing) { Activity activity = getActivity(); - Languages.setLanguage(activity, Preferences.get().getLanguage(), false); + Languages.setLanguage(activity); RepoProvider.Helper.clearEtags(getContext()); UpdateService.updateNow(getContext());