Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dde68c64 authored by Jaikumar Ganesh's avatar Jaikumar Ganesh
Browse files

Rename virtual call API to ScoUsingVirtualCall.

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

Change-Id: Ife07d101a3b04bcddb31e7ae86712e1d97a660c5
parent 67005b05
Loading
Loading
Loading
Loading
+13 −9
Original line number Diff line number Diff line
@@ -626,18 +626,21 @@ public final class BluetoothHeadset implements BluetoothProfile {
    }

    /**
     * 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 @@ public final class BluetoothHeadset implements BluetoothProfile {
    }

    /**
     * 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());
            }
+2 −2
Original line number Diff line number Diff line
@@ -48,8 +48,8 @@ interface IBluetoothHeadset {
    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);
}
+5 −4
Original line number Diff line number Diff line
@@ -721,7 +721,7 @@ public class AudioService extends IAudioService.Stub {
                                        if (mScoAudioState == SCO_STATE_ACTIVE_EXTERNAL) {
                                            mBluetoothHeadset.stopVoiceRecognition(
                                                    mBluetoothHeadsetDevice);
                                            mBluetoothHeadset.stopVirtualVoiceCall(
                                            mBluetoothHeadset.stopScoUsingVirtualVoiceCall(
                                                    mBluetoothHeadsetDevice);
                                        } else {
                                            clearAllScoClients(mCb, true);
@@ -808,7 +808,8 @@ public class AudioService extends IAudioService.Stub {
                            checkScoAudioState();
                            if (mScoAudioState == SCO_STATE_ACTIVE_EXTERNAL) {
                                mBluetoothHeadset.stopVoiceRecognition(mBluetoothHeadsetDevice);
                                mBluetoothHeadset.stopVirtualVoiceCall(mBluetoothHeadsetDevice);
                                mBluetoothHeadset.stopScoUsingVirtualVoiceCall(
                                    mBluetoothHeadsetDevice);
                            } else {
                                clearAllScoClients(cb, true);
                            }
@@ -1296,10 +1297,10 @@ public class AudioService extends IAudioService.Stub {
                        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);
                }
            }
        }