summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlon Albert <aalbert@google.com>2013-09-04 15:20:20 -0700
committerAlon Albert <aalbert@google.com>2013-09-05 12:58:13 -0700
commitb5632a6ebe19ba1627f0e850b00e0e9de0fcd3ab (patch)
tree6769d056223ce4317db4c0ea3e09797996384b22 /src
parent6af66a800ccf7599ea37374c8fc99a1489ef8fcb (diff)
downloadandroid_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.java18
-rw-r--r--src/com/android/contacts/common/util/Constants.java3
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";
}