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 9a83f00a7656e3cb5bb912018dc329f90fc5848c..3779a16e825f9052c3ddce6dcf3e400e0bef1308 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 4060305a63ad08722b82debd065408a91b82ab81..16c340e70f0998effa8475efd5b9e31ea338c40a 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);