diff --git a/briar-android/src/org/briarproject/android/SettingsActivity.java b/briar-android/src/org/briarproject/android/SettingsActivity.java index 7c48355a99bc0feae8d25947f4f2cf52320ee991..8433bc114ef4fe88eaf3d24ea57ca549a1cf7f2c 100644 --- a/briar-android/src/org/briarproject/android/SettingsActivity.java +++ b/briar-android/src/org/briarproject/android/SettingsActivity.java @@ -17,6 +17,7 @@ import android.widget.TextView; import org.briarproject.R; import org.briarproject.android.panic.PanicPreferencesActivity; +import org.briarproject.android.util.AndroidUtils; import org.briarproject.android.util.FixedVerticalSpace; import org.briarproject.android.util.HorizontalBorder; import org.briarproject.android.util.LayoutUtils; @@ -330,8 +331,7 @@ OnClickListener { bluetoothSetting = !bluetoothSetting; BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); if (adapter != null) { - if (bluetoothSetting) adapter.enable(); - else adapter.disable(); + AndroidUtils.setBluetooth(adapter, bluetoothSetting); } storeBluetoothSetting(); displaySettings(); diff --git a/briar-android/src/org/briarproject/android/SplashScreenActivity.java b/briar-android/src/org/briarproject/android/SplashScreenActivity.java index e74056341b6a4e6ca75d5a3d24af6a7cc18118bd..ffc926b1cfaf30dfa610c2a0f6f43dc58ef6276c 100644 --- a/briar-android/src/org/briarproject/android/SplashScreenActivity.java +++ b/briar-android/src/org/briarproject/android/SplashScreenActivity.java @@ -65,8 +65,7 @@ public class SplashScreenActivity extends RoboSplashActivity { logo.setImageResource(R.drawable.briar_logo_large); layout.addView(logo); - PreferenceManager - .setDefaultValues(this, R.xml.panic_preferences, false); + setPreferencesDefaults(); setContentView(layout); } @@ -111,4 +110,15 @@ public class SplashScreenActivity extends RoboSplashActivity { if (f.isFile()) f.delete(); else if (f.isDirectory()) for (File child : f.listFiles()) delete(child); } + + private void setPreferencesDefaults() { + new Thread() { + @Override + public void run() { + PreferenceManager + .setDefaultValues(SplashScreenActivity.this, + R.xml.panic_preferences, false); + } + }.start(); + } } diff --git a/briar-android/src/org/briarproject/android/invitation/AddContactActivity.java b/briar-android/src/org/briarproject/android/invitation/AddContactActivity.java index 7d2ab13417b4e5b3407fdbf549942c99e1154afe..ef2fc44d07c1b77aab36f60366489ca16a64834f 100644 --- a/briar-android/src/org/briarproject/android/invitation/AddContactActivity.java +++ b/briar-android/src/org/briarproject/android/invitation/AddContactActivity.java @@ -7,6 +7,7 @@ import android.widget.Toast; import org.briarproject.R; import org.briarproject.android.BriarActivity; +import org.briarproject.android.util.AndroidUtils; import org.briarproject.api.TransportConfig; import org.briarproject.api.TransportId; import org.briarproject.api.android.ReferenceManager; @@ -333,7 +334,7 @@ implements InvitationListener { if (LOG.isLoggable(INFO)) LOG.info("Turning off Bluetooth again"); BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); - if (adapter != null) adapter.disable(); + if (adapter != null) AndroidUtils.setBluetooth(adapter, false); } } diff --git a/briar-android/src/org/briarproject/android/util/AndroidUtils.java b/briar-android/src/org/briarproject/android/util/AndroidUtils.java index abbafafd37992976aab2302a7d31f4b60692606e..01d2cbf4b1cd1276d1bcacd0b05015e92c08eb2f 100644 --- a/briar-android/src/org/briarproject/android/util/AndroidUtils.java +++ b/briar-android/src/org/briarproject/android/util/AndroidUtils.java @@ -1,6 +1,7 @@ package org.briarproject.android.util; import android.annotation.SuppressLint; +import android.bluetooth.BluetoothAdapter; import android.os.Build; import android.support.design.widget.TextInputLayout; @@ -32,4 +33,16 @@ public class AndroidUtils { } else til.setError(null); } + + public static void setBluetooth(final BluetoothAdapter adapter, + final boolean activate) { + + new Thread() { + @Override + public void run() { + if (activate) adapter.enable(); + else adapter.disable(); + } + }.start(); + } }