summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/app
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/app')
-rw-r--r--java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java54
1 files changed, 22 insertions, 32 deletions
diff --git a/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java b/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java
index b88a959ed..096488a39 100644
--- a/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java
+++ b/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java
@@ -27,6 +27,7 @@ import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.support.v4.content.ContextCompat;
import android.telecom.PhoneAccount;
import android.telecom.PhoneAccountHandle;
+import android.telephony.PhoneNumberUtils;
import android.text.SpannableString;
import android.text.TextUtils;
import android.text.format.DateUtils;
@@ -199,20 +200,7 @@ public class PhoneCallDetailsHelper
views.callAccountLabel.setVisibility(View.GONE);
}
- final CharSequence nameText;
- final CharSequence displayNumber = details.displayNumber;
- if (TextUtils.isEmpty(details.getPreferredName())) {
- nameText = displayNumber;
- // We have a real phone number as "nameView" so make it always LTR
- views.nameView.setTextDirection(View.TEXT_DIRECTION_LTR);
- } else {
- nameText = details.getPreferredName();
- // "nameView" is updated from phone number to contact name after number matching.
- // Since TextDirection remains at View.TEXT_DIRECTION_LTR, initialize it.
- views.nameView.setTextDirection(View.TEXT_DIRECTION_INHERIT);
- }
-
- views.nameView.setText(nameText);
+ setNameView(views, details);
if (isVoicemail) {
int relevantLinkTypes = Linkify.EMAIL_ADDRESSES | Linkify.PHONE_NUMBERS | Linkify.WEB_URLS;
@@ -282,6 +270,26 @@ public class PhoneCallDetailsHelper
details.isRead ? R.color.call_log_detail_color : R.color.call_log_unread_text_color));
}
+ private void setNameView(PhoneCallDetailsViews views, PhoneCallDetails details) {
+ if (!TextUtils.isEmpty(details.getPreferredName())) {
+ views.nameView.setText(details.getPreferredName());
+ // "nameView" is updated from phone number to contact name after number matching.
+ // Since TextDirection remains at View.TEXT_DIRECTION_LTR, initialize it.
+ views.nameView.setTextDirection(View.TEXT_DIRECTION_INHERIT);
+ return;
+ }
+
+ if (PhoneNumberUtils.isEmergencyNumber(details.number.toString())) {
+ views.nameView.setText(R.string.emergency_number);
+ views.nameView.setTextDirection(View.TEXT_DIRECTION_INHERIT);
+ return;
+ }
+
+ views.nameView.setText(details.displayNumber);
+ // We have a real phone number as "nameView" so make it always LTR
+ views.nameView.setTextDirection(View.TEXT_DIRECTION_LTR);
+ }
+
private boolean shouldShowTranscriptionRating(
int transcriptionState, PhoneAccountHandle account) {
if (transcriptionState != VoicemailCompat.TRANSCRIPTION_AVAILABLE) {
@@ -548,24 +556,6 @@ public class PhoneCallDetailsHelper
return currentYear != calendar.get(Calendar.YEAR);
}
- /** Sets the text of the header view for the details page of a phone call. */
- public void setCallDetailsHeader(TextView nameView, PhoneCallDetails details) {
- final CharSequence nameText;
- if (!TextUtils.isEmpty(details.namePrimary)) {
- nameText = details.namePrimary;
- } else if (!TextUtils.isEmpty(details.displayNumber)) {
- nameText = details.displayNumber;
- } else {
- nameText = resources.getString(R.string.unknown);
- }
-
- nameView.setText(nameText);
- }
-
- public void setCurrentTimeForTest(long currentTimeMillis) {
- currentTimeMillisForTest = currentTimeMillis;
- }
-
/**
* Returns the current time in milliseconds since the epoch.
*