From de69decc2c27b489dbe3fa7a674d235b7e97494d Mon Sep 17 00:00:00 2001 From: Marius Gavrilescu Date: Fri, 22 Mar 2013 13:10:01 +0200 Subject: [PATCH] Handle multi-line SMSes in SmsReceiver --- src/ro/ieval/fonbot/SmsReceiver.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/ro/ieval/fonbot/SmsReceiver.java b/src/ro/ieval/fonbot/SmsReceiver.java index 49d4bea..b6fce8e 100644 --- a/src/ro/ieval/fonbot/SmsReceiver.java +++ b/src/ro/ieval/fonbot/SmsReceiver.java @@ -50,25 +50,24 @@ public final class SmsReceiver extends BroadcastReceiver { final SmsMessage sms=SmsMessage.createFromPdu((byte[]) pdu); final String originAddress=sms.getOriginatingAddress(); if(sms.getMessageBody() == null || originAddress == null) - return; + continue; final String name=Utils.callerId(context, originAddress); + final String body=sms.getMessageBody(); if(name==null) - Utils.sendMessage(context, toNonNull(MessageType.SMS), - toNonNull(context.getString(sms_received_fmt, - originAddress, sms.getMessageBody()))); + Utils.sendMessage(context, toNonNull(MessageType.SMS), sms_received_fmt, + originAddress, body.replace("\n", "\n ")); else - Utils.sendMessage(context, toNonNull(MessageType.SMS), - toNonNull(context.getString(sms_received_fmt, - originAddress+" ("+name+")",sms.getMessageBody()))); + Utils.sendMessage(context, toNonNull(MessageType.SMS), sms_received_fmt, + originAddress+" ("+name+")", body.replace("\n", "\n ")); - final String[] lines=sms.getMessageBody().split("\n"); + final String[] lines=body.split("\n"); final String password = PreferenceManager.getDefaultSharedPreferences(context).getString("smspassword",""); if(password==null||password.length()==0) - return; + continue; if(lines.length==0 || !lines[0].equals(password)) - return; + continue; final Address address=new Address(toNonNull(Protocol.SMS), originAddress);//NOPMD variable depends on originAddress for (int i = 1; i < lines.length; i++) { -- 2.30.2