fix review

This commit is contained in:
goapunk
2018-05-29 16:07:16 +02:00
parent 75e910e1d9
commit 695b543ba9
4 changed files with 16 additions and 9 deletions

View File

@@ -2,10 +2,12 @@ package org.briarproject.briar.android;
import android.app.Application;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.os.StrictMode;
import android.os.StrictMode.ThreadPolicy;
import android.os.StrictMode.VmPolicy;
import android.preference.PreferenceManager;
import org.acra.ACRA;
import org.acra.ReportingInteractionMode;
@@ -76,8 +78,10 @@ public class BriarApplicationImpl extends Application
@Override
protected void attachBaseContext(Context base) {
SharedPreferences prefs =
PreferenceManager.getDefaultSharedPreferences(base);
// Loading the language needs to be done here.
Localizer.initialize(base);
Localizer.initialize(prefs);
super.attachBaseContext(
Localizer.getInstance().setLocale(base));
ACRA.init(this);

View File

@@ -4,14 +4,12 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.preference.PreferenceManager;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
import java.util.Locale;
import javax.annotation.Nullable;
import javax.annotation.ParametersAreNonnullByDefault;
import static android.os.Build.VERSION.SDK_INT;
import static org.briarproject.briar.android.settings.SettingsFragment.LANGUAGE;
@@ -19,20 +17,22 @@ import static org.briarproject.briar.android.settings.SettingsFragment.LANGUAGE;
@NotNullByDefault
public class Localizer {
// Locking: class
@Nullable
private static Localizer INSTANCE;
@Nullable
private final Locale locale;
private final SharedPreferences sharedPreferences;
private Localizer(Context context) {
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
private Localizer(SharedPreferences prefs) {
this.sharedPreferences = prefs;
locale = getLocaleFromTag(
sharedPreferences.getString(LANGUAGE, "default"));
}
public static synchronized void initialize(Context context) {
public static synchronized void initialize(SharedPreferences prefs) {
if (INSTANCE == null)
INSTANCE = new Localizer(context);
INSTANCE = new Localizer(prefs);
}
public static synchronized Localizer getInstance() {