This release is compiled with Kotlin 1.3.10 (and kotlinx.coroutines 1.0.1), which means it is now using stable coroutines. The Splitties artifacts have also been updated to version 2.0.0.
- Now uses stable coroutines.
- All the package names changed, dropping
experimental
from the hierarchy. - The API is still experimental, and is annotated accordingly.
This release is compiled with Kotlin 1.2.71 and relies on the version 0.30.2 of kotlinx.coroutines.
It also relies on three Splitties artifacts (App Context, Main Thread & Checked Lazy) of the version 2.0.0-alpha06.
GattConnection
is now an interface (was previously a class). You can still instantiate it with constructor-like syntax.- Instead of suspending any pending request when a disconnection has occured, a
ConnectionClosedException
will be thrown. Note that it is a subclass ofCancellationException
, so it will cancel the coroutine without crashing your application, but you should still handle it properly, especially if you want to retry or recover. - You can pass
ConnectionSettings
when creating aGattConnection
instance. With this, you can change transport, physical layer (aka. PHY) and enable auto connect. requireXxx
extension functions forGattConnection
,BluetoothGattService
andBluetoothGattCharacteristic
thanks to @Miha-x64 contribution.
This is the first release of BleGattCoroutines. Said otherwise, this was the start of the Make Gatt Great Again! campaign.
This version targets experimental coroutines from Kotlin 1.2.30 and relies on the version 0.22.5 of kotlinx.coroutines. Its target Android SDK is API level 27.