diff --git a/briar-android/src/org/briarproject/android/CrashReportActivity.java b/briar-android/src/org/briarproject/android/CrashReportActivity.java index bd7fad0bdc7f481cc7bd5c0389c98d6349de30d6..01634602df3d6dce8bbff7aa32ffe41c7dfe5c0f 100644 --- a/briar-android/src/org/briarproject/android/CrashReportActivity.java +++ b/briar-android/src/org/briarproject/android/CrashReportActivity.java @@ -15,6 +15,7 @@ import android.os.AsyncTask; import android.os.Build; import android.os.Bundle; import android.os.Environment; +import android.provider.Settings; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.View.OnClickListener; @@ -356,6 +357,13 @@ public class CrashReportActivity extends AppCompatActivity implements OnClickLis if (btDiscoverable) btStatus += "discoverable"; else btStatus += "not discoverable"; if (bt != null) btStatus += "\nAddress: " + bt.getAddress(); + try { + String btAddr = Settings.Secure.getString(getContentResolver(), + "bluetooth_address"); + btStatus += "\nAddress from settings: " + btAddr; + } catch (SecurityException e) { + btStatus += "\nCould not get address from settings"; + } statusMap.put("Bluetooth:", btStatus); // Stack trace diff --git a/briar-android/src/org/briarproject/android/TestingActivity.java b/briar-android/src/org/briarproject/android/TestingActivity.java index c21d2076992de5d46287f3b3c43dc890050c7e0f..797188eba2d8c30f891013d67dda1f0f47745b74 100644 --- a/briar-android/src/org/briarproject/android/TestingActivity.java +++ b/briar-android/src/org/briarproject/android/TestingActivity.java @@ -14,6 +14,7 @@ import android.os.AsyncTask; import android.os.Build; import android.os.Bundle; import android.os.Environment; +import android.provider.Settings; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; @@ -359,6 +360,13 @@ public class TestingActivity extends BriarActivity implements OnClickListener { if (btDiscoverable) btStatus += "discoverable"; else btStatus += "not discoverable"; if (bt != null) btStatus += "\nAddress: " + bt.getAddress(); + try { + String btAddr = Settings.Secure.getString(getContentResolver(), + "bluetooth_address"); + btStatus += "\nAddress from settings: " + btAddr; + } catch (SecurityException e) { + btStatus += "\nCould not get address from settings"; + } statusMap.put("Bluetooth:", btStatus); Map<TransportId, TransportProperties> props = Collections.emptyMap(); diff --git a/briar-android/src/org/briarproject/system/AndroidSeedProvider.java b/briar-android/src/org/briarproject/system/AndroidSeedProvider.java index 521f3d75863e5e2c91452ac8f1069504a87a6528..c15e0b411a1efdb7e5805ea1e85acee4a4168592 100644 --- a/briar-android/src/org/briarproject/system/AndroidSeedProvider.java +++ b/briar-android/src/org/briarproject/system/AndroidSeedProvider.java @@ -1,12 +1,27 @@ package org.briarproject.system; +import android.app.Application; +import android.content.ContentResolver; +import android.content.Context; import android.os.Build; +import android.provider.Settings; import java.io.DataOutputStream; import java.io.IOException; +import javax.inject.Inject; + +import static android.provider.Settings.Secure.ANDROID_ID; + class AndroidSeedProvider extends LinuxSeedProvider { + private final Context appContext; + + @Inject + AndroidSeedProvider(Application app) { + appContext = app.getApplicationContext(); + } + @Override void writeToEntropyPool(DataOutputStream out) throws IOException { out.writeInt(android.os.Process.myPid()); @@ -14,6 +29,8 @@ class AndroidSeedProvider extends LinuxSeedProvider { out.writeInt(android.os.Process.myUid()); if (Build.FINGERPRINT != null) out.writeUTF(Build.FINGERPRINT); if (Build.SERIAL != null) out.writeUTF(Build.SERIAL); + ContentResolver contentResolver = appContext.getContentResolver(); + out.writeUTF(Settings.Secure.getString(contentResolver, ANDROID_ID)); super.writeToEntropyPool(out); } }