diff options
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); } |