Added a configuration option indicating if the platform supports use of
bluetooth SCO for off call use cases.
Added method to BluetoothHeadset API to check if voice dialer over
bluetooth is supported. Replaces direct use of DISABLE_BT_VOICE_DIALING
and takes platform capabilities into account.

Needed for issue 2416481: Support Voice Dialer over BT SCO.

Change-Id: I237d5a984dbc4cbc88e98b85d710a6c87ba1b315
diff --git a/core/java/android/bluetooth/BluetoothHeadset.java b/core/java/android/bluetooth/BluetoothHeadset.java
index 251813e..fff75ca 100644
--- a/core/java/android/bluetooth/BluetoothHeadset.java
+++ b/core/java/android/bluetooth/BluetoothHeadset.java
@@ -112,10 +112,6 @@
     /** Default priority when not set or when the device is unpaired */
     public static final int PRIORITY_UNDEFINED = -1;
 
-    /** Set this to true to prevent the bluetooth headset from
-     * activating the VoiceDialer. */
-    public static final boolean DISABLE_BT_VOICE_DIALING = false;
-
     /**
      * An interface for notifying BluetoothHeadset IPC clients when they have
      * been connected to the BluetoothHeadset service.
@@ -384,6 +380,16 @@
         return -1;
     }
 
+    /**
+     * Indicates if current platform supports voice dialing over bluetooth SCO.
+     * @return true if voice dialing over bluetooth is supported, false otherwise.
+     * @hide
+     */
+    public static boolean isBluetoothVoiceDialingEnabled(Context context) {
+        return context.getResources().getBoolean(
+                com.android.internal.R.bool.config_bluetooth_sco_off_call);
+    }
+
     private ServiceConnection mConnection = new ServiceConnection() {
         public void onServiceConnected(ComponentName className, IBinder service) {
             if (DBG) Log.d(TAG, "Proxy object connected");
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 84cd4c3..29a815f 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -282,4 +282,8 @@
 
     <!-- Component name of the service providing geocoder API support. -->
     <string name="config_geocodeProvider">@null</string>
+
+    <!-- Boolean indicating if current platform supports bluetooth SCO for off call
+    use cases -->
+    <bool name="config_bluetooth_sco_off_call">true</bool>
 </resources>