summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Taylor <tomtaylor@google.com>2012-09-14 16:25:37 -0700
committerTom Taylor <tomtaylor@google.com>2012-09-14 16:25:37 -0700
commit3c307cabb5bd96ed174930ebf17f533bf2a79de7 (patch)
tree023acf109b21ec33ba02a8d548fbcb1d06c42e76 /src
parent99b45939853c8709a7c2e0745ec02e116cb2d74b (diff)
downloadMms-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.java3
-rw-r--r--src/com/android/mms/ui/MessageItem.java2
-rw-r--r--src/com/android/mms/ui/MessageUtils.java26
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;