Package org.robolectric.shadows
Class ShadowBluetoothHeadset
java.lang.Object
org.robolectric.shadows.ShadowBluetoothHeadset
@NotThreadSafe @Implements(android.bluetooth.BluetoothHeadset.class) public class ShadowBluetoothHeadset extends Object
Shadow for
BluetoothHeadset
-
Constructor Summary
Constructors Constructor Description ShadowBluetoothHeadset()
-
Method Summary
Modifier and Type Method Description void
addConnectedDevice(BluetoothDevice device)
Adds the given BluetoothDevice to the shadow's list of "connected devices"protected BluetoothDevice
getActiveDevice()
protected List<BluetoothDevice>
getConnectedDevices()
Overrides behavior ofgetConnectedDevices()
.protected int
getConnectionState(BluetoothDevice device)
Overrides behavior ofgetConnectionState(android.bluetooth.BluetoothDevice)
.protected boolean
isAudioConnected(BluetoothDevice bluetoothDevice)
protected boolean
isVoiceRecognitionSupported(BluetoothDevice device)
Checks whether the headset supports voice recognition.protected boolean
sendVendorSpecificResultCode(BluetoothDevice device, String command, String arg)
protected boolean
setActiveDevice(BluetoothDevice bluetoothDevice)
void
setAllowsSendVendorSpecificResultCode(boolean allowsSendVendorSpecificResultCode)
void
setVoiceRecognitionSupported(boolean supported)
Sets whether the headset supports voice recognition.protected boolean
startVoiceRecognition(BluetoothDevice bluetoothDevice)
Overrides behavior ofstartVoiceRecognition(android.bluetooth.BluetoothDevice)
.protected boolean
stopVoiceRecognition(BluetoothDevice bluetoothDevice)
Overrides the behavior ofstopVoiceRecognition(android.bluetooth.BluetoothDevice)
.
-
Constructor Details
-
ShadowBluetoothHeadset
public ShadowBluetoothHeadset()
-
-
Method Details
-
getConnectedDevices
Overrides behavior ofgetConnectedDevices()
. Returns list of devices that is set up by call(s) toaddConnectedDevice(android.bluetooth.BluetoothDevice)
. Returns an empty list by default. -
addConnectedDevice
Adds the given BluetoothDevice to the shadow's list of "connected devices" -
getConnectionState
Overrides behavior ofgetConnectionState(android.bluetooth.BluetoothDevice)
.- Returns:
BluetoothProfile.STATE_CONNECTED
if the given device has been previously added by a call toaddConnectedDevice(android.bluetooth.BluetoothDevice)
, andBluetoothProfile.STATE_DISCONNECTED
otherwise.
-
startVoiceRecognition
Overrides behavior ofstartVoiceRecognition(android.bluetooth.BluetoothDevice)
. Returns false if 'bluetoothDevice' is null or voice recognition is already started. Users can listen toACTION_AUDIO_STATE_CHANGED
. If this function returns true, this intent will be broadcasted once withBluetoothProfile.EXTRA_STATE
set toSTATE_AUDIO_CONNECTING
and once set toSTATE_AUDIO_CONNECTED
. -
stopVoiceRecognition
Overrides the behavior ofstopVoiceRecognition(android.bluetooth.BluetoothDevice)
. Returns false if voice recognition was not started or voice recogntion has already ended on this headset. If this function returns true,ACTION_AUDIO_STATE_CHANGED
intent is broadcasted withBluetoothProfile.EXTRA_STATE
set toSTATE_DISCONNECTED
. -
isAudioConnected
-
sendVendorSpecificResultCode
@Implementation(minSdk=19) protected boolean sendVendorSpecificResultCode(BluetoothDevice device, String command, String arg)Overrides behavior ofsendVendorSpecificResultCode(android.bluetooth.BluetoothDevice,java.lang.String,java.lang.String)
.- Returns:
- 'true' only if the given device has been previously added by a call to
addConnectedDevice(android.bluetooth.BluetoothDevice)
andsetAllowsSendVendorSpecificResultCode(boolean)
has not been called with 'false' argument. - Throws:
IllegalArgumentException
- if 'command' argument is null, per Android API
-
getActiveDevice
-
setActiveDevice
@Implementation(minSdk=28) protected boolean setActiveDevice(@Nullable BluetoothDevice bluetoothDevice) -
setVoiceRecognitionSupported
public void setVoiceRecognitionSupported(boolean supported)Sets whether the headset supports voice recognition.By default voice recognition is supported.
-
isVoiceRecognitionSupported
Checks whether the headset supports voice recognition.- See Also:
setVoiceRecognitionSupported(boolean)
-
setAllowsSendVendorSpecificResultCode
public void setAllowsSendVendorSpecificResultCode(boolean allowsSendVendorSpecificResultCode)Affects the behavior ofBluetoothHeadset.sendVendorSpecificResultCode(android.bluetooth.BluetoothDevice, java.lang.String, java.lang.String)
- Parameters:
allowsSendVendorSpecificResultCode
- can be set to 'false' to simulate the situation where the system is unable to send vendor-specific result codes to a device
-