Merge "Refresh layout for dialpad"
diff --git a/src/com/android/contacts/ContactPhotoManager.java b/src/com/android/contacts/ContactPhotoManager.java
index c57583b..e61d379 100644
--- a/src/com/android/contacts/ContactPhotoManager.java
+++ b/src/com/android/contacts/ContactPhotoManager.java
@@ -627,6 +627,7 @@
ContactsContract.DIRECTORY_PARAM_KEY, String.valueOf(Directory.DEFAULT))
.appendQueryParameter(ContactsContract.LIMIT_PARAM_KEY,
String.valueOf(MAX_PHOTOS_TO_PRELOAD))
+ .appendQueryParameter(ContactsContract.ALLOW_PROFILE, "1")
.build();
cursor = mResolver.query(uri, new String[] { Contacts.PHOTO_ID },
Contacts.PHOTO_ID + " NOT NULL AND " + Contacts.PHOTO_ID + "!=0",
@@ -683,7 +684,8 @@
Cursor cursor = null;
try {
- cursor = mResolver.query(Data.CONTENT_URI,
+ cursor = mResolver.query(Data.CONTENT_URI.buildUpon()
+ .appendQueryParameter(ContactsContract.ALLOW_PROFILE, "1").build(),
COLUMNS,
mStringBuilder.toString(),
mPhotoIdsAsStrings.toArray(EMPTY_STRING_ARRAY),
diff --git a/src/com/android/contacts/list/PhoneNumberListAdapter.java b/src/com/android/contacts/list/PhoneNumberListAdapter.java
index fee1064..53a9e5f 100644
--- a/src/com/android/contacts/list/PhoneNumberListAdapter.java
+++ b/src/com/android/contacts/list/PhoneNumberListAdapter.java
@@ -27,6 +27,7 @@
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.Directory;
import android.text.TextUtils;
+import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
@@ -34,6 +35,7 @@
* A cursor adapter for the {@link Phone#CONTENT_TYPE} content type.
*/
public class PhoneNumberListAdapter extends ContactEntryListAdapter {
+ private static final String TAG = PhoneNumberListAdapter.class.getSimpleName();
protected static final String[] PHONES_PROJECTION = new String[] {
Phone._ID, // 0
@@ -137,11 +139,18 @@
/**
* Builds a {@link Data#CONTENT_URI} for the given cursor position.
+ *
+ * @return Uri for the data. may be null if the cursor is not ready.
*/
public Uri getDataUri(int position) {
Cursor cursor = ((Cursor)getItem(position));
- long id = cursor.getLong(PHONE_ID_COLUMN_INDEX);
- return ContentUris.withAppendedId(Data.CONTENT_URI, id);
+ if (cursor != null) {
+ long id = cursor.getLong(PHONE_ID_COLUMN_INDEX);
+ return ContentUris.withAppendedId(Data.CONTENT_URI, id);
+ } else {
+ Log.w(TAG, "Cursor was null in getDataUri() call. Returning null instead.");
+ return null;
+ }
}
@Override
diff --git a/src/com/android/contacts/list/PhoneNumberPickerFragment.java b/src/com/android/contacts/list/PhoneNumberPickerFragment.java
index b40f80a..3be55ce 100644
--- a/src/com/android/contacts/list/PhoneNumberPickerFragment.java
+++ b/src/com/android/contacts/list/PhoneNumberPickerFragment.java
@@ -21,6 +21,7 @@
import android.content.Intent;
import android.net.Uri;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -30,6 +31,8 @@
*/
public class PhoneNumberPickerFragment extends ContactEntryListFragment<ContactEntryListAdapter>
implements OnShortcutIntentCreatedListener {
+ private static final String TAG = PhoneNumberPickerFragment.class.getSimpleName();
+
private OnPhoneNumberPickerActionListener mListener;
private String mShortcutAction;
@@ -58,12 +61,20 @@
@Override
protected void onItemClick(int position, long id) {
+ final Uri phoneUri;
if (!isLegacyCompatibilityMode()) {
PhoneNumberListAdapter adapter = (PhoneNumberListAdapter)getAdapter();
- pickPhoneNumber(adapter.getDataUri(position));
+ phoneUri = adapter.getDataUri(position);
+
} else {
LegacyPhoneNumberListAdapter adapter = (LegacyPhoneNumberListAdapter)getAdapter();
- pickPhoneNumber(adapter.getPhoneUri(position));
+ phoneUri = adapter.getPhoneUri(position);
+ }
+
+ if (phoneUri != null) {
+ pickPhoneNumber(phoneUri);
+ } else {
+ Log.w(TAG, "Item at " + position + " was clicked before adapter is ready. Ignoring");
}
}