aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'OpenKeychain/src/main/java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/helper/ContactHelper.java21
1 files changed, 21 insertions, 0 deletions
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);
+ }
}