From aad847cb0c9af8734bd51ca779b9762e51525c76 Mon Sep 17 00:00:00 2001 From: Tom Taylor Date: Wed, 9 May 2012 17:43:30 -0700 Subject: [PATCH] Thread with no recipients getting created Bug 6453254 Don't allow a thread to be created with no recipients, by not calling Threads.getOrCreateThreadId when there are no recipients. Change-Id: Ia9b1e944db6da83a3e6caf2dcebece9fc52740b0 --- .../com/google/android/mms/pdu/PduPersister.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/core/java/com/google/android/mms/pdu/PduPersister.java b/core/java/com/google/android/mms/pdu/PduPersister.java index 1a8e80fbfed8f..ee285aaba1c8e 100644 --- a/core/java/com/google/android/mms/pdu/PduPersister.java +++ b/core/java/com/google/android/mms/pdu/PduPersister.java @@ -1058,9 +1058,10 @@ public class PduPersister { } } } - - long threadId = Threads.getOrCreateThreadId(mContext, recipients); - values.put(Mms.THREAD_ID, threadId); + if (!recipients.isEmpty()) { + long threadId = Threads.getOrCreateThreadId(mContext, recipients); + values.put(Mms.THREAD_ID, threadId); + } SqliteWrapper.update(mContext, mContentResolver, uri, values, null, null); } @@ -1299,7 +1300,6 @@ public class PduPersister { } HashSet recipients = new HashSet(); - long threadId = DUMMY_THREAD_ID; int msgType = pdu.getMessageType(); // Here we only allocate thread ID for M-Notification.ind, // M-Retrieve.conf and M-Send.req. @@ -1326,9 +1326,11 @@ public class PduPersister { } } } - threadId = Threads.getOrCreateThreadId(mContext, recipients); + if (!recipients.isEmpty()) { + long threadId = Threads.getOrCreateThreadId(mContext, recipients); + values.put(Mms.THREAD_ID, threadId); + } } - values.put(Mms.THREAD_ID, threadId); // Save parts first to avoid inconsistent message is loaded // while saving the parts.