From 50034e0bfe7ee6aa730aff7a83a2a7a9fe73115f Mon Sep 17 00:00:00 2001 From: cpfeiffer Date: Tue, 5 May 2015 23:25:54 +0200 Subject: [PATCH] Request battery info in initialize() --- .../freeyourgadget/gadgetbridge/GBDevice.java | 2 +- .../gadgetbridge/miband/MiBandSupport.java | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBDevice.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBDevice.java index 0d3492221..2fcfa964a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBDevice.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBDevice.java @@ -204,7 +204,7 @@ public class GBDevice implements Parcelable { } public void setBatteryLevel(short batteryLevel) { - if (mBatteryLevel >= 0 && mBatteryLevel <= 100) { + if (batteryLevel >= 0 && batteryLevel <= 100) { mBatteryLevel = batteryLevel; } else { Log.e(TAG, "Battery level musts be within range 0-100: " + batteryLevel); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandSupport.java index 3b2aaf3d6..fe0699fdc 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandSupport.java @@ -23,7 +23,7 @@ public class MiBandSupport extends AbstractBTLEDeviceSupport { @Override protected TransactionBuilder initializeDevice(TransactionBuilder builder) { - pair(builder).sendUserInfo(builder).setCurrentTime(builder); + pair(builder).sendUserInfo(builder).setCurrentTime(builder).requestBatteryInfo(builder); return builder; } @@ -95,6 +95,13 @@ public class MiBandSupport extends AbstractBTLEDeviceSupport { return this; } + private MiBandSupport requestBatteryInfo(TransactionBuilder builder) { + Log.d(TAG, "Requesting Battery Info!"); + BluetoothGattCharacteristic characteristic = getCharacteristic(MiBandService.UUID_CHARACTERISTIC_BATTERY); + builder.read(characteristic); + return this; + } + /** * Part of device initialization process. Do not call manually. * @@ -200,8 +207,8 @@ public class MiBandSupport extends AbstractBTLEDeviceSupport { public void onBatteryInfoReq() { try { TransactionBuilder builder = performInitialized("Get MI Band battery info"); - BluetoothGattCharacteristic characteristic = getCharacteristic(MiBandService.UUID_CHARACTERISTIC_BATTERY); - builder.read(characteristic).queue(getQueue()); + requestBatteryInfo(builder); + builder.queue(getQueue()); } catch (IOException ex) { Log.e(TAG, "Unable to read battery info from MI", ex); }