summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/assisteddialing/Constraints.java
diff options
context:
space:
mode:
authorerfanian <erfanian@google.com>2017-10-09 15:12:22 -0700
committerEric Erfanian <erfanian@google.com>2017-10-10 07:12:05 -0700
commit04ac93d3c9d2f3f4c157bfa1d23d225aa34db9df (patch)
treef6e7fc8b5c3c67eecc096996d10ccd8abe145812 /java/com/android/dialer/assisteddialing/Constraints.java
parent45e4573bb6ab234d57a921a73095fd18e453e261 (diff)
Add assisted dialing to outbound calls that qualify.
* Add missing assisted dialing to calls from contacts in the call log. * Add missing assisted dialing to calls from dialpad and normal search. Bug: 63995025,63995261 Test: unit test PiperOrigin-RevId: 171593967 Change-Id: I4e63ef1dcd7ee1b2b5cbb8ecb4d8da744d90bd66
Diffstat (limited to 'java/com/android/dialer/assisteddialing/Constraints.java')
-rw-r--r--java/com/android/dialer/assisteddialing/Constraints.java26
1 files changed, 20 insertions, 6 deletions
diff --git a/java/com/android/dialer/assisteddialing/Constraints.java b/java/com/android/dialer/assisteddialing/Constraints.java
index 6bcab9963..023be1c4c 100644
--- a/java/com/android/dialer/assisteddialing/Constraints.java
+++ b/java/com/android/dialer/assisteddialing/Constraints.java
@@ -62,7 +62,7 @@ final class Constraints {
"GB" /* United Kingdom */,
"JP" /* Japan */,
"MX" /* Mexico */,
- "US" /* United States*/,
+ "US" /* United States */,
};
private final Set<String> supportedCountryCodes =
@@ -115,7 +115,8 @@ final class Constraints {
&& isUserRoaming(userHomeCountryCode, userRoamingCountryCode)
&& isNotInternationalNumber(parsedPhoneNumber)
&& isNotEmergencyNumber(numberToCheck, context)
- && isValidNumber(parsedPhoneNumber);
+ && isValidNumber(parsedPhoneNumber)
+ && doesNotHaveExtension(parsedPhoneNumber);
}
/** Returns a boolean indicating the value equivalence of the provided country codes. */
@@ -165,10 +166,7 @@ final class Constraints {
}
}
- /**
- * Returns a boolean indicating if the provided number and home country code are already
- * internationally formatted.
- */
+ /** Returns a boolean indicating if the provided number is already internationally formatted. */
private boolean isNotInternationalNumber(@NonNull Optional<PhoneNumber> parsedPhoneNumber) {
if (parsedPhoneNumber.get().hasCountryCode()
@@ -181,6 +179,22 @@ final class Constraints {
return true;
}
+ /**
+ * Returns a boolean indicating if the provided number has an extension.
+ *
+ * <p>Extensions are currently stripped when formatting a number for mobile dialing, so we don't
+ * want to purposefully truncate a number.
+ */
+ private boolean doesNotHaveExtension(@NonNull Optional<PhoneNumber> parsedPhoneNumber) {
+
+ if (parsedPhoneNumber.get().hasExtension()
+ && !TextUtils.isEmpty(parsedPhoneNumber.get().getExtension())) {
+ LogUtil.i("Constraints.doesNotHaveExtension", "phone number has an extension");
+ return false;
+ }
+ return true;
+ }
+
/** Returns a boolean indicating if the provided number is considered to be a valid number. */
private boolean isValidNumber(@NonNull Optional<PhoneNumber> parsedPhoneNumber) {
boolean result = PhoneNumberUtil.getInstance().isValidNumber(parsedPhoneNumber.get());