diff --git a/briar-android/src/main/java/org/briarproject/briar/android/Localizer.java b/briar-android/src/main/java/org/briarproject/briar/android/Localizer.java index fbdb7fe84cf3725de27c43478e000e5995d9e8ae..3f305c3f9b31c2cc99ac875decf959ac6f990adf 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/Localizer.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/Localizer.java @@ -22,10 +22,8 @@ public class Localizer { private static Localizer INSTANCE; @Nullable private final Locale locale; - private final SharedPreferences sharedPreferences; - private Localizer(SharedPreferences prefs) { - this.sharedPreferences = prefs; + private Localizer(SharedPreferences sharedPreferences) { locale = getLocaleFromTag( sharedPreferences.getString(LANGUAGE, "default")); } @@ -41,10 +39,6 @@ public class Localizer { return INSTANCE; } - public SharedPreferences getSharedPreferences() { - return sharedPreferences; - } - // Get Locale from BCP-47 tag @Nullable public static Locale getLocaleFromTag(String tag) { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java index f75ba97e30ecd491c69abcb220086102adbbe87b..e975690e9b5ac19564d119789c62df09895754cc 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java @@ -4,7 +4,6 @@ import android.annotation.TargetApi; import android.app.AlertDialog; import android.content.Context; import android.content.Intent; -import android.content.SharedPreferences; import android.media.Ringtone; import android.media.RingtoneManager; import android.net.Uri; @@ -211,8 +210,9 @@ public class SettingsFragment extends PreferenceFragmentCompat if (!tmp.isEmpty() && !tmp.equals(nativeName)) nativeName = tmp; } + // Prefix with LRM marker to prevent any RTL direction nativeNames[i] = - nativeName.substring(0, 1).toUpperCase() + + "\u200E" + nativeName.substring(0, 1).toUpperCase() + nativeName.substring(1); } language.setEntries(nativeNames); @@ -397,10 +397,6 @@ public class SettingsFragment extends PreferenceFragmentCompat builder.setPositiveButton(R.string.sign_out_button, (dialogInterface, i) -> { language.setValue(newValue); - SharedPreferences prefs = - Localizer.getInstance().getSharedPreferences(); - prefs.edit().putString(LANGUAGE, newValue) - .commit(); Intent intent = new Intent(getContext(), NavDrawerActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); diff --git a/briar-android/src/main/res/values/arrays.xml b/briar-android/src/main/res/values/arrays.xml index 6ce3f24255fb11668a1b4934d3b74236b54e6904..978c98698025dbab54c2b7405e6d35b334180e47 100644 --- a/briar-android/src/main/res/values/arrays.xml +++ b/briar-android/src/main/res/values/arrays.xml @@ -41,6 +41,7 @@ <item>nb</item> <item>nl</item> <item>oc</item> + <item>pl</item> <item>pt-BR</item> <item>ro</item> <item>ru</item>