From 94cd7523db858bfa23609f210d04e1620bf6657a Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Mon, 26 Jun 2023 11:07:38 +0100 Subject: [PATCH] Ensure we now escape chars in the unicode start range. With Bangle.js ~2v18.20+ we added Unicode support, but if we're sending non-unicode chars in the unicode range it will confuse Espruino --- .../service/devices/banglejs/BangleJSDeviceSupport.java | 3 ++- 1 file changed, 2 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 550801f01..ff2764b0c 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 @@ -381,7 +381,8 @@ public class BangleJSDeviceSupport extends AbstractBTLEDeviceSupport { else if (ch==12) json += "\\f"; else if (ch==34) json += "\\\""; // quote else if (ch==92) json += "\\\\"; // slash - else if (ch<32 || ch==127 || ch==173) + else if (ch<32 || ch==127 || ch==173 || + ((ch>=0xC2) && (ch<=0xF4))) // unicode start char range json += "\\x"+Integer.toHexString((ch&255)|256).substring(1); else json += s.charAt(i); }