Add checks for call eligibility.

Bug: 73736190,73775046
Test: none
PiperOrigin-RevId: 193239591
Change-Id: I0af371b59e57a902df8162f3f04ba8e5a7900588
diff --git a/java/com/android/incallui/call/DialerCall.java b/java/com/android/incallui/call/DialerCall.java
index 5d32f46..2c1b5e7 100644
--- a/java/com/android/incallui/call/DialerCall.java
+++ b/java/com/android/incallui/call/DialerCall.java
@@ -83,6 +83,7 @@
 import com.android.dialer.util.PermissionsUtil;
 import com.android.incallui.audiomode.AudioModeProvider;
 import com.android.incallui.latencyreport.LatencyReport;
+import com.android.incallui.speakeasy.runtime.Constraints;
 import com.android.incallui.videotech.VideoTech;
 import com.android.incallui.videotech.VideoTech.VideoTechListener;
 import com.android.incallui.videotech.duo.DuoVideoTech;
@@ -1646,8 +1647,16 @@
 
   /** Indicates the call is eligible for SpeakEasy */
   public boolean isSpeakEasyEligible() {
-    // TODO(erfanian): refactor key location
-    return ConfigProviderBindings.get(context).getBoolean("speak_easy_enabled", false);
+    if (!Constraints.isAvailable(context)) {
+      return false;
+    }
+
+    return !isPotentialEmergencyCallback()
+        && !isEmergencyCall()
+        && !isActiveRttCall()
+        && !isConferenceCall()
+        && !isVideoCall()
+        && !isVoiceMailNumber();
   }
 
   /** Indicates the user has selected SpeakEasy */