From deeaf28de45ffc676446424e34e4bbabb8234d69 Mon Sep 17 00:00:00 2001 From: foxstidious Date: Fri, 13 Oct 2023 16:21:33 -0400 Subject: [PATCH] Limit characters in heading and subheading to 32 (or else casio won't display the notification) --- .../gbx100/CasioGBX100DeviceSupport.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/casio/gbx100/CasioGBX100DeviceSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/casio/gbx100/CasioGBX100DeviceSupport.java index abccff8cf..99d2cdebb 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/casio/gbx100/CasioGBX100DeviceSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/casio/gbx100/CasioGBX100DeviceSupport.java @@ -324,21 +324,32 @@ public class CasioGBX100DeviceSupport extends Casio2C2DSupport implements Shared } } + // Make sure title and sender are less than 32 characters byte[] titleBytes = new byte[0]; - if(title != null) + if(title != null) { + if (title.length() > 32) { + title = title.substring(0, 30) + ".."; + } titleBytes = title.getBytes(StandardCharsets.UTF_8); + } byte[] messageBytes = new byte[0]; - if(message != null) + if(message != null) { messageBytes = message.getBytes(StandardCharsets.UTF_8); + } byte[] senderBytes = new byte[0]; - if(sender != null) + if(sender != null) { + if (sender.length() > 32) { + sender = sender.substring(0, 30) + ".."; + } senderBytes = sender.getBytes(StandardCharsets.UTF_8); + } byte[] subtitleBytes = new byte[0]; - if (subtitle != null) + if (subtitle != null) { subtitleBytes = subtitle.getBytes(StandardCharsets.UTF_8); + } byte[] arr = new byte[22]; arr[0] = (byte)(id & 0xff);