From bffb8e8f876186fe61e7ce73da2b40d89c948e91 Mon Sep 17 00:00:00 2001 From: Andreas Shimokawa Date: Wed, 19 Feb 2020 09:41:50 +0100 Subject: [PATCH] Huami: send upcoming calendar events as reminder TODO: make this optional, fix title not being displayed, do it proberly like we do on pebble --- .../service/devices/huami/HuamiSupport.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiSupport.java index 7835b392ec..8c6a6e7455 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiSupport.java @@ -737,7 +737,14 @@ public class HuamiSupport extends AbstractBTLEDeviceSupport { TransactionBuilder builder = performInitialized("Set date and time"); setCurrentTimeWithService(builder); //TODO: once we have a common strategy for sending events (e.g. EventHandler), remove this call from here. Meanwhile it does no harm. - sendCalendarEvents(builder); + // = we should genaralize the pebble calender code + if (characteristicChunked == null) { + sendCalendarEvents(builder); + } + else { + // TODO: make this configurable + sendCalendarEventsAsReminder(builder); + } builder.queue(getQueue()); } catch (IOException ex) { LOG.error("Unable to set time on Huami device", ex); @@ -1719,7 +1726,7 @@ public class HuamiSupport extends AbstractBTLEDeviceSupport { buf.order(ByteOrder.LITTLE_ENDIAN); buf.put((byte) 0x0b); // always 0x0b? - buf.put((byte) 0); // îd + buf.put((byte) iteration); // îd buf.putInt(0x08 | 0x04 | 0x01); // flags 0x01 = enable, 0x04 = end date present, 0x08 = has text calendar.setTimeInMillis(calendarEvent.getBegin()); buf.put(BLETypeConversions.shortCalendarToRawBytes(calendar)); @@ -1730,7 +1737,6 @@ public class HuamiSupport extends AbstractBTLEDeviceSupport { buf.put(body); buf.put((byte) 0); // 0 Terminated writeToChunked(builder, 2, buf.array()); - builder.queue(getQueue()); iteration++; }