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); } }