diff options
| author | Tyler Gunn <tgunn@google.com> | 2014-12-05 14:18:33 -0800 |
|---|---|---|
| committer | Natiq Ahmed <mnatiq@codeaurora.org> | 2015-03-13 14:00:03 +0530 |
| commit | 61ea801c5ceb5cac09259dd7d1d6422a97a18074 (patch) | |
| tree | 5e215638c61f9d2a52fdb0e7dadf41a5f3cdeb25 | |
| parent | 4aec03b5b7590c59fb7116c944c59b0c8a964e56 (diff) | |
| download | packages_apps_ContactsCommon-61ea801c5ceb5cac09259dd7d1d6422a97a18074.tar.gz packages_apps_ContactsCommon-61ea801c5ceb5cac09259dd7d1d6422a97a18074.tar.bz2 packages_apps_ContactsCommon-61ea801c5ceb5cac09259dd7d1d6422a97a18074.zip | |
Adding ContactLoader support to suppress contact photo loading.
Bug: 17308163
Change-Id: I3311fd18d666e1de33296fea00f49855b240d938
| -rw-r--r-- | src/com/android/contacts/common/model/ContactLoader.java | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/com/android/contacts/common/model/ContactLoader.java b/src/com/android/contacts/common/model/ContactLoader.java index 998fb2d9..59ab292e 100644 --- a/src/com/android/contacts/common/model/ContactLoader.java +++ b/src/com/android/contacts/common/model/ContactLoader.java @@ -318,7 +318,7 @@ public class ContactLoader extends AsyncTaskLoader<Contact> { resultIsCached = true; } else { if (uriCurrentFormat.getLastPathSegment().equals(Constants.LOOKUP_URI_ENCODED)) { - result = loadEncodedContactEntity(uriCurrentFormat); + result = loadEncodedContactEntity(uriCurrentFormat, mLookupUri); } else { result = loadContactEntity(resolver, uriCurrentFormat); } @@ -351,7 +351,22 @@ public class ContactLoader extends AsyncTaskLoader<Contact> { } } - private Contact loadEncodedContactEntity(Uri uri) throws JSONException { + /** + * Parses a {@link Contact} stored as a JSON string in a lookup URI. + * + * @param lookupUri The contact information to parse . + * @return The parsed {@code Contact} information. + * @throws JSONException + */ + public static Contact parseEncodedContactEntity(Uri lookupUri) { + try { + return loadEncodedContactEntity(lookupUri, lookupUri); + } catch (JSONException je) { + return null; + } + } + + private static Contact loadEncodedContactEntity(Uri uri, Uri lookupUri) throws JSONException { final String jsonString = uri.getEncodedFragment(); final JSONObject json = new JSONObject(jsonString); @@ -365,7 +380,7 @@ public class ContactLoader extends AsyncTaskLoader<Contact> { final String photoUri = json.optString(Contacts.PHOTO_URI, null); final Contact contact = new Contact( uri, uri, - mLookupUri, + lookupUri, directoryId, null /* lookupKey */, -1 /* id */, @@ -425,7 +440,7 @@ public class ContactLoader extends AsyncTaskLoader<Contact> { return contact; } - private void processOneRecord(RawContact rawContact, JSONObject item, String mimetype) + private static void processOneRecord(RawContact rawContact, JSONObject item, String mimetype) throws JSONException { final ContentValues itemValues = new ContentValues(); itemValues.put(Data.MIMETYPE, mimetype); |
