aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJake Klinker <jklinker@google.com>2023-05-15 22:35:00 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-05-15 22:35:00 +0000
commit3f3579d43fb3fab598f81ee1eb773d64a90e5a02 (patch)
tree957b70bb99d3eadb71e29cfa8df5b58c4650e285
parent6542270a1f365ad54f25678c6a722c724058d6d5 (diff)
parent268ca205f3d2648191eacffd6685fa550fe3bb4c (diff)
downloadMessaging-3f3579d43fb3fab598f81ee1eb773d64a90e5a02.tar.gz
Trim recipient addresses that are unreasonably long. am: e37bb58fbb am: 268ca205f3
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Messaging/+/23181897 Change-Id: Icd89ec7af0a6afbea4577a8adf8fd386ab32b09b Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--src/com/android/messaging/ui/conversation/LaunchConversationActivity.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/com/android/messaging/ui/conversation/LaunchConversationActivity.java b/src/com/android/messaging/ui/conversation/LaunchConversationActivity.java
index 5500ae8..c869839 100644
--- a/src/com/android/messaging/ui/conversation/LaunchConversationActivity.java
+++ b/src/com/android/messaging/ui/conversation/LaunchConversationActivity.java
@@ -37,6 +37,8 @@ import com.android.messaging.util.UriUtil;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
+import java.util.ArrayList;
+import java.util.List;
/**
* Launches ConversationActivity for sending a message to, or viewing messages from, a specific
@@ -46,6 +48,7 @@ import java.net.URLDecoder;
*/
public class LaunchConversationActivity extends Activity implements
LaunchConversationData.LaunchConversationDataListener {
+ private static final int MAX_RECIPIENT_LENGTH = 100;
static final String SMS_BODY = "sms_body";
static final String ADDRESS = "address";
final Binding<LaunchConversationData> mBinding = BindingBase.createBinding(this);
@@ -76,6 +79,9 @@ public class LaunchConversationActivity extends Activity implements
recipients = new String[] { intent.getStringExtra(Intent.EXTRA_EMAIL) };
}
}
+ if (recipients != null) {
+ recipients = trimInvalidRecipients(recipients);
+ }
mSmsBody = intent.getStringExtra(SMS_BODY);
if (TextUtils.isEmpty(mSmsBody)) {
// Used by intents sent from the web YouTube (and perhaps others).
@@ -103,6 +109,20 @@ public class LaunchConversationActivity extends Activity implements
finish();
}
+ private String[] trimInvalidRecipients(String[] recipients) {
+ List<String> trimmedRecipients = new ArrayList<>();
+ for (String recipient : recipients) {
+ if (recipient.length() < MAX_RECIPIENT_LENGTH) {
+ trimmedRecipients.add(recipient);
+ }
+ }
+ if (trimmedRecipients.size() > 0) {
+ return trimmedRecipients.toArray(new String[0]);
+ } else {
+ return null;
+ }
+ }
+
private String getBody(final Uri uri) {
if (uri == null) {
return null;