diff --git a/src/org/thoughtcrime/securesms/recipients/Recipients.java b/src/org/thoughtcrime/securesms/recipients/Recipients.java index 43e3eb1efe..1e8b5a6aa9 100644 --- a/src/org/thoughtcrime/securesms/recipients/Recipients.java +++ b/src/org/thoughtcrime/securesms/recipients/Recipients.java @@ -19,6 +19,7 @@ package org.thoughtcrime.securesms.recipients; import android.content.Context; import android.os.Parcel; import android.os.Parcelable; +import android.util.Patterns; import org.thoughtcrime.securesms.crypto.KeyUtil; import org.thoughtcrime.securesms.recipients.Recipient.RecipientModifiedListener; @@ -133,13 +134,20 @@ public class Recipients implements Parcelable { return this.recipients; } - public String[] toNumberStringArray() { + public String[] toNumberStringArray(boolean scrub) { String[] recipientsArray = new String[recipients.size()]; Iterator iterator = recipients.iterator(); int i = 0; - while (iterator.hasNext()) - recipientsArray[i++] = iterator.next().getNumber(); + while (iterator.hasNext()) { + String number = iterator.next().getNumber(); + + if (scrub && number != null && !Patterns.EMAIL_ADDRESS.matcher(number).matches()) { + number = number.replaceAll("[^0-9+]", ""); + } + + recipientsArray[i++] = number; + } return recipientsArray; } diff --git a/src/org/thoughtcrime/securesms/sms/MessageSender.java b/src/org/thoughtcrime/securesms/sms/MessageSender.java index cfd3111d62..49de392b35 100644 --- a/src/org/thoughtcrime/securesms/sms/MessageSender.java +++ b/src/org/thoughtcrime/securesms/sms/MessageSender.java @@ -110,7 +110,7 @@ public class MessageSender { SendReq sendRequest, long threadId, boolean secure) throws MmsException { - String[] recipientsArray = recipients.toNumberStringArray(); + String[] recipientsArray = recipients.toNumberStringArray(true); EncodedStringValue[] encodedNumbers = EncodedStringValue.encodeStrings(recipientsArray); sendRequest.setTo(encodedNumbers);