summaryrefslogtreecommitdiff
path: root/java
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
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')
-rw-r--r--java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java54
-rw-r--r--java/com/android/dialer/theme/res/values/strings.xml3
-rw-r--r--java/com/android/incallui/CallerInfo.java2
-rw-r--r--java/com/android/incallui/res/values/strings.xml3
4 files changed, 26 insertions, 36 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.
*
diff --git a/java/com/android/dialer/theme/res/values/strings.xml b/java/com/android/dialer/theme/res/values/strings.xml
index 6194751ef..bab05ed41 100644
--- a/java/com/android/dialer/theme/res/values/strings.xml
+++ b/java/com/android/dialer/theme/res/values/strings.xml
@@ -26,6 +26,9 @@
<!-- String used to display calls from pay phone in the call log -->
<string name="payphone">Payphone</string>
+ <!-- String used to display calls from emergency numbers in the call log and incallui -->
+ <string name="emergency_number">Emergency number</string>
+
<!-- Title for the activity that dials the phone. This is the name
used in the Launcher icon. -->
<string name="launcherActivityLabel">Phone</string>
diff --git a/java/com/android/incallui/CallerInfo.java b/java/com/android/incallui/CallerInfo.java
index fd9855f24..0aedea531 100644
--- a/java/com/android/incallui/CallerInfo.java
+++ b/java/com/android/incallui/CallerInfo.java
@@ -485,7 +485,7 @@ public class CallerInfo {
* @return this instance.
*/
/* package */ CallerInfo markAsEmergency(Context context) {
- name = context.getString(R.string.emergency_call_dialog_number_for_display);
+ name = context.getString(R.string.emergency_number);
phoneNumber = null;
isEmergency = true;
diff --git a/java/com/android/incallui/res/values/strings.xml b/java/com/android/incallui/res/values/strings.xml
index af6125366..15cd2e02d 100644
--- a/java/com/android/incallui/res/values/strings.xml
+++ b/java/com/android/incallui/res/values/strings.xml
@@ -172,9 +172,6 @@
<!-- Label for "Manage conference call" panel [CHAR LIMIT=40] -->
<string name="manageConferenceLabel" tools:ignore="UnusedResources">Manage conference call</string>
- <!-- This can be used in any application wanting to disable the text "Emergency number" -->
- <string name="emergency_call_dialog_number_for_display">Emergency number</string>
-
<!-- Used to inform the user that a call was received via a number other than the primary
phone number associated with their device. [CHAR LIMIT=16] -->
<string name="child_number">via <xliff:g example="650-555-1212" id="child_number">%s</xliff:g></string>