in rx-central-ble-sample/src/main/java/com/uber/rxcentralble/sample/MainActivity.java [129:147]
public void getBattery() {
peripheralManager
.queueOperation(new Read(SampleApplication.BATTERY_SVC_UUID, SampleApplication.BATTERY_LEVEL_UUID, 5000))
.map(bytes -> bytes.length > 0 ? (int) bytes[0] : -1)
.subscribe(
batteryLevel -> Timber.i("Get Battery: success: " + batteryLevel),
error -> Timber.i("Get Battery: error: " + error.getMessage()));
peripheralManager
.queueOperation(new RegisterNotification(
SampleApplication.BATTERY_SVC_UUID,
SampleApplication.BATTERY_LEVEL_UUID,
5000))
.flatMapObservable(irrelevant -> peripheralManager.notification(SampleApplication.BATTERY_LEVEL_UUID))
.map(bytes -> bytes.length > 0 ? (int) bytes[0] : -1)
.subscribe(
batteryLevel -> Timber.i("Notif Battery: success: " + batteryLevel),
error -> Timber.i("Notif Battery: error: " + error.getMessage()));
}