From b9056384f91309348966fb9d28db224d2c13442c Mon Sep 17 00:00:00 2001 From: Lexsus Date: Mon, 8 Apr 2019 15:23:40 +0300 Subject: [PATCH 1/2] fix error with big sms text in UTF-8 --- .../smsCommunicator/SmsCommunicatorPlugin.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/smsCommunicator/SmsCommunicatorPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/smsCommunicator/SmsCommunicatorPlugin.java index 70af65bfcf..b1a82b63a7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/smsCommunicator/SmsCommunicatorPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/smsCommunicator/SmsCommunicatorPlugin.java @@ -760,11 +760,19 @@ public class SmsCommunicatorPlugin extends PluginBase { void sendSMS(Sms sms) { SmsManager smsManager = SmsManager.getDefault(); sms.text = stripAccents(sms.text); - if (sms.text.length() > 140) sms.text = sms.text.substring(0, 139); + try { if (L.isEnabled(L.SMS)) log.debug("Sending SMS to " + sms.phoneNumber + ": " + sms.text); - smsManager.sendTextMessage(sms.phoneNumber, null, sms.text, null, null); + if (sms.text.getBytes().length<=140) + smsManager.sendTextMessage(sms.phoneNumber, null, sms.text, null, null); + else + { + ArrayList parts = smsManager.divideMessage(sms.text); + smsManager.sendMultipartTextMessage(sms.phoneNumber, null, parts, + null, null); + } + messages.add(sms); } catch (IllegalArgumentException e) { Notification notification = new Notification(Notification.INVALID_PHONE_NUMBER, MainApp.gs(R.string.smscommunicator_invalidphonennumber), Notification.NORMAL); From b2e70fd80174068fa392aae821c162806b04e6d1 Mon Sep 17 00:00:00 2001 From: Lucass Date: Mon, 8 Apr 2019 22:51:22 +0300 Subject: [PATCH 2/2] applied formatting --- .../general/smsCommunicator/SmsCommunicatorPlugin.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/smsCommunicator/SmsCommunicatorPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/smsCommunicator/SmsCommunicatorPlugin.java index b1a82b63a7..7703561aa9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/smsCommunicator/SmsCommunicatorPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/smsCommunicator/SmsCommunicatorPlugin.java @@ -118,7 +118,7 @@ public class SmsCommunicatorPlugin extends PluginBase { } boolean isCommand(String command, String number) { - switch(command.toUpperCase()) { + switch (command.toUpperCase()) { case "BG": case "LOOP": case "TREATMENTS": @@ -760,14 +760,13 @@ public class SmsCommunicatorPlugin extends PluginBase { void sendSMS(Sms sms) { SmsManager smsManager = SmsManager.getDefault(); sms.text = stripAccents(sms.text); - + try { if (L.isEnabled(L.SMS)) log.debug("Sending SMS to " + sms.phoneNumber + ": " + sms.text); - if (sms.text.getBytes().length<=140) + if (sms.text.getBytes().length <= 140) smsManager.sendTextMessage(sms.phoneNumber, null, sms.text, null, null); - else - { + else { ArrayList parts = smsManager.divideMessage(sms.text); smsManager.sendMultipartTextMessage(sms.phoneNumber, null, parts, null, null);