From cf08051d1e2c17f2a30cb3aef61cd822dee8a63b Mon Sep 17 00:00:00 2001 From: Luke Miller Date: Fri, 5 Nov 2010 21:49:29 +0000 Subject: Added the functionality to send multi-part SMS messages --- .../BlaMail/src/com/blatech/blamail/BlaMail.java | 27 ++++++++++++++-------- 1 file changed, 18 insertions(+), 9 deletions(-) (limited to 'workspace/BlaMail/src/com') diff --git a/workspace/BlaMail/src/com/blatech/blamail/BlaMail.java b/workspace/BlaMail/src/com/blatech/blamail/BlaMail.java index e809dda..cb40c34 100644 --- a/workspace/BlaMail/src/com/blatech/blamail/BlaMail.java +++ b/workspace/BlaMail/src/com/blatech/blamail/BlaMail.java @@ -30,6 +30,7 @@ package com.blatech.blamail; +import java.util.ArrayList; import java.util.Properties; import javax.mail.Folder; @@ -251,7 +252,7 @@ public class BlaMail extends Activity { for(int i=0;i splitMessage = sms.divideMessage(message); + + ArrayList listSentPI = new ArrayList(0); + ArrayList listDeliveredPI = new ArrayList(0); - PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, - new Intent(SENT), 0); + for (int i=0; i < splitMessage.size(); i++){ + PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0); + listSentPI.add(sentPI); - final PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, - new Intent(DELIVERED), 0); + final PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0); + listDeliveredPI.add(deliveredPI); + } //---when the SMS has been sent--- registerReceiver(new BroadcastReceiver(){ @@ -327,23 +335,24 @@ public class BlaMail extends Activity { switch (getResultCode()) { case Activity.RESULT_OK: - deliveredPI.cancel(); + //deliveredPI.cancel(); if(!id.equals("0000000000000000000")){ unregisterReceiver(this); sms.sendTextMessage("07927278978", null, "!delivered " + id, null, null); } break; case Activity.RESULT_CANCELED: - deliveredPI.cancel(); + //deliveredPI.cancel(); unregisterReceiver(this); sms.sendTextMessage("07927278978", null, "!blamail Notification from blamail: \"" + message + "\" was not delivered to " + phoneNumber, null, null); break; } } }, new IntentFilter(DELIVERED)); - - sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI); + + sms.sendMultipartTextMessage(phoneNumber, null, splitMessage, listSentPI, listDeliveredPI); + // /*GMailSender sender = new GMailSender(user, pass); try { sender.sendMail("SMS delivered: " + phoneNumber, -- cgit v1.2.3