From 665656ddc0aabbe4dd1f140e95c5bf2975c61eb7 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 27 Mar 2024 10:50:50 +0000 Subject: [PATCH] Bangle.js: Fix message reply (and add .reply in notify if message supports reply) NotificationListener now stores the handle ID in wearableAction.handle rather than hard-coding the calculation Should fix ZeppOS too which was copy&paste from Bangle.js --- .../gadgetbridge/externalevents/NotificationListener.java | 4 ++-- .../service/devices/banglejs/BangleJSDeviceSupport.java | 8 ++++++-- .../huami/zeppos/services/ZeppOsNotificationService.java | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/NotificationListener.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/NotificationListener.java index 3727d6f2c..aabdf15ef 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/NotificationListener.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/NotificationListener.java @@ -433,9 +433,9 @@ public class NotificationListener extends NotificationListenerService { } else { wearableAction.type = NotificationSpec.Action.TYPE_WEARABLE_SIMPLE; } - notificationSpec.attachedActions.add(wearableAction); - mActionLookup.add((notificationSpec.getId() << 4) + notificationSpec.attachedActions.size(), act); + wearableAction.handle = (notificationSpec.getId() << 4) + notificationSpec.attachedActions.size(); + mActionLookup.add((int)wearableAction.handle, act); LOG.info("Found wearable action: {} - {} {}", notificationSpec.attachedActions.size(), act.getTitle(), sbn.getTag()); } } 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 2f75dd4f7..1d36a8adf 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 @@ -1276,11 +1276,14 @@ public class BangleJSDeviceSupport extends AbstractBTLEDeviceSupport { @Override public void onNotification(NotificationSpec notificationSpec) { + boolean canReply = false; if (notificationSpec.attachedActions!=null) for (int i=0;i