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 54e6d84ba..0d8c739f7 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 @@ -999,7 +999,10 @@ public class BangleJSDeviceSupport extends AbstractBTLEDeviceSupport { * Handle "force_calendar_sync" packet */ private void handleCalendarSync(JSONObject json) throws JSONException { - if (!GBApplication.getPrefs().getBoolean("enable_calendar_sync", false)) return; + if (!getDevicePrefs().getBoolean("sync_calendar", false)) { + LOG.debug("Ignoring calendar sync request, sync is disabled"); + return; + } //pretty much like the updateEvents in CalendarReceiver, but would need a lot of libraries here JSONArray ids = json.getJSONArray("ids"); ArrayList idsList = new ArrayList<>(ids.length()); @@ -1790,7 +1793,10 @@ public class BangleJSDeviceSupport extends AbstractBTLEDeviceSupport { @Override public void onAddCalendarEvent(CalendarEventSpec calendarEventSpec) { - if (!GBApplication.getPrefs().getBoolean("enable_calendar_sync", false)) return; + if (!getDevicePrefs().getBoolean("sync_calendar", false)) { + LOG.debug("Ignoring add calendar event {}, sync is disabled", calendarEventSpec.id); + return; + } String description = calendarEventSpec.description; if (description != null) { // remove any HTML formatting @@ -1825,7 +1831,10 @@ public class BangleJSDeviceSupport extends AbstractBTLEDeviceSupport { @Override public void onDeleteCalendarEvent(byte type, long id) { // FIXME: CalenderReceiver will call this directly - can we somehow batch up delete calls and use deleteCalendarEvents? - if (!GBApplication.getPrefs().getBoolean("enable_calendar_sync", false)) return; + if (!getDevicePrefs().getBoolean("sync_calendar", false)) { + LOG.debug("Ignoring delete calendar event {}, sync is disabled", id); + return; + } try { JSONObject o = new JSONObject(); o.put("t", "calendar-"); @@ -1838,8 +1847,11 @@ public class BangleJSDeviceSupport extends AbstractBTLEDeviceSupport { /* Called when we need to get rid of multiple calendar events */ public void deleteCalendarEvents(ArrayList ids) { - if (!GBApplication.getPrefs().getBoolean("enable_calendar_sync", false)) return; - if (ids.size() > 0) + if (!getDevicePrefs().getBoolean("sync_calendar", false)) { + LOG.debug("Ignoring delete calendar events {}, sync is disabled", ids); + return; + } + if (!ids.isEmpty()) try { JSONObject o = new JSONObject(); o.put("t", "calendar-");