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/AssistedDialingMediator.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/AssistedDialingMediator.java')
-rw-r--r-- | java/com/android/dialer/assisteddialing/AssistedDialingMediator.java | 57 |
1 files changed, 3 insertions, 54 deletions
diff --git a/java/com/android/dialer/assisteddialing/AssistedDialingMediator.java b/java/com/android/dialer/assisteddialing/AssistedDialingMediator.java index 3d027296c..4dc87a772 100644 --- a/java/com/android/dialer/assisteddialing/AssistedDialingMediator.java +++ b/java/com/android/dialer/assisteddialing/AssistedDialingMediator.java @@ -19,63 +19,12 @@ package com.android.dialer.assisteddialing; import android.annotation.TargetApi; import android.os.Build.VERSION_CODES; import android.support.annotation.NonNull; -import com.android.dialer.common.LogUtil; import java.util.Optional; -/** - * The Mediator for Assisted Dialing. - * - * <p>This class is responsible for mediating location discovery of the user, determining if the - * call is eligible for assisted dialing, and performing the transformation of numbers eligible for - * assisted dialing. - */ -public final class AssistedDialingMediator { - - private final LocationDetector locationDetector; - private final NumberTransformer numberTransformer; - - protected AssistedDialingMediator( - @NonNull LocationDetector locationDetector, @NonNull NumberTransformer numberTransformer) { - if (locationDetector == null) { - throw new NullPointerException("locationDetector was null"); - } +/** The core interface for the AssistedDialingMediator. */ +public interface AssistedDialingMediator { - if (numberTransformer == null) { - throw new NullPointerException("numberTransformer was null"); - } - this.locationDetector = locationDetector; - this.numberTransformer = numberTransformer; - } - - /** - * Returns a boolean for callers to quickly determine whether or not the AssistedDialingMediator - * thinks an attempt at assisted dialing is likely to succeed. - */ - public boolean conditionsEligibleForAssistedDialing( - @NonNull String numberToCheck, - @NonNull String userHomeCountryCode, - @NonNull String userRoamingCountryCode) { - return numberTransformer.canDoAssistedDialingTransformation( - numberToCheck, userHomeCountryCode, userRoamingCountryCode); - } - - /** - * Returns an Optional of type String containing the transformed number that was provided. The - * transformed number should be capable of dialing out of the User's current country and - * successfully connecting with a contact in the User's home country. - */ @SuppressWarnings("AndroidApiChecker") // Use of optional @TargetApi(VERSION_CODES.N) - public Optional<TransformationInfo> attemptAssistedDial(@NonNull String numberToTransform) { - Optional<String> userHomeCountryCode = locationDetector.getUpperCaseUserHomeCountry(); - Optional<String> userRoamingCountryCode = locationDetector.getUpperCaseUserRoamingCountry(); - - if (!userHomeCountryCode.isPresent() || !userRoamingCountryCode.isPresent()) { - LogUtil.i("AssistedDialingMediator.attemptAssistedDial", "Unable to determine country codes"); - return Optional.empty(); - } - - return numberTransformer.doAssistedDialingTransformation( - numberToTransform, userHomeCountryCode.get(), userRoamingCountryCode.get()); - } + public Optional<TransformationInfo> attemptAssistedDial(@NonNull String numberToTransform); } |