diff options
author | tnmy-cyngn <tlnu@cyngn.com> | 2016-04-25 19:19:17 +0530 |
---|---|---|
committer | Tanmay Lnu <tlnu@cyngn.com> | 2016-04-26 03:37:36 -0700 |
commit | 22c2a479f094d8edf8fd84369fdc668404e1820f (patch) | |
tree | a4b88e89d654182fa568c0822a7d4161084ac5ad | |
parent | 459eb4f5bb3e2437910f7a227dbe06a49ee0ef74 (diff) | |
download | android_packages_apps_Messaging-22c2a479f094d8edf8fd84369fdc668404e1820f.tar.gz android_packages_apps_Messaging-22c2a479f094d8edf8fd84369fdc668404e1820f.tar.bz2 android_packages_apps_Messaging-22c2a479f094d8edf8fd84369fdc668404e1820f.zip |
Fixed the cutoff timestamp for MMS deletion by limit.
Also null check for query selection arguments.
Bug: PAELLA-195
Change-Id: I7a2caba894c9a371dbdd7ddb38e17406b5df1818
(cherry picked from commit 01868a1210fc38e7483fdc8d84b7b5ef96159576)
-rw-r--r-- | src/com/android/messaging/datamodel/action/MessageRecyclerAction.java | 4 | ||||
-rw-r--r-- | src/com/android/messaging/sms/MmsUtils.java | 15 |
2 files changed, 11 insertions, 8 deletions
diff --git a/src/com/android/messaging/datamodel/action/MessageRecyclerAction.java b/src/com/android/messaging/datamodel/action/MessageRecyclerAction.java index 86da6aa..5e1424d 100644 --- a/src/com/android/messaging/datamodel/action/MessageRecyclerAction.java +++ b/src/com/android/messaging/datamodel/action/MessageRecyclerAction.java @@ -41,13 +41,13 @@ public class MessageRecyclerAction extends Action implements Parcelable { public static void deleteMessagesOverLimit(final String conversationId, int protocol) { if (!PrefsUtils.isAutoDeleteEnabled() || (protocol != MessageData.PROTOCOL_SMS - && protocol != MessageData.PROTOCOL_MMS)) { + && protocol != MessageData.PROTOCOL_MMS) || conversationId == null) { return; } int cutOffLimit = PrefsUtils.getMessagesPerThreadLimitByProtocol(protocol); long cutOffTimeStampFromLimit = BugleDatabaseOperations. - getCutOffTimeStampFromLimit(conversationId, cutOffLimit, MessageData.PROTOCOL_SMS); + getCutOffTimeStampFromLimit(conversationId, cutOffLimit, protocol); if (cutOffTimeStampFromLimit > Long.MIN_VALUE) { deleteMessages(conversationId, protocol, cutOffTimeStampFromLimit); diff --git a/src/com/android/messaging/sms/MmsUtils.java b/src/com/android/messaging/sms/MmsUtils.java index 1fd811f..4f5d223 100644 --- a/src/com/android/messaging/sms/MmsUtils.java +++ b/src/com/android/messaging/sms/MmsUtils.java @@ -1391,29 +1391,32 @@ public class MmsUtils { Uri uri; String selectionSql; String dateField; + long cutOffTimeStamp = Long.MIN_VALUE; switch (protocol) { case MessageData.PROTOCOL_SMS: uri = Sms.CONTENT_URI; selectionSql = getSmsTypeSelectionSql(); + cutOffTimeStamp = cutOffTimestampInMillis; dateField = Sms.DATE; break; case MessageData.PROTOCOL_MMS: uri = Mms.CONTENT_URI; selectionSql = getMmsTypeSelectionSql(); + cutOffTimeStamp = cutOffTimestampInMillis / 1000L; dateField = Mms.DATE; break; default: return 0; } final ContentResolver resolver = - Factory.get().getApplicationContext().getContentResolver(); + Factory.get().getApplicationContext().getContentResolver(); final String selection = String.format( - Locale.US, - "%s AND (%s<=%d)", - selectionSql, - dateField, - cutOffTimestampInMillis); + Locale.US, + "%s AND (%s<=%d)", + selectionSql, + dateField, + cutOffTimeStamp); int deleted = resolver.delete(uri, selection, null); return deleted; |