summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/assisteddialing/ConcreteCreator.java
diff options
context:
space:
mode:
authorEric Erfanian <erfanian@google.com>2017-10-17 15:43:46 -0700
committerEric Erfanian <erfanian@google.com>2017-10-17 15:43:46 -0700
commit30b973450f12cf0b694c7bf06018830a698ce40a (patch)
tree42d6ec4551d925c039f931355d9f9d858dadc3d8 /java/com/android/dialer/assisteddialing/ConcreteCreator.java
parentc2590357cf857e714f875f2a7c222d1bd128c2c5 (diff)
Add temporary assisted dialing setting to Dialer.
Bug: 63994464 Test: integration test PiperOrigin-RevId: 172499750 Change-Id: I7a7c23b403f649c1bbec0bb068e1285e02fddd22
Diffstat (limited to 'java/com/android/dialer/assisteddialing/ConcreteCreator.java')
-rw-r--r--java/com/android/dialer/assisteddialing/ConcreteCreator.java25
1 files changed, 23 insertions, 2 deletions
diff --git a/java/com/android/dialer/assisteddialing/ConcreteCreator.java b/java/com/android/dialer/assisteddialing/ConcreteCreator.java
index a8a9d2ab3..1790b8f3f 100644
--- a/java/com/android/dialer/assisteddialing/ConcreteCreator.java
+++ b/java/com/android/dialer/assisteddialing/ConcreteCreator.java
@@ -20,8 +20,10 @@ import android.annotation.TargetApi;
import android.content.Context;
import android.os.Build;
import android.os.Build.VERSION_CODES;
+import android.preference.PreferenceManager;
import android.support.annotation.NonNull;
import android.telephony.TelephonyManager;
+import com.android.dialer.assisteddialing.ui.R;
import com.android.dialer.common.LogUtil;
import com.android.dialer.configprovider.ConfigProvider;
import com.android.dialer.configprovider.ConfigProviderBindings;
@@ -63,8 +65,15 @@ public final class ConcreteCreator {
throw new NullPointerException("Provided context was null");
}
- if ((Build.VERSION.SDK_INT < BUILD_CODE_FLOOR || Build.VERSION.SDK_INT > BUILD_CODE_CEILING)
- || !configProvider.getBoolean("assisted_dialing_enabled", false)) {
+ if (!isAssistedDialingEnabled(configProvider)) {
+ LogUtil.i("ConcreteCreator.createNewAssistedDialingMediator", "feature not enabled");
+ return new AssistedDialingMediatorStub();
+ }
+
+ if (!PreferenceManager.getDefaultSharedPreferences(context)
+ .getBoolean(context.getString(R.string.assisted_dialing_setting_toggle_key), false)) {
+ LogUtil.i("ConcreteCreator.createNewAssistedDialingMediator", "disabled by local setting");
+
return new AssistedDialingMediatorStub();
}
@@ -74,4 +83,16 @@ public final class ConcreteCreator {
return new AssistedDialingMediatorImpl(
new LocationDetector(telephonyManager), new NumberTransformer(constraints));
}
+
+ /** Returns a boolean indicating whether or not the assisted dialing feature is enabled. */
+ public static boolean isAssistedDialingEnabled(@NonNull ConfigProvider configProvider) {
+ if (configProvider == null) {
+ LogUtil.i("ConcreteCreator.isAssistedDialingEnabled", "provided configProvider was null");
+ throw new NullPointerException("Provided configProvider was null");
+ }
+
+ return (Build.VERSION.SDK_INT >= BUILD_CODE_FLOOR
+ && Build.VERSION.SDK_INT <= BUILD_CODE_CEILING)
+ && configProvider.getBoolean("assisted_dialing_enabled", false);
+ }
}