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" />
+
+
+
+
+
+
+