summaryrefslogtreecommitdiffstats
path: root/chips/src/com/android/ex/chips/BaseRecipientAdapter.java
diff options
context:
space:
mode:
authormindyp <mindyp@google.com>2012-12-10 11:58:29 -0800
committermindyp <mindyp@google.com>2012-12-11 13:37:51 -0800
commit0cf347e69473d2259194257d5a4b9aa103c8e448 (patch)
tree28e4e3586dc2a2e9763f2799f2052acc5601c087 /chips/src/com/android/ex/chips/BaseRecipientAdapter.java
parentab5b5b7bb592d8c7281c0bba3c5d62f9c9ad3cd4 (diff)
downloadandroid_frameworks_ex-0cf347e69473d2259194257d5a4b9aa103c8e448.tar.gz
android_frameworks_ex-0cf347e69473d2259194257d5a4b9aa103c8e448.tar.bz2
android_frameworks_ex-0cf347e69473d2259194257d5a4b9aa103c8e448.zip
Extend reverse lookup to also check GAL
Fixes b/7499733 gal address sometimes treated as message-only address in chips Change-Id: I3fa79a43c672b1d2eac72dae6a9dfaf8701be977
Diffstat (limited to 'chips/src/com/android/ex/chips/BaseRecipientAdapter.java')
-rw-r--r--chips/src/com/android/ex/chips/BaseRecipientAdapter.java23
1 files changed, 14 insertions, 9 deletions
diff --git a/chips/src/com/android/ex/chips/BaseRecipientAdapter.java b/chips/src/com/android/ex/chips/BaseRecipientAdapter.java
index 53f3625..68efa0f 100644
--- a/chips/src/com/android/ex/chips/BaseRecipientAdapter.java
+++ b/chips/src/com/android/ex/chips/BaseRecipientAdapter.java
@@ -73,12 +73,12 @@ public abstract class BaseRecipientAdapter extends BaseAdapter implements Filter
* The number of extra entries requested to allow for duplicates. Duplicates
* are removed from the overall result.
*/
- private static final int ALLOWANCE_FOR_DUPLICATES = 5;
+ static final int ALLOWANCE_FOR_DUPLICATES = 5;
// This is ContactsContract.PRIMARY_ACCOUNT_NAME. Available from ICS as hidden
- private static final String PRIMARY_ACCOUNT_NAME = "name_for_primary_account";
+ static final String PRIMARY_ACCOUNT_NAME = "name_for_primary_account";
// This is ContactsContract.PRIMARY_ACCOUNT_TYPE. Available from ICS as hidden
- private static final String PRIMARY_ACCOUNT_TYPE = "type_for_primary_account";
+ static final String PRIMARY_ACCOUNT_TYPE = "type_for_primary_account";
/** The number of photos cached in this Adapter. */
private static final int PHOTO_CACHE_SIZE = 20;
@@ -118,7 +118,7 @@ public abstract class BaseRecipientAdapter extends BaseAdapter implements Filter
public static final int PHOTO = 0;
}
- private static class DirectoryListQuery {
+ protected static class DirectoryListQuery {
public static final Uri URI =
Uri.withAppendedPath(ContactsContract.AUTHORITY_URI, "directories");
@@ -250,7 +250,7 @@ public abstract class BaseRecipientAdapter extends BaseAdapter implements Filter
directoryCursor = mContentResolver.query(
DirectoryListQuery.URI, DirectoryListQuery.PROJECTION,
null, null, null);
- paramsList = setupOtherDirectories(directoryCursor);
+ paramsList = setupOtherDirectories(mContext, directoryCursor, mAccount);
} else {
// We don't need to search other directories.
paramsList = null;
@@ -554,8 +554,9 @@ public abstract class BaseRecipientAdapter extends BaseAdapter implements Filter
return new DefaultFilter();
}
- private List<DirectorySearchParams> setupOtherDirectories(Cursor directoryCursor) {
- final PackageManager packageManager = mContext.getPackageManager();
+ public static List<DirectorySearchParams> setupOtherDirectories(Context context,
+ Cursor directoryCursor, Account account) {
+ final PackageManager packageManager = context.getPackageManager();
final List<DirectorySearchParams> paramsList = new ArrayList<DirectorySearchParams>();
DirectorySearchParams preferredDirectory = null;
while (directoryCursor.moveToNext()) {
@@ -592,8 +593,8 @@ public abstract class BaseRecipientAdapter extends BaseAdapter implements Filter
// If an account has been provided and we found a directory that
// corresponds to that account, place that directory second, directly
// underneath the local contacts.
- if (mAccount != null && mAccount.name.equals(params.accountName) &&
- mAccount.type.equals(params.accountType)) {
+ if (account != null && account.name.equals(params.accountName) &&
+ account.type.equals(params.accountType)) {
preferredDirectory = params;
} else {
paramsList.add(params);
@@ -967,4 +968,8 @@ public abstract class BaseRecipientAdapter extends BaseAdapter implements Filter
protected int getPhotoId() {
return android.R.id.icon;
}
+
+ public Account getAccount() {
+ return mAccount;
+ }
}