From 12630d7d6c81706df628c8ed2f1b06d282a34a86 Mon Sep 17 00:00:00 2001 From: kaiyiz Date: Fri, 28 Nov 2014 17:52:35 +0800 Subject: Mms: Fix conversation number of message thread can't be updated It will not auto update the message count of thread tabel after delete sms message in folder mode. Define a new function to update thread's info in background thread with MIN_PRIORITY. CRs-Fixed: 657346 Change-Id: Ib1e35dfd2ebf3888d1d09ea88db11f6ed419c23a --- src/com/android/providers/telephony/MmsSmsProvider.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/com/android/providers/telephony/MmsSmsProvider.java b/src/com/android/providers/telephony/MmsSmsProvider.java index a6ecbd2..0b5186e 100644 --- a/src/com/android/providers/telephony/MmsSmsProvider.java +++ b/src/com/android/providers/telephony/MmsSmsProvider.java @@ -101,7 +101,8 @@ public class MmsSmsProvider extends ContentProvider { private static final int URI_SEARCH_MESSAGE = 20; private static final int URI_MAILBOXS = 21; private static final int URI_MESSAGES_COUNT = 22; - private static final int URI_UPDATE_THREAD_DATE = 23; + private static final int URI_UPDATE_THREAD = 23; + private static final int URI_UPDATE_THREAD_DATE = 24; // Escape character private static final char SEARCH_ESCAPE_CHARACTER = '!'; @@ -317,6 +318,8 @@ public class MmsSmsProvider extends ContentProvider { // may be present. URI_MATCHER.addURI(AUTHORITY, "threadID", URI_THREAD_ID); + URI_MATCHER.addURI(AUTHORITY, "update-thread/#", URI_UPDATE_THREAD); + URI_MATCHER.addURI(AUTHORITY, "update-date", URI_UPDATE_THREAD_DATE); // Use this pattern to query the canonical address by given ID. @@ -1580,6 +1583,17 @@ public class MmsSmsProvider extends ContentProvider { break; } + case URI_UPDATE_THREAD: + long threadId; + try { + threadId = Long.parseLong(uri.getLastPathSegment()); + } catch (NumberFormatException e) { + Log.e(LOG_TAG, "Thread ID must be a long."); + break; + } + MmsSmsDatabaseHelper.updateThread(db, threadId); + break; + case URI_UPDATE_THREAD_DATE: MmsSmsDatabaseHelper.updateThreadsDate(db, selection, selectionArgs); break; -- cgit v1.2.3