From f4e6d953ffbf30856daadd1080e18241c5fbe14a Mon Sep 17 00:00:00 2001 From: glemco Date: Wed, 25 May 2022 21:40:10 +0200 Subject: [PATCH] Enabling calendar sync for bangle --- .../devices/banglejs/BangleJSCoordinator.java | 2 +- .../banglejs/BangleJSDeviceSupport.java | 25 +++++++++++++++++-- app/src/main/res/values/strings.xml | 2 ++ app/src/main/res/xml/preferences.xml | 21 ++++++++++++++++ 4 files changed, 47 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/banglejs/BangleJSCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/banglejs/BangleJSCoordinator.java index fb52af60c..ba1c973ef 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/banglejs/BangleJSCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/banglejs/BangleJSCoordinator.java @@ -93,7 +93,7 @@ public class BangleJSCoordinator extends AbstractBLEDeviceCoordinator { @Override public boolean supportsCalendarEvents() { - return false; + return true; } @Override diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/banglejs/BangleJSDeviceSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/banglejs/BangleJSDeviceSupport.java index d85aa46f6..7d69e805c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/banglejs/BangleJSDeviceSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/banglejs/BangleJSDeviceSupport.java @@ -973,12 +973,33 @@ public class BangleJSDeviceSupport extends AbstractBTLEDeviceSupport { @Override public void onAddCalendarEvent(CalendarEventSpec calendarEventSpec) { - + try { + JSONObject o = new JSONObject(); + o.put("t", "calendar"); //TODO implement command + o.put("id", calendarEventSpec.id); + o.put("type", calendarEventSpec.type); //implement this too? (sunrise and set) + o.put("timestamp", calendarEventSpec.timestamp); + o.put("durationInSeconds", calendarEventSpec.durationInSeconds); + o.put("title", calendarEventSpec.title); + o.put("description", calendarEventSpec.description); + o.put("location", calendarEventSpec.location); + o.put("allDay", calendarEventSpec.allDay); + uartTxJSON("onAddCalendarEvent", o); + } catch (JSONException e) { + LOG.info("JSONException: " + e.getLocalizedMessage()); + } } @Override public void onDeleteCalendarEvent(byte type, long id) { - + try { + JSONObject o = new JSONObject(); + o.put("t", "calendar-"); + o.put("id", id); + uartTxJSON("onDeleteCalendarEvent", o); + } catch (JSONException e) { + LOG.info("JSONException: " + e.getLocalizedMessage()); + } } @Override diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 96f31ed26..7925834ea 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -277,6 +277,8 @@ Enable background JS When enabled, allows watchfaces to show weather, battery info etc. Reconnection attempts + Bangle.js settings + Bangle.js agenda Allows other apps to access HR data in realtime while Gadgetbridge is connected 3rd party realtime HR access Visible while connected diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 2ca7885e1..acccf5858 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -294,6 +294,27 @@ android:title="Emulator Port" /> + + + + + + +