summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/assisteddialing/AssistedDialingMediator.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/AssistedDialingMediator.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/AssistedDialingMediator.java')
-rw-r--r--java/com/android/dialer/assisteddialing/AssistedDialingMediator.java57
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);
}