Check AD eligibility before utilizing the feature.
Bug: 67914094
Test: unit tests
PiperOrigin-RevId: 172650441
Change-Id: Ie7df3174a07df2de3a102fb70a126004f704b22f
diff --git a/java/com/android/dialer/assisteddialing/AssistedDialingMediator.java b/java/com/android/dialer/assisteddialing/AssistedDialingMediator.java
index 4dc87a7..004d2f7 100644
--- a/java/com/android/dialer/assisteddialing/AssistedDialingMediator.java
+++ b/java/com/android/dialer/assisteddialing/AssistedDialingMediator.java
@@ -24,6 +24,9 @@
/** The core interface for the AssistedDialingMediator. */
public interface AssistedDialingMediator {
+ /** Returns {@code true} if the current client platform supports Assisted Dialing. */
+ public boolean isPlatformEligible();
+
@SuppressWarnings("AndroidApiChecker") // Use of optional
@TargetApi(VERSION_CODES.N)
public Optional<TransformationInfo> attemptAssistedDial(@NonNull String numberToTransform);
diff --git a/java/com/android/dialer/assisteddialing/AssistedDialingMediatorImpl.java b/java/com/android/dialer/assisteddialing/AssistedDialingMediatorImpl.java
index 1692614..2027607 100644
--- a/java/com/android/dialer/assisteddialing/AssistedDialingMediatorImpl.java
+++ b/java/com/android/dialer/assisteddialing/AssistedDialingMediatorImpl.java
@@ -17,6 +17,7 @@
package com.android.dialer.assisteddialing;
import android.annotation.TargetApi;
+import android.os.Build;
import android.os.Build.VERSION_CODES;
import android.support.annotation.NonNull;
import com.android.dialer.common.LogUtil;
@@ -47,6 +48,12 @@
this.numberTransformer = numberTransformer;
}
+ @Override
+ public boolean isPlatformEligible() {
+ return Build.VERSION.SDK_INT >= Build.VERSION_CODES.N
+ && Build.VERSION.SDK_INT <= Build.VERSION_CODES.O;
+ }
+
/**
* 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
diff --git a/java/com/android/dialer/assisteddialing/AssistedDialingMediatorStub.java b/java/com/android/dialer/assisteddialing/AssistedDialingMediatorStub.java
index c7a8212..fe32e2c 100644
--- a/java/com/android/dialer/assisteddialing/AssistedDialingMediatorStub.java
+++ b/java/com/android/dialer/assisteddialing/AssistedDialingMediatorStub.java
@@ -31,4 +31,9 @@
public Optional<TransformationInfo> attemptAssistedDial(@NonNull String numberToTransform) {
return Optional.empty();
}
+
+ @Override
+ public boolean isPlatformEligible() {
+ return false;
+ }
}
diff --git a/java/com/android/dialer/callintent/CallIntentBuilder.java b/java/com/android/dialer/callintent/CallIntentBuilder.java
index dc239dc..2bbd124 100644
--- a/java/com/android/dialer/callintent/CallIntentBuilder.java
+++ b/java/com/android/dialer/callintent/CallIntentBuilder.java
@@ -126,7 +126,9 @@
Intent intent = new Intent(Intent.ACTION_CALL, uri);
Bundle extras = new Bundle();
- if (allowAssistedDial && this.assistedDialingMediator != null) {
+ if (allowAssistedDial
+ && this.assistedDialingMediator != null
+ && this.assistedDialingMediator.isPlatformEligible()) {
intent = buildAssistedDialingParameters(intent, extras);
}
intent.putExtra(