summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/assisteddialing/ConcreteCreator.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/ConcreteCreator.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/ConcreteCreator.java')
-rw-r--r--java/com/android/dialer/assisteddialing/ConcreteCreator.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/java/com/android/dialer/assisteddialing/ConcreteCreator.java b/java/com/android/dialer/assisteddialing/ConcreteCreator.java
index f51216a69..49d3b1f87 100644
--- a/java/com/android/dialer/assisteddialing/ConcreteCreator.java
+++ b/java/com/android/dialer/assisteddialing/ConcreteCreator.java
@@ -18,10 +18,12 @@ package com.android.dialer.assisteddialing;
import android.annotation.TargetApi;
import android.content.Context;
+import android.os.Build;
import android.os.Build.VERSION_CODES;
import android.support.annotation.NonNull;
import android.telephony.TelephonyManager;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
/**
* A Creator for AssistedDialingMediators.
@@ -32,6 +34,11 @@ import com.android.dialer.common.LogUtil;
@TargetApi(VERSION_CODES.N)
public final class ConcreteCreator {
+ // Floor set at N due to use of Optional.
+ protected static final int BUILD_CODE_FLOOR = Build.VERSION_CODES.N;
+ // Ceiling set at O because this feature will ship as part of the framework in P.
+ protected static final int BUILD_CODE_CEILING = Build.VERSION_CODES.O;
+
/**
* Creates a new AssistedDialingMediator
*
@@ -42,6 +49,7 @@ public final class ConcreteCreator {
*/
public static AssistedDialingMediator createNewAssistedDialingMediator(
@NonNull TelephonyManager telephonyManager, @NonNull Context context) {
+
if (telephonyManager == null) {
LogUtil.i(
"ConcreteCreator.createNewAssistedDialingMediator", "provided TelephonyManager was null");
@@ -51,8 +59,14 @@ public final class ConcreteCreator {
LogUtil.i("ConcreteCreator.createNewAssistedDialingMediator", "provided context was null");
throw new NullPointerException("Provided context was null");
}
+
+ if ((Build.VERSION.SDK_INT < BUILD_CODE_FLOOR || Build.VERSION.SDK_INT > BUILD_CODE_CEILING)
+ || !ConfigProviderBindings.get(context).getBoolean("assisted_dialing_enabled", false)) {
+ return new AssistedDialingMediatorStub();
+ }
+
Constraints constraints = new Constraints(context);
- return new AssistedDialingMediator(
+ return new AssistedDialingMediatorImpl(
new LocationDetector(telephonyManager), new NumberTransformer(constraints));
}
}