Package org.robolectric.shadows
Class ShadowBluetoothDevice
java.lang.Object
org.robolectric.shadows.ShadowBluetoothDevice
@Implements(value=android.bluetooth.BluetoothDevice.class,
looseSignatures=true)
public class ShadowBluetoothDevice
extends Object
Shadow for
BluetoothDevice.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceInterceptor interface forBluetoothGattobjects. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanprotected BluetoothGattconnectGatt(Context context, boolean autoConnect, BluetoothGattCallback callback) protected BluetoothGattconnectGatt(Context context, boolean autoConnect, BluetoothGattCallback callback, int transport) protected BluetoothGattconnectGatt(Context context, boolean autoConnect, BluetoothGattCallback callback, int transport, int phy, Handler handler) protected booleanReturns whether this device has been bonded with.protected BluetoothSocketcreateInsecureL2capChannel(int psm) protected BluetoothSocketcreateL2capChannel(int psm) protected BluetoothSocketprotected booleanOverrides behavior ofBluetoothDevice.fetchUuidsWithSdp().protected StringgetAlias()protected Stringprotected intOverrides behavior ofBluetoothDevice.getBluetoothClass()to return pre-set result.Returns allBluetoothGattobjects created by callingconnectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback).protected intOverrides behavior ofBluetoothDevice.getBondState()to return pre-set result.intReturns the number of times fetchUuidsWithSdp has been called.protected byte[]getMetadata(int key) protected StringgetName()Get the confirmation value previously set with a call toBluetoothDevice.setPairingConfirmation(boolean), or null if no value is set.byte[]getPin()Get the PIN previously set with a call toBluetoothDevice.setPin(byte[]), or null if no PIN has been set.protected static IBluetoothImplements getService() in the same way the original method does, but ignores any Exceptions from invokingBluetoothAdapter.getBluetoothService().protected intgetType()Overrides behavior ofBluetoothDevice.getType()to return pre-set result.protected ParcelUuid[]getUuids()Overrides behavior ofBluetoothDevice.getUuids()to return pre-set result.protected booleanprotected booleanstatic BluetoothDevicenewInstance(String address) Deprecated.protected booleanstatic voidreset()Sets the alias name of the device.voidsetBatteryLevel(int batteryLevel) voidsetBluetoothClass(BluetoothClass bluetoothClass) Sets the return value forBluetoothDevice.getBluetoothClass().voidsetBondState(int bondState) Sets value of bond state forBluetoothDevice.getBondState().voidsetConnected(boolean isConnected) voidsetCreatedBond(boolean createdBond) Sets whether this device has been bonded with.voidsetFetchUuidsWithSdpResult(boolean fetchUuidsWithSdpResult) Sets value of the return result forBluetoothDevice.fetchUuidsWithSdp().voidAllows tests to intercept theBluetoothDevice.connectGattmethod and set state on both BluetoothDevice and BluetoothGatt objects.protected booleansetMetadata(int key, byte[] value) voidbooleansetPairingConfirmation(boolean confirm) protected booleansetPin(byte[] pin) voidsetShouldThrowSecurityExceptions(boolean shouldThrow) Sets if a runtime exception is thrown when bluetooth methods with BLUETOOTH_CONNECT permission pre-requisites are accessed.booleansetSilenceMode(boolean isInSilenceMode) voidsetThrowOnGetAliasName(boolean shouldThrow) Sets if a runtime exception is thrown when the alias name of the device is accessed.voidsetType(int type) Sets the return value forBluetoothDevice.getType().voidsetUuids(ParcelUuid[] uuids) Sets the return value forBluetoothDevice.getUuids().voidsimulateGattConnectionChange(int status, int newState)
-
Constructor Details
-
ShadowBluetoothDevice
public ShadowBluetoothDevice()
-
-
Method Details
-
newInstance
Deprecated. -
reset
-
getService
Implements getService() in the same way the original method does, but ignores any Exceptions from invokingBluetoothAdapter.getBluetoothService(). -
setName
-
setAlias
Sets the alias name of the device.Alias is the locally modified name of a remote device.
Alias Name is not part of the supported SDK, and accessed via reflection.
- Parameters:
alias- alias name.
-
setThrowOnGetAliasName
public void setThrowOnGetAliasName(boolean shouldThrow) Sets if a runtime exception is thrown when the alias name of the device is accessed.Intended to replicate what may happen if the unsupported SDK is changed.
Alias is the locally modified name of a remote device.
Alias Name is not part of the supported SDK, and accessed via reflection.
- Parameters:
shouldThrow- if getAliasName() should throw when called.
-
setShouldThrowSecurityExceptions
public void setShouldThrowSecurityExceptions(boolean shouldThrow) Sets if a runtime exception is thrown when bluetooth methods with BLUETOOTH_CONNECT permission pre-requisites are accessed.Intended to replicate what may happen if user has not enabled nearby device permissions.
- Parameters:
shouldThrow- if methods should throw SecurityExceptions without enabled permissions when called.
-
getName
-
getAlias
-
getAliasName
- Throws:
ReflectiveOperationException
-
setType
public void setType(int type) Sets the return value forBluetoothDevice.getType(). -
getType
Overrides behavior ofBluetoothDevice.getType()to return pre-set result.- Returns:
- Value set by calling
setType(int). If setType has not previously been called, will return BluetoothDevice.DEVICE_TYPE_UNKNOWN.
-
setUuids
Sets the return value forBluetoothDevice.getUuids(). -
getUuids
Overrides behavior ofBluetoothDevice.getUuids()to return pre-set result.- Returns:
- Value set by calling
setUuids(android.os.ParcelUuid[]). If setUuids has not previously been called, will return null.
-
setBondState
public void setBondState(int bondState) Sets value of bond state forBluetoothDevice.getBondState(). -
cancelBondProcess
-
getBondState
Overrides behavior ofBluetoothDevice.getBondState()to return pre-set result. -
setCreatedBond
public void setCreatedBond(boolean createdBond) Sets whether this device has been bonded with. -
createBond
Returns whether this device has been bonded with. -
createInsecureL2capChannel
@Implementation(minSdk=29) protected BluetoothSocket createInsecureL2capChannel(int psm) throws IOException - Throws:
IOException
-
createL2capChannel
- Throws:
IOException
-
removeBond
-
setPin
-
getPin
public byte[] getPin()Get the PIN previously set with a call toBluetoothDevice.setPin(byte[]), or null if no PIN has been set. -
setPairingConfirmation
-
getPairingConfirmation
Get the confirmation value previously set with a call toBluetoothDevice.setPairingConfirmation(boolean), or null if no value is set. -
createRfcommSocketToServiceRecord
@Implementation protected BluetoothSocket createRfcommSocketToServiceRecord(UUID uuid) throws IOException - Throws:
IOException
-
setFetchUuidsWithSdpResult
public void setFetchUuidsWithSdpResult(boolean fetchUuidsWithSdpResult) Sets value of the return result forBluetoothDevice.fetchUuidsWithSdp(). -
fetchUuidsWithSdp
Overrides behavior ofBluetoothDevice.fetchUuidsWithSdp(). This method updates the counter which counts the number of invocations of this method. -
getFetchUuidsWithSdpCount
public int getFetchUuidsWithSdpCount()Returns the number of times fetchUuidsWithSdp has been called. -
connectGatt
@Implementation protected BluetoothGatt connectGatt(Context context, boolean autoConnect, BluetoothGattCallback callback) -
connectGatt
@Implementation(minSdk=23) protected BluetoothGatt connectGatt(Context context, boolean autoConnect, BluetoothGattCallback callback, int transport) -
connectGatt
@Implementation(minSdk=26) protected BluetoothGatt connectGatt(Context context, boolean autoConnect, BluetoothGattCallback callback, int transport, int phy, Handler handler) -
getBluetoothGatts
Returns allBluetoothGattobjects created by callingconnectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback). -
simulateGattConnectionChange
public void simulateGattConnectionChange(int status, int newState) - Parameters:
status- Status of the GATT operationnewState- The new state of the GATT profile
-
getBluetoothClass
Overrides behavior ofBluetoothDevice.getBluetoothClass()to return pre-set result.- Returns:
- Value set by calling
setBluetoothClass(android.bluetooth.BluetoothClass). If setType has not previously been called, will return null.
-
setBluetoothClass
Sets the return value forBluetoothDevice.getBluetoothClass(). -
setMetadata
-
getMetadata
-
setBatteryLevel
public void setBatteryLevel(int batteryLevel) -
getBatteryLevel
-
setSilenceMode
-
isConnected
-
setConnected
public void setConnected(boolean isConnected) -
isInSilenceMode
-
setGattConnectionInterceptor
public void setGattConnectionInterceptor(ShadowBluetoothDevice.BluetoothGattConnectionInterceptor interceptor) Allows tests to intercept theBluetoothDevice.connectGattmethod and set state on both BluetoothDevice and BluetoothGatt objects. This is useful for e2e testing situations where the fine-grained execution of Bluetooth connection logic is onerous.
-