Merge "Fix NPE in ListsFragment." into ub-contactsdialer-a-dev
diff --git a/src/com/android/dialer/calllog/CallLogListItemViewHolder.java b/src/com/android/dialer/calllog/CallLogListItemViewHolder.java
index cb4c1e4..63fbe29 100644
--- a/src/com/android/dialer/calllog/CallLogListItemViewHolder.java
+++ b/src/com/android/dialer/calllog/CallLogListItemViewHolder.java
@@ -28,11 +28,12 @@
import android.support.v7.widget.RecyclerView;
import android.telecom.PhoneAccountHandle;
import android.telephony.PhoneNumberUtils;
+import android.text.BidiFormatter;
+import android.text.TextDirectionHeuristics;
import android.text.TextUtils;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
-import android.view.ViewGroup;
import android.view.ViewStub;
import android.widget.ImageView;
import android.widget.QuickContactBadge;
@@ -278,7 +279,8 @@
if (callType == CallLog.Calls.VOICEMAIL_TYPE) {
menu.setHeaderTitle(mContext.getResources().getText(R.string.voicemail));
} else {
- menu.setHeaderTitle(PhoneNumberUtils.createTtsSpannable(number));
+ menu.setHeaderTitle(PhoneNumberUtils.createTtsSpannable(
+ BidiFormatter.getInstance().unicodeWrap(number, TextDirectionHeuristics.LTR)));
}
menu.add(ContextMenu.NONE, R.id.context_menu_copy_to_clipboard, ContextMenu.NONE,
diff --git a/src/com/android/dialer/calllog/ContactInfoHelper.java b/src/com/android/dialer/calllog/ContactInfoHelper.java
index e760750..2da6840 100644
--- a/src/com/android/dialer/calllog/ContactInfoHelper.java
+++ b/src/com/android/dialer/calllog/ContactInfoHelper.java
@@ -198,23 +198,26 @@
return null;
}
- Uri uri = Uri.withAppendedPath(Contacts.CONTENT_LOOKUP_URI, lookupKey);
+ final Uri uri = Uri.withAppendedPath(Contacts.CONTENT_LOOKUP_URI, lookupKey);
- Cursor cursor = context.getContentResolver().query(uri,
- PhoneQuery.DISPLAY_NAME_ALTERNATIVE_PROJECTION, null, null, null);
-
- if (cursor == null) {
- return null;
- }
-
+ Cursor cursor = null;
try {
- if (!cursor.moveToFirst()) {
- return null;
+ cursor = context.getContentResolver().query(uri,
+ PhoneQuery.DISPLAY_NAME_ALTERNATIVE_PROJECTION, null, null, null);
+
+ if (cursor != null && cursor.moveToFirst()) {
+ return cursor.getString(PhoneQuery.NAME_ALTERNATIVE);
}
- return cursor.getString(PhoneQuery.NAME_ALTERNATIVE);
+ } catch (IllegalArgumentException e) {
+ // Thrown for work profile queries. For those, we don't support
+ // alternative display names.
} finally {
- cursor.close();
+ if (cursor != null) {
+ cursor.close();
+ }
}
+
+ return null;
}
/**