Rename virtual call API to ScoUsingVirtualCall.

This API makes more sense with regard to headset profile.
Bug: 3381532

Change-Id: Ife07d101a3b04bcddb31e7ae86712e1d97a660c5
diff --git a/core/java/android/bluetooth/BluetoothHeadset.java b/core/java/android/bluetooth/BluetoothHeadset.java
index 2959fc0..a7e4518 100644
--- a/core/java/android/bluetooth/BluetoothHeadset.java
+++ b/core/java/android/bluetooth/BluetoothHeadset.java
@@ -626,18 +626,21 @@
     }
 
     /**
-     * Initiates a Virtual Voice Call to the handsfree device (if connected).
-     * Allows the handsfree device to be used for routing non-cellular call audio
+     * Initiates a SCO channel connection with the headset (if connected).
+     * Also initiates a virtual voice call for Handsfree devices as many devices
+     * do not accept SCO audio without a call.
+     * This API allows the handsfree device to be used for routing non-cellular
+     * call audio.
      *
      * @param device Remote Bluetooth Device
      * @return true if successful, false if there was some error.
      * @hide
      */
-    public boolean startVirtualVoiceCall(BluetoothDevice device) {
-        if (DBG) log("startVirtualVoiceCall()");
+    public boolean startScoUsingVirtualVoiceCall(BluetoothDevice device) {
+        if (DBG) log("startScoUsingVirtualVoiceCall()");
         if (mService != null && isEnabled() && isValidDevice(device)) {
             try {
-                return mService.startVirtualVoiceCall(device);
+                return mService.startScoUsingVirtualVoiceCall(device);
             } catch (RemoteException e) {
                 Log.e(TAG, e.toString());
             }
@@ -649,17 +652,18 @@
     }
 
     /**
-     * Terminates an ongoing Virtual Voice Call to the handsfree device (if connected).
+     * Terminates an ongoing SCO connection and the associated virtual
+     * call.
      *
      * @param device Remote Bluetooth Device
      * @return true if successful, false if there was some error.
      * @hide
      */
-    public boolean stopVirtualVoiceCall(BluetoothDevice device) {
-        if (DBG) log("stopVirtualVoiceCall()");
+    public boolean stopScoUsingVirtualVoiceCall(BluetoothDevice device) {
+        if (DBG) log("stopScoUsingVirtualVoiceCall()");
         if (mService != null && isEnabled() && isValidDevice(device)) {
             try {
-                return mService.stopVirtualVoiceCall(device);
+                return mService.stopScoUsingVirtualVoiceCall(device);
             } catch (RemoteException e) {
                 Log.e(TAG, e.toString());
             }
diff --git a/core/java/android/bluetooth/IBluetoothHeadset.aidl b/core/java/android/bluetooth/IBluetoothHeadset.aidl
index 3c6cf77..41f63b2 100644
--- a/core/java/android/bluetooth/IBluetoothHeadset.aidl
+++ b/core/java/android/bluetooth/IBluetoothHeadset.aidl
@@ -48,8 +48,8 @@
     boolean setAudioState(in BluetoothDevice device, int state);
     int getAudioState(in BluetoothDevice device);
 
-    boolean startVirtualVoiceCall(in BluetoothDevice device);
-    boolean stopVirtualVoiceCall(in BluetoothDevice device);
+    boolean startScoUsingVirtualVoiceCall(in BluetoothDevice device);
+    boolean stopScoUsingVirtualVoiceCall(in BluetoothDevice device);
 
     void sendAtCommand(in BluetoothDevice device, String urc);
 }
diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java
index e404b05..7312d75 100644
--- a/media/java/android/media/AudioService.java
+++ b/media/java/android/media/AudioService.java
@@ -721,7 +721,7 @@
                                         if (mScoAudioState == SCO_STATE_ACTIVE_EXTERNAL) {
                                             mBluetoothHeadset.stopVoiceRecognition(
                                                     mBluetoothHeadsetDevice);
-                                            mBluetoothHeadset.stopVirtualVoiceCall(
+                                            mBluetoothHeadset.stopScoUsingVirtualVoiceCall(
                                                     mBluetoothHeadsetDevice);
                                         } else {
                                             clearAllScoClients(mCb, true);
@@ -808,7 +808,8 @@
                             checkScoAudioState();
                             if (mScoAudioState == SCO_STATE_ACTIVE_EXTERNAL) {
                                 mBluetoothHeadset.stopVoiceRecognition(mBluetoothHeadsetDevice);
-                                mBluetoothHeadset.stopVirtualVoiceCall(mBluetoothHeadsetDevice);
+                                mBluetoothHeadset.stopScoUsingVirtualVoiceCall(
+                                    mBluetoothHeadsetDevice);
                             } else {
                                 clearAllScoClients(cb, true);
                             }
@@ -1296,10 +1297,10 @@
                         state == BluetoothHeadset.STATE_AUDIO_CONNECTED &&
                         mScoAudioState == SCO_STATE_INACTIVE) {
                     mScoAudioState = SCO_STATE_ACTIVE_INTERNAL;
-                    mBluetoothHeadset.startVirtualVoiceCall(mBluetoothHeadsetDevice);
+                    mBluetoothHeadset.startScoUsingVirtualVoiceCall(mBluetoothHeadsetDevice);
                 } else if (state == BluetoothHeadset.STATE_AUDIO_DISCONNECTED &&
                         mScoAudioState == SCO_STATE_ACTIVE_INTERNAL){
-                    mBluetoothHeadset.stopVirtualVoiceCall(mBluetoothHeadsetDevice);
+                    mBluetoothHeadset.stopScoUsingVirtualVoiceCall(mBluetoothHeadsetDevice);
                 }
             }
         }