aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain
diff options
context:
space:
mode:
authormar-v-in <github@rvin.mooo.com>2014-05-26 20:24:13 +0200
committermar-v-in <github@rvin.mooo.com>2014-05-26 20:24:13 +0200
commit7865b92285893ddb87fa8351d724d09d0a1eb781 (patch)
tree6ceac8dbcea498bf32120bf63abe5f84e7889f96 /OpenKeychain
parent13d4a6d902d61a0a85db3bdc07996b317f5ecaad (diff)
downloadopen-keychain-7865b92285893ddb87fa8351d724d09d0a1eb781.tar.gz
open-keychain-7865b92285893ddb87fa8351d724d09d0a1eb781.tar.bz2
open-keychain-7865b92285893ddb87fa8351d724d09d0a1eb781.zip
ContactHelper can read email addresses from contact list
Diffstat (limited to 'OpenKeychain')
-rw-r--r--OpenKeychain/src/main/AndroidManifest.xml1
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/helper/ContactHelper.java21
2 files changed, 22 insertions, 0 deletions
diff --git a/OpenKeychain/src/main/AndroidManifest.xml b/OpenKeychain/src/main/AndroidManifest.xml
index f4007c098..fd26d6acf 100644
--- a/OpenKeychain/src/main/AndroidManifest.xml
+++ b/OpenKeychain/src/main/AndroidManifest.xml
@@ -53,6 +53,7 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.NFC" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
+ <uses-permission android:name="android.permission.READ_CONTACTS" />
<!-- android:allowBackup="false": Don't allow backup over adb backup or other apps! -->
<application
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/helper/ContactHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/helper/ContactHelper.java
index a92ea5408..583543c4a 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/helper/ContactHelper.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/helper/ContactHelper.java
@@ -19,7 +19,10 @@ package org.sufficientlysecure.keychain.helper;
import android.accounts.Account;
import android.accounts.AccountManager;
+import android.content.ContentResolver;
import android.content.Context;
+import android.database.Cursor;
+import android.provider.ContactsContract;
import android.util.Patterns;
import java.util.ArrayList;
@@ -39,4 +42,22 @@ public class ContactHelper {
}
return new ArrayList<String>(emailSet);
}
+
+ public static List<String> getContactMails(Context context) {
+ ContentResolver resolver = context.getContentResolver();
+ Cursor mailCursor = resolver.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,
+ new String[]{ContactsContract.CommonDataKinds.Email.DATA},
+ null, null, null);
+ if (mailCursor == null) return null;
+
+ Set<String> mails = new HashSet<String>();
+ while (mailCursor.moveToNext()) {
+ String email = mailCursor.getString(0);
+ if (email != null) {
+ mails.add(email);
+ }
+ }
+ mailCursor.close();
+ return new ArrayList<String>(mails);
+ }
}