From 695b543ba9145766374685286c7f71a39953e97d Mon Sep 17 00:00:00 2001
From: goapunk <goapunk@riseup.net>
Date: Tue, 29 May 2018 16:07:16 +0200
Subject: [PATCH] fix review

---
 briar-android/build.gradle                           |  2 +-
 .../briar/android/BriarApplicationImpl.java          |  6 +++++-
 .../org/briarproject/briar/android/Localizer.java    | 12 ++++++------
 .../briar/android/TestBriarApplication.java          |  5 ++++-
 4 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/briar-android/build.gradle b/briar-android/build.gradle
index 2a5d6b97bf..2dd91ee029 100644
--- a/briar-android/build.gradle
+++ b/briar-android/build.gradle
@@ -295,7 +295,7 @@ task verifyTranslations {
 
 		def folders = ["default", "en-US"]
 		new File("briar-android/src/main/res").eachDir { dir ->
-			if (dir.name.startsWith("values-")) {
+			if (dir.name.startsWith("values-") && !dir.name.endsWith("night")) {
 				folders.add(dir.name.substring(7).replace("-r", "-"))
 			}
 		}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java
index 7b7e358460..a2ff968a7e 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java
@@ -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);
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 c734f13f0e..fbdb7fe84c 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
@@ -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() {
diff --git a/briar-android/src/test/java/org/briarproject/briar/android/TestBriarApplication.java b/briar-android/src/test/java/org/briarproject/briar/android/TestBriarApplication.java
index 93433123b2..ae086abf33 100644
--- a/briar-android/src/test/java/org/briarproject/briar/android/TestBriarApplication.java
+++ b/briar-android/src/test/java/org/briarproject/briar/android/TestBriarApplication.java
@@ -1,6 +1,8 @@
 package org.briarproject.briar.android;
 
 import android.app.Application;
+import android.content.SharedPreferences;
+import android.preference.PreferenceManager;
 
 import org.briarproject.bramble.BrambleCoreModule;
 import org.briarproject.briar.BriarCoreModule;
@@ -27,7 +29,8 @@ public class TestBriarApplication extends Application
 		super.onCreate();
 		LOG.info("Created");
 
-		Localizer.initialize(this);
+		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+		Localizer.initialize(prefs);
 		applicationComponent = DaggerAndroidComponent.builder()
 				.appModule(new AppModule(this))
 				.build();
-- 
GitLab