summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/app
diff options
context:
space:
mode:
authormaxwelb <maxwelb@google.com>2018-03-21 13:00:28 -0700
committerCopybara-Service <copybara-piper@google.com>2018-03-21 13:02:00 -0700
commit33c901987a7010754fc1eddcc1933bfd63458322 (patch)
tree060db800b9356a3ee86cfc619cbcad0b752270e6 /java/com/android/dialer/app
parent7642b8011e00bf353504440754ffa3f3a7cd8f8c (diff)
Display "Emergency number" in the call log for emergency numbers
This CL updates the call log to show "Emergency number" for call log rows from numbers that PhoneNumberUtils.isEmergencyNumber considers to be emergency numbers. Bug: 66926712 Test: Manual, see above PiperOrigin-RevId: 189953302 Change-Id: Ibaae243ead8b918a26f6058164316e042a4f82fd
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.
*