diff options
| author | Dmitri Plotnikov <dplotnikov@google.com> | 2009-09-01 15:58:40 -0700 |
|---|---|---|
| committer | Dmitri Plotnikov <dplotnikov@google.com> | 2009-09-01 15:58:40 -0700 |
| commit | b5759b5f4f01771a615c100c1d87adc702a6ef71 (patch) | |
| tree | 137a894f198f9cc90d48b7224509a811e299b246 /core/java | |
| parent | 9217c45829da4d0c9c9dbdc6bc950c7f3e03e4f5 (diff) | |
Adding a convenience method to resolve contact lookup URI to a regular content URI
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/provider/ContactsContract.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java index 9dfab99e5cb8..2b67946096c5 100644 --- a/core/java/android/provider/ContactsContract.java +++ b/core/java/android/provider/ContactsContract.java @@ -289,6 +289,32 @@ public final class ContactsContract { } /** + * Computes a content URI (see {@link #CONTENT_URI}) given a lookup URI. + * <p> + * Returns null if the contact cannot be found. + */ + public static Uri lookupContact(ContentResolver resolver, Uri lookupUri) { + if (lookupUri == null) { + return null; + } + + Cursor c = resolver.query(lookupUri, new String[]{Contacts._ID}, null, null, null); + if (c == null) { + return null; + } + + try { + if (c.moveToFirst()) { + long contactId = c.getLong(0); + return ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId); + } + } finally { + c.close(); + } + return null; + } + + /** * The content:// style URI for this table joined with useful data from * {@link Data}. * |
