From 65a461a0db31a4cee96e630e08e407f4f7bfcd48 Mon Sep 17 00:00:00 2001 From: goapunk Date: Tue, 12 Jun 2018 12:15:47 +0200 Subject: [PATCH] Reset Localizer on account deletion --- .../java/org/briarproject/briar/android/Localizer.java | 9 ++++++++- .../briar/android/login/PasswordActivity.java | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) 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 3f305c3f9..1a419043d 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 @@ -20,10 +20,12 @@ public class Localizer { // Locking: class @Nullable private static Localizer INSTANCE; + private final Locale systemLocale; @Nullable - private final Locale locale; + private volatile Locale locale; private Localizer(SharedPreferences sharedPreferences) { + systemLocale = Locale.getDefault(); locale = getLocaleFromTag( sharedPreferences.getString(LANGUAGE, "default")); } @@ -39,6 +41,11 @@ public class Localizer { return INSTANCE; } + // Reset to the system locale + public synchronized void reset() { + locale = systemLocale; + } + // 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/login/PasswordActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordActivity.java index c381beb36..d7a2a8801 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordActivity.java @@ -13,6 +13,7 @@ import android.widget.EditText; import android.widget.ProgressBar; import org.briarproject.briar.R; +import org.briarproject.briar.android.Localizer; import org.briarproject.briar.android.activity.ActivityComponent; import org.briarproject.briar.android.activity.BaseActivity; import org.briarproject.briar.android.controller.BriarController; @@ -105,6 +106,7 @@ public class PasswordActivity extends BaseActivity { private void deleteAccount() { passwordController.deleteAccount(this); + Localizer.getInstance().reset(); setResult(RESULT_CANCELED); Intent i = new Intent(this, SetupActivity.class); i.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TASK);