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(