diff options
author | Tom Taylor <tomtaylor@google.com> | 2012-09-14 16:25:37 -0700 |
---|---|---|
committer | Tom Taylor <tomtaylor@google.com> | 2012-09-14 16:25:37 -0700 |
commit | 3c307cabb5bd96ed174930ebf17f533bf2a79de7 (patch) | |
tree | 023acf109b21ec33ba02a8d548fbcb1d06c42e76 /src | |
parent | 99b45939853c8709a7c2e0745ec02e116cb2d74b (diff) | |
download | Mms-3c307cabb5bd96ed174930ebf17f533bf2a79de7.tar.gz |
Group MMS showing subject for every single message
Bug 7112646
Don't show "<Subject: no subject>" for mms messages where the subject
is "no subject"
Change-Id: I9b4c71ede607699273dbee2b791a879c96d0c993
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/mms/transaction/MessagingNotification.java | 3 | ||||
-rw-r--r-- | src/com/android/mms/ui/MessageItem.java | 2 | ||||
-rw-r--r-- | src/com/android/mms/ui/MessageUtils.java | 26 |
3 files changed, 30 insertions, 1 deletions
diff --git a/src/com/android/mms/transaction/MessagingNotification.java b/src/com/android/mms/transaction/MessagingNotification.java index cb41a975..2e2fbe4f 100644 --- a/src/com/android/mms/transaction/MessagingNotification.java +++ b/src/com/android/mms/transaction/MessagingNotification.java @@ -69,6 +69,7 @@ import com.android.mms.model.SlideModel; import com.android.mms.model.SlideshowModel; import com.android.mms.ui.ComposeMessageActivity; import com.android.mms.ui.ConversationList; +import com.android.mms.ui.MessageUtils; import com.android.mms.ui.MessagingPreferenceActivity; import com.android.mms.util.AddressUtils; import com.android.mms.util.DownloadManager; @@ -556,6 +557,8 @@ public class MessagingNotification { String subject = getMmsSubject( cursor.getString(COLUMN_SUBJECT), cursor.getInt(COLUMN_SUBJECT_CS)); + subject = MessageUtils.cleanseMmsSubject(context, subject); + long threadId = cursor.getLong(COLUMN_THREAD_ID); long timeMillis = cursor.getLong(COLUMN_DATE) * 1000; diff --git a/src/com/android/mms/ui/MessageItem.java b/src/com/android/mms/ui/MessageItem.java index f0926aad..337f7d39 100644 --- a/src/com/android/mms/ui/MessageItem.java +++ b/src/com/android/mms/ui/MessageItem.java @@ -169,7 +169,7 @@ public class MessageItem { EncodedStringValue v = new EncodedStringValue( cursor.getInt(columnsMap.mColumnMmsSubjectCharset), PduPersister.getBytes(subject)); - mSubject = v.getString(); + mSubject = MessageUtils.cleanseMmsSubject(context, v.getString()); } mLocked = cursor.getInt(columnsMap.mColumnMmsLocked) != 0; mSlideshow = null; diff --git a/src/com/android/mms/ui/MessageUtils.java b/src/com/android/mms/ui/MessageUtils.java index 5d6afb7c..e358b20e 100644 --- a/src/com/android/mms/ui/MessageUtils.java +++ b/src/com/android/mms/ui/MessageUtils.java @@ -85,6 +85,7 @@ public class MessageUtils { private static final String TAG = LogTag.TAG; private static String sLocalNumber; + private static String[] sNoSubjectStrings; // Cache of both groups of space-separated ids to their full // comma-separated display names, as well as individual ids to @@ -118,6 +119,31 @@ public class MessageUtils { // Forbidden being instantiated. } + /** + * cleanseMmsSubject will take a subject that's says, "<Subject: no subject>", and return + * a null string. Otherwise it will return the original subject string. + * @param context a regular context so the function can grab string resources + * @param subject the raw subject + * @return + */ + public static String cleanseMmsSubject(Context context, String subject) { + if (TextUtils.isEmpty(subject)) { + return subject; + } + if (sNoSubjectStrings == null) { + sNoSubjectStrings = + context.getResources().getStringArray(R.array.empty_subject_strings); + + } + final int len = sNoSubjectStrings.length; + for (int i = 0; i < len; i++) { + if (subject.equalsIgnoreCase(sNoSubjectStrings[i])) { + return null; + } + } + return subject; + } + public static String getMessageDetails(Context context, Cursor cursor, int size) { if (cursor == null) { return null; |