Package org.robolectric.shadows
Class ShadowBluetoothGatt
java.lang.Object
org.robolectric.shadows.ShadowBluetoothGatt
Shadow implementation of
BluetoothGatt
.-
Field Summary
Modifier and TypeFieldDescriptionprotected org.robolectric.shadows.ShadowBluetoothGatt.BluetoothGattReflector
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
allowCharacteristicNotification
(BluetoothGattCharacteristic characteristic) Allows the incoming characteristic to be set to enable notification.protected void
close()
Close this Bluetooth GATT client.protected boolean
connect()
Connect to a remote device, and performs aBluetoothGattCallback.onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int)
if aBluetoothGattCallback
has been set bysetGattCallback(android.bluetooth.BluetoothGattCallback)
void
disallowCharacteristicNotification
(BluetoothGattCharacteristic characteristic) Disallows the incoming characteristic to be set to enable notification.protected void
Disconnects an established connection, or cancels a connection attempt currently in progress.protected boolean
OverridesBluetoothGatt.discoverServices()
to always return false unless there are discoverable services made available byaddDiscoverableService(android.bluetooth.BluetoothGattService)
org.robolectric.shadows.BluetoothConnectionManager
int
byte[]
byte[]
protected BluetoothGattService
getService
(UUID uuid) OverridesBluetoothGatt.getService(android.bluetooth.BluetoothDevice, java.util.UUID, int)
to return a service with given UUID.protected List<BluetoothGattService>
OverridesBluetoothGatt.getServices()
to always return a list of services discovered.boolean
isClosed()
boolean
static BluetoothGatt
newInstance
(BluetoothDevice device) void
notifyConnection
(String remoteAddress) Simulate a successful Gatt Client Conection withBluetoothConnectionManager
.void
notifyDisconnection
(String remoteAddress) Simulate a successful Gatt Client Disconnection withBluetoothConnectionManager
.boolean
readIncomingCharacteristic
(BluetoothGattCharacteristic characteristic) Writes bytes from incoming characteristic if properties are valid and callback is set.void
protected boolean
requestConnectionPriority
(int priority) Request a connection parameter update.protected boolean
requestMtu
(int mtu) OverridesBluetoothGatt.requestMtu(int)
to always fail beforeShadowBlueoothGatt.setGattCallback
is called, and always succeed after.protected boolean
setCharacteristicNotification
(BluetoothGattCharacteristic characteristic, boolean enable) OverridesBluetoothGatt.setCharacteristicNotification(android.bluetooth.BluetoothGattCharacteristic, boolean)
so it returns true (false) if allowCharacteristicNotification (disallowCharacteristicNotification) is called.void
setGattCallback
(BluetoothGattCallback bluetoothGattCallback) protected boolean
writeCharacteristic
(BluetoothGattCharacteristic characteristic) protected int
writeCharacteristic
(BluetoothGattCharacteristic characteristic, byte[] value, int writeType) protected boolean
writeDescriptor
(BluetoothGattDescriptor descriptor) boolean
writeIncomingCharacteristic
(BluetoothGattCharacteristic characteristic) Reads bytes from incoming characteristic if properties are valid and callback is set.
-
Field Details
-
bluetoothGattReflector
@ReflectorObject protected org.robolectric.shadows.ShadowBluetoothGatt.BluetoothGattReflector bluetoothGattReflector
-
-
Constructor Details
-
ShadowBluetoothGatt
public ShadowBluetoothGatt()
-
-
Method Details
-
newInstance
-
connect
Connect to a remote device, and performs aBluetoothGattCallback.onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int)
if aBluetoothGattCallback
has been set bysetGattCallback(android.bluetooth.BluetoothGattCallback)
- Returns:
- true, if a
BluetoothGattCallback
has been set bysetGattCallback(android.bluetooth.BluetoothGattCallback)
-
disconnect
Disconnects an established connection, or cancels a connection attempt currently in progress. -
close
Close this Bluetooth GATT client. -
requestConnectionPriority
Request a connection parameter update.- Parameters:
priority
- Request a specific connection priority. Must be one ofBluetoothGatt.CONNECTION_PRIORITY_BALANCED
,BluetoothGatt.CONNECTION_PRIORITY_HIGH
orBluetoothGatt.CONNECTION_PRIORITY_LOW_POWER
.- Returns:
- true if operation is successful.
- Throws:
IllegalArgumentException
- If the parameters are outside of their specified range.
-
requestMtu
OverridesBluetoothGatt.requestMtu(int)
to always fail beforeShadowBlueoothGatt.setGattCallback
is called, and always succeed after. -
discoverServices
OverridesBluetoothGatt.discoverServices()
to always return false unless there are discoverable services made available byaddDiscoverableService(android.bluetooth.BluetoothGattService)
- Returns:
- true if discoverable service is available and callback response is possible
-
getServices
OverridesBluetoothGatt.getServices()
to always return a list of services discovered.- Returns:
- list of services that have been discovered through
discoverServices()
, empty if none.
-
getService
OverridesBluetoothGatt.getService(android.bluetooth.BluetoothDevice, java.util.UUID, int)
to return a service with given UUID.- Returns:
- a service with given UUID that have been discovered through
discoverServices()
.
-
setCharacteristicNotification
@Implementation(minSdk=26) protected boolean setCharacteristicNotification(BluetoothGattCharacteristic characteristic, boolean enable) OverridesBluetoothGatt.setCharacteristicNotification(android.bluetooth.BluetoothGattCharacteristic, boolean)
so it returns true (false) if allowCharacteristicNotification (disallowCharacteristicNotification) is called. -
writeDescriptor
-
writeCharacteristic
@Implementation(minSdk=26) protected boolean writeCharacteristic(BluetoothGattCharacteristic characteristic) -
writeCharacteristic
@Implementation(minSdk=33) protected int writeCharacteristic(BluetoothGattCharacteristic characteristic, byte[] value, int writeType) -
writeIncomingCharacteristic
Reads bytes from incoming characteristic if properties are valid and callback is set. Callback responds withBluetoothGattCallback.onCharacteristicWrite(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int)
and returns true when successful.- Parameters:
characteristic
- Characteristic to read- Returns:
- true, if the read operation was initiated successfully
- Throws:
IllegalStateException
- if aBluetoothGattCallback
has not been set bysetGattCallback(android.bluetooth.BluetoothGattCallback)
-
readIncomingCharacteristic
Writes bytes from incoming characteristic if properties are valid and callback is set. Callback responds with BluetoothGattCallback#onCharacteristicRead and returns true when successful.- Parameters:
characteristic
- Characteristic to read- Returns:
- true, if the read operation was initiated successfully
- Throws:
IllegalStateException
- if aBluetoothGattCallback
has not been set bysetGattCallback(android.bluetooth.BluetoothGattCallback)
-
allowCharacteristicNotification
Allows the incoming characteristic to be set to enable notification. -
disallowCharacteristicNotification
Disallows the incoming characteristic to be set to enable notification. -
addDiscoverableService
-
removeDiscoverableService
-
getGattCallback
-
setGattCallback
-
isConnected
public boolean isConnected() -
isClosed
public boolean isClosed() -
getConnectionPriority
public int getConnectionPriority() -
getLatestWrittenBytes
public byte[] getLatestWrittenBytes() -
getLatestReadBytes
public byte[] getLatestReadBytes() -
getBluetoothConnectionManager
public org.robolectric.shadows.BluetoothConnectionManager getBluetoothConnectionManager() -
notifyConnection
Simulate a successful Gatt Client Conection withBluetoothConnectionManager
. Performs aBluetoothGattCallback.onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int)
if available.- Parameters:
remoteAddress
- address of Gatt client
-
notifyDisconnection
Simulate a successful Gatt Client Disconnection withBluetoothConnectionManager
. Performs aBluetoothGattCallback.onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int)
if available.- Parameters:
remoteAddress
- address of Gatt client
-