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 fbdb7fe84..3f305c3f9 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 f75ba97e3..e975690e9 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 6ce3f2425..978c98698 100644
--- a/briar-android/src/main/res/values/arrays.xml
+++ b/briar-android/src/main/res/values/arrays.xml
@@ -41,6 +41,7 @@
- nb
- nl
- oc
+ - pl
- pt-BR
- ro
- ru