From 72bac59989c3fe2045216b533192dc32d9e3b707 Mon Sep 17 00:00:00 2001
From: goapunk <goapunk@riseup.net>
Date: Fri, 11 May 2018 11:44:45 +0200
Subject: [PATCH] silence known strict mode violations

---
 .../bramble/system/AndroidSecureRandomProvider.java          | 4 ++++
 .../main/java/org/briarproject/briar/android/AppModule.java  | 5 +++++
 2 files changed, 9 insertions(+)

diff --git a/bramble-android/src/main/java/org/briarproject/bramble/system/AndroidSecureRandomProvider.java b/bramble-android/src/main/java/org/briarproject/bramble/system/AndroidSecureRandomProvider.java
index 9a83f00a76..3779a16e82 100644
--- a/bramble-android/src/main/java/org/briarproject/bramble/system/AndroidSecureRandomProvider.java
+++ b/bramble-android/src/main/java/org/briarproject/bramble/system/AndroidSecureRandomProvider.java
@@ -9,6 +9,7 @@ import android.net.wifi.WifiConfiguration;
 import android.net.wifi.WifiManager;
 import android.os.Build;
 import android.os.Parcel;
+import android.os.StrictMode;
 import android.provider.Settings;
 
 import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
@@ -66,9 +67,12 @@ class AndroidSecureRandomProvider extends LinuxSecureRandomProvider {
 
 	@Override
 	protected void writeSeed() {
+		// Silence strict mode
+		StrictMode.ThreadPolicy tp = StrictMode.allowThreadDiskWrites();
 		super.writeSeed();
 		if (Build.VERSION.SDK_INT >= 16 && Build.VERSION.SDK_INT <= 18)
 			applyOpenSslFix();
+		StrictMode.setThreadPolicy(tp);
 	}
 
 	// Based on https://android-developers.googleblog.com/2013/08/some-securerandom-thoughts.html
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java b/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java
index 4060305a63..16c340e70f 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java
@@ -2,6 +2,7 @@ package org.briarproject.briar.android;
 
 import android.app.Application;
 import android.content.SharedPreferences;
+import android.os.StrictMode;
 
 import org.briarproject.bramble.api.crypto.CryptoComponent;
 import org.briarproject.bramble.api.crypto.PublicKey;
@@ -82,7 +83,11 @@ public class AppModule {
 	@Provides
 	@Singleton
 	DatabaseConfig provideDatabaseConfig(Application app) {
+		//FIXME: StrictMode
+		StrictMode.ThreadPolicy tp = StrictMode.allowThreadDiskReads();
+		StrictMode.allowThreadDiskWrites();
 		File dir = app.getApplicationContext().getDir("db", MODE_PRIVATE);
+		StrictMode.setThreadPolicy(tp);
 		@MethodsNotNullByDefault
 		@ParametersNotNullByDefault
 		DatabaseConfig databaseConfig = new AndroidDatabaseConfig(dir);
-- 
GitLab