diff options
author | Alon Albert <aalbert@google.com> | 2013-09-04 15:20:20 -0700 |
---|---|---|
committer | Alon Albert <aalbert@google.com> | 2013-09-05 12:58:13 -0700 |
commit | b5632a6ebe19ba1627f0e850b00e0e9de0fcd3ab (patch) | |
tree | 6769d056223ce4317db4c0ea3e09797996384b22 /src | |
parent | 6af66a800ccf7599ea37374c8fc99a1489ef8fcb (diff) | |
download | android_packages_apps_ContactsCommon-b5632a6ebe19ba1627f0e850b00e0e9de0fcd3ab.tar.gz android_packages_apps_ContactsCommon-b5632a6ebe19ba1627f0e850b00e0e9de0fcd3ab.tar.bz2 android_packages_apps_ContactsCommon-b5632a6ebe19ba1627f0e850b00e0e9de0fcd3ab.zip |
Support QuickContacts For Extended Directories
Change-Id: I00128b882be3124e31cd2de6a974ec2d507344b1
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/contacts/common/list/PhoneNumberListAdapter.java | 18 | ||||
-rw-r--r-- | src/com/android/contacts/common/util/Constants.java | 3 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/com/android/contacts/common/list/PhoneNumberListAdapter.java b/src/com/android/contacts/common/list/PhoneNumberListAdapter.java index 2af055ec..e347e363 100644 --- a/src/com/android/contacts/common/list/PhoneNumberListAdapter.java +++ b/src/com/android/contacts/common/list/PhoneNumberListAdapter.java @@ -37,6 +37,7 @@ import com.android.contacts.common.GeoUtil; import com.android.contacts.common.R; import com.android.contacts.common.extensions.ExtendedPhoneDirectoriesManager; import com.android.contacts.common.extensions.ExtensionsFactory; +import com.android.contacts.common.util.Constants; import java.util.ArrayList; import java.util.List; @@ -496,4 +497,21 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter { } } } + + protected Uri getContactUri(int partitionIndex, Cursor cursor, + int contactIdColumn, int lookUpKeyColumn) { + final DirectoryPartition directory = (DirectoryPartition) getPartition(partitionIndex); + final long directoryId = directory.getDirectoryId(); + if (!isExtendedDirectory(directoryId)) { + return super.getContactUri(partitionIndex, cursor, contactIdColumn, lookUpKeyColumn); + } + + return Contacts.CONTENT_LOOKUP_URI.buildUpon() + .appendPath(Constants.LOOKUP_URI_ENCODED) + .appendQueryParameter(Constants.LOOKUP_URI_JSON, cursor.getString(lookUpKeyColumn)) + .appendQueryParameter(Directory.DISPLAY_NAME, directory.getLabel()) + .appendQueryParameter(ContactsContract.DIRECTORY_PARAM_KEY, + String.valueOf(directoryId)) + .build(); + } } diff --git a/src/com/android/contacts/common/util/Constants.java b/src/com/android/contacts/common/util/Constants.java index 46ddbae0..5d6bbacb 100644 --- a/src/com/android/contacts/common/util/Constants.java +++ b/src/com/android/contacts/common/util/Constants.java @@ -24,4 +24,7 @@ public class Constants { */ public static final String PERFORMANCE_TAG = "ContactsPerf"; + // Used for lookup URI that contains an encoded JSON string. + public static final String LOOKUP_URI_ENCODED = "encoded"; + public static final String LOOKUP_URI_JSON = "json"; } |