From 602e4e15b2da4709c46bfff09f0f082da7dc14ed Mon Sep 17 00:00:00 2001 From: Spiralo-Idioide Date: Thu, 28 May 2026 14:57:43 +0200 Subject: [PATCH] BangleJs : Added support for different data types in intent extras --- .../devices/banglejs/BangleJSDeviceSupport.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) 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 d4a05b7f42..57477bf4eb 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 @@ -1055,7 +1055,19 @@ public class BangleJSDeviceSupport extends AbstractBTLESingleDeviceSupport { Iterator iter = extra.keys(); while (iter.hasNext()) { String key = iter.next(); - in.putExtra(key, extra.getString(key)); // Should this be implemented for other types, e.g. extra.getInt(key)? Or will this always work even if receiving ints/doubles/etc.? + Object value = extra.get(key); + + if (value instanceof Boolean) { + in.putExtra(key, (Boolean) value); + } else if (value instanceof Integer) { + in.putExtra(key, (Integer) value); + } else if (value instanceof Long) { + in.putExtra(key, (Long) value); + } else if (value instanceof Double) { + in.putExtra(key, (Double) value); + } else { + in.putExtra(key, value.toString()); + } } } LOG.info("Executing intent:\n\t" + String.valueOf(in) + "\n\tTargeting: " + target);