summaryrefslogtreecommitdiff
path: root/rcs
diff options
context:
space:
mode:
Diffstat (limited to 'rcs')
-rw-r--r--rcs/rcsmanager/src/java/com/android/ims/internal/ContactNumberUtils.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/rcs/rcsmanager/src/java/com/android/ims/internal/ContactNumberUtils.java b/rcs/rcsmanager/src/java/com/android/ims/internal/ContactNumberUtils.java
index 1ed03f9..094afb4 100644
--- a/rcs/rcsmanager/src/java/com/android/ims/internal/ContactNumberUtils.java
+++ b/rcs/rcsmanager/src/java/com/android/ims/internal/ContactNumberUtils.java
@@ -134,7 +134,9 @@ public class ContactNumberUtils {
public static int NUMBER_INVALID = 5;
/**
- * Check if it is a valid contact number for presence
+ * Check if it is a valid contact number for presence.
+ *
+ * Note: mContext must be set via setContext() before calling this method.
*
* @param phoneNumber read from contact db.
* @return contact number error code.
@@ -161,7 +163,16 @@ public class ContactNumberUtils {
return NUMBER_INVALID;
}
- if (PhoneNumberUtils.isEmergencyNumber(number)) {
+ boolean isEmergencyNumber;
+ if (mContext == null) {
+ Log.e(TAG, "context is unexpectedly null to provide emergency identification service");
+ isEmergencyNumber = false;
+ } else {
+ TelephonyManager tm = mContext.getSystemService(TelephonyManager.class);
+ isEmergencyNumber = tm.isEmergencyNumber(number);
+ }
+
+ if (isEmergencyNumber) {
return NUMBER_EMERGENCY;
// TODO: To handle short code
//} else if ((mContext != null) && PhoneNumberUtils.isN11Number(mContext, number)) {