diff options
author | erfanian <erfanian@google.com> | 2017-10-09 15:12:22 -0700 |
---|---|---|
committer | Eric Erfanian <erfanian@google.com> | 2017-10-10 07:12:05 -0700 |
commit | 04ac93d3c9d2f3f4c157bfa1d23d225aa34db9df (patch) | |
tree | f6e7fc8b5c3c67eecc096996d10ccd8abe145812 /java/com/android/dialer/assisteddialing/Constraints.java | |
parent | 45e4573bb6ab234d57a921a73095fd18e453e261 (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.java | 26 |
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()); |