diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/amazfitbip/AmazfitBipSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/amazfitbip/AmazfitBipSupport.java index 95d4288d8..57fb1941e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/amazfitbip/AmazfitBipSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/amazfitbip/AmazfitBipSupport.java @@ -140,15 +140,18 @@ public class AmazfitBipSupport extends MiBand2Support { @Override public void onSendWeather(WeatherSpec weatherSpec) { + if (gbDevice.getFirmwareVersion() == null) { + LOG.warn("Device not initialized yet, so not sending weather info"); + return; + } + try { TransactionBuilder builder = performInitialized("Sending weather forecast"); boolean supportsConditionString = false; - if (gbDevice.getFirmwareVersion() != null) { - Version version = new Version(gbDevice.getFirmwareVersion()); - if (version.compareTo(new Version("0.0.8.74")) >= 0) { - supportsConditionString = true; - } + Version version = new Version(gbDevice.getFirmwareVersion()); + if (version.compareTo(new Version("0.0.8.74")) >= 0) { + supportsConditionString = true; } final byte NR_DAYS = 2; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/miband2/MiBand2Support.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/miband2/MiBand2Support.java index 1ccf040e6..c6fa3bc49 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/miband2/MiBand2Support.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/miband2/MiBand2Support.java @@ -1064,7 +1064,6 @@ public class MiBand2Support extends AbstractBTLEDeviceSupport { queueAlarm(alarm, builder, characteristic); iteration++; } - builder.queue(getQueue()); } return this; } @@ -1309,8 +1308,11 @@ public class MiBand2Support extends AbstractBTLEDeviceSupport { public void phase2Initialize(TransactionBuilder builder) { LOG.info("phase2Initialize..."); - enableFurtherNotifications(builder, true); requestBatteryInfo(builder); + } + + public void phase3Initialize(TransactionBuilder builder) { + LOG.info("phase3Initialize..."); setDateDisplay(builder); setTimeFormat(builder); setWearLocation(builder); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/miband2/operations/InitOperation.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/miband2/operations/InitOperation.java index e07f8a992..e1a5bd7ce 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/miband2/operations/InitOperation.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/miband2/operations/InitOperation.java @@ -117,7 +117,9 @@ public class InitOperation extends AbstractBTLEOperation { TransactionBuilder builder = createTransactionBuilder("Authenticated, now initialize phase 2"); builder.add(new SetDeviceStateAction(getDevice(), GBDevice.State.INITIALIZING, getContext())); getSupport().requestDeviceInfo(builder); + getSupport().enableFurtherNotifications(builder, true); getSupport().phase2Initialize(builder); + getSupport().phase3Initialize(builder); getSupport().setInitialized(builder); getSupport().performImmediately(builder); } else {