summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/telephony/MmsSmsProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/providers/telephony/MmsSmsProvider.java')
-rw-r--r--src/com/android/providers/telephony/MmsSmsProvider.java96
1 files changed, 10 insertions, 86 deletions
diff --git a/src/com/android/providers/telephony/MmsSmsProvider.java b/src/com/android/providers/telephony/MmsSmsProvider.java
index 00451c7..7c398aa 100644
--- a/src/com/android/providers/telephony/MmsSmsProvider.java
+++ b/src/com/android/providers/telephony/MmsSmsProvider.java
@@ -103,8 +103,6 @@ public class MmsSmsProvider extends ContentProvider {
private static final int URI_MESSAGES_COUNT = 22;
private static final int URI_UPDATE_THREAD = 23;
private static final int URI_UPDATE_THREAD_DATE = 24;
- private static final int URI_FAVOURITE_MESSAGES = 25;
- private static final int URI_UPDATE_THREAD_TOP = 26;
private static final int URI_CONVERSATION_TYPE_COUNT = 27;
// Escape character
private static final char SEARCH_ESCAPE_CHARACTER = '!';
@@ -145,7 +143,7 @@ public class MmsSmsProvider extends ContentProvider {
// SMS ("sms") message tables.
private static final String[] MMS_SMS_COLUMNS =
{ BaseColumns._ID, Mms.DATE, Mms.DATE_SENT, Mms.READ, Mms.THREAD_ID, Mms.LOCKED,
- Mms.PHONE_ID, "favourite"};
+ Mms.PHONE_ID };
// These are the columns that appear only in the MMS message
// table.
@@ -162,10 +160,7 @@ public class MmsSmsProvider extends ContentProvider {
// table.
private static final String[] SMS_ONLY_COLUMNS =
{ "address", "body", "person", "reply_path_present",
- "service_center", "status", "subject", "type", "error_code", "priority", "rcs_path", "rcs_thumb_path", "is_rcs",
- "rcs_mime_type", "rcs_msg_type", "rcs_chat_type", "favourite", "rcs_is_burn", "rcs_id",
- "rcs_msg_state", "rcs_burn_flag", "rcs_is_download", "rcs_file_size", "rcs_play_time",
- "rcs_burn_body","rcs_message_id", "rcs_nmsg_state" };
+ "service_center", "status", "subject", "type", "error_code", "priority" };
// These are all the columns that appear in the "threads" table.
private static final String[] THREADS_COLUMNS = {
@@ -247,21 +242,7 @@ public class MmsSmsProvider extends ContentProvider {
" GROUP BY thread_id ORDER BY thread_id ASC, date DESC";
private static final String SMS_PROJECTION = "'sms' AS transport_type, _id, thread_id,"
- + "address, body,"
- + "rcs_path ,"
- + "rcs_thumb_path ,"
- + "rcs_msg_type ,"
- + "rcs_id ,"
- + "rcs_burn_flag, "
- + "rcs_is_burn ,"
- + "rcs_is_download, "
- + "rcs_msg_state, "
- + "favourite ,"
- + "rcs_file_size,"
- + "rcs_play_time,"
- + "rcs_message_id,"
- + "rcs_chat_type,"
- + "phone_id, date, date_sent, read, type,"
+ + "address, body, phone_id, date, date_sent, read, type,"
+ "status, locked, NULL AS error_code,"
+ "NULL AS sub, NULL AS sub_cs, date, date_sent, read,"
+ "NULL as m_type,"
@@ -271,15 +252,6 @@ public class MmsSmsProvider extends ContentProvider {
+ "phone_id, NULL AS recipient_ids";
private static final String MMS_PROJECTION = "'mms' AS transport_type, pdu._id, thread_id,"
+ "addr.address AS address, part.text as body, phone_id,"
-
- + "NULL AS rcs_path ," + "NULL AS rcs_thumb_path ," +
- "NULL AS rcs_msg_type , " + "NULL AS rcs_id ," + "NULL AS rcs_burn_flag ,"
- + "NULL AS rcs_is_burn ," + "NULL AS rcs_is_download ," +
- "NULL AS rcs_msg_state , " + "NULL AS favourite ," + "NULL AS rcs_file_size,"+
- "NULL AS rcs_play_time,"+
- "NULL AS rcs_message_id,"+
- "NULL AS rcs_chat_type,"
-
+ "pdu.date * 1000 AS date, date_sent, read, NULL AS type,"
+ "NULL AS status, locked, NULL AS error_code,"
+ "sub, sub_cs, date, date_sent, read,"
@@ -304,14 +276,6 @@ public class MmsSmsProvider extends ContentProvider {
private static final String MMS_PROJECTION_FOR_NUMBER_SEARCH =
"'mms' AS transport_type, pdu._id, thread_id,"
+ "addr.address AS address, NULL AS body, phone_id,"
- + "NULL AS rcs_path ," + "NULL AS rcs_thumb_path ," +
- "NULL AS rcs_msg_type , " + "NULL AS rcs_id ," + "NULL AS rcs_burn_flag ,"
- + "NULL AS rcs_is_burn ," + "NULL AS rcs_is_download ," +
- "NULL AS rcs_msg_state , " + "NULL AS favourite ," + "NULL AS rcs_file_size,"+
- "NULL AS rcs_play_time,"+
- "NULL AS rcs_message_id,"+
- "NULL AS rcs_chat_type,"
-
+ "pdu.date * 1000 AS date, date_sent, read, NULL AS type,"
+ "NULL AS status, locked, NULL AS error_code,"
+ "sub, sub_cs, date, date_sent, read,"
@@ -335,9 +299,6 @@ public class MmsSmsProvider extends ContentProvider {
URI_MATCHER.addURI(
AUTHORITY, "conversations/#", URI_CONVERSATIONS_MESSAGES);
URI_MATCHER.addURI(
- AUTHORITY, "conversations/favourite", URI_FAVOURITE_MESSAGES);
-
- URI_MATCHER.addURI(
AUTHORITY, "conversations/#/recipients",
URI_CONVERSATIONS_RECIPIENTS);
URI_MATCHER.addURI(
@@ -373,9 +334,6 @@ public class MmsSmsProvider extends ContentProvider {
URI_MATCHER.addURI(AUTHORITY, "update-date", URI_UPDATE_THREAD_DATE);
- URI_MATCHER.addURI(AUTHORITY, "update-top", URI_UPDATE_THREAD_TOP);
-
-
// Use this pattern to query the canonical address by given ID.
URI_MATCHER.addURI(AUTHORITY, "canonical-address/#", URI_CANONICAL_ADDRESS);
@@ -463,10 +421,6 @@ public class MmsSmsProvider extends ContentProvider {
cursor = getConversationMessages(uri.getPathSegments().get(1), projection,
selection, sortOrder, false);
break;
- case URI_FAVOURITE_MESSAGES:
- cursor = getFavourateMessages(uri.getPathSegments().get(1), projection,
- selection, sortOrder);
- break;
case URI_MAILBOX_MESSAGES:
cursor = getMailboxMessages(
uri.getPathSegments().get(1), projection, selection,
@@ -490,9 +444,8 @@ public class MmsSmsProvider extends ContentProvider {
break;
case URI_THREAD_ID:
List<String> recipients = uri.getQueryParameters("recipient");
- boolean isGroupChat = "1".equals(uri.getQueryParameter("isGroupChat"));
- cursor = getThreadId(recipients, isGroupChat);
+ cursor = getThreadId(recipients);
break;
case URI_CANONICAL_ADDRESS: {
String extraSelection = "_id=" + uri.getPathSegments().get(1);
@@ -765,8 +718,8 @@ public class MmsSmsProvider extends ContentProvider {
/**
* Insert a record for a new thread.
*/
- private void insertThread(String recipientIds, int numberOfRecipients, boolean isGroupChat) {
- ContentValues values = new ContentValues(5);
+ private void insertThread(String recipientIds, int numberOfRecipients) {
+ ContentValues values = new ContentValues(4);
long date = System.currentTimeMillis();
values.put(ThreadsColumns.DATE, date - date % 1000);
@@ -775,7 +728,6 @@ public class MmsSmsProvider extends ContentProvider {
values.put(Threads.TYPE, Threads.BROADCAST_THREAD);
}
values.put(ThreadsColumns.MESSAGE_COUNT, 0);
- values.put("is_group_chat", isGroupChat ? 1 : 0);
long result = mOpenHelper.getWritableDatabase().insert(TABLE_THREADS, null, values);
Log.d(LOG_TAG, "insertThread: created new thread_id " + result +
@@ -785,12 +737,6 @@ public class MmsSmsProvider extends ContentProvider {
UserHandle.USER_ALL);
}
- /**
- * Insert a record for a new thread.
- */
- private void insertThread(String recipientIds, int numberOfRecipients) {
- insertThread(recipientIds, numberOfRecipients, false);
- }
private static final String THREAD_QUERY =
"SELECT _id FROM threads " + "WHERE recipient_ids=?";
@@ -800,7 +746,7 @@ public class MmsSmsProvider extends ContentProvider {
* one and return it. Callers should always use
* Threads.getThreadId to access this information.
*/
- private synchronized Cursor getThreadId(List<String> recipients, boolean isGroupChat) {
+ private synchronized Cursor getThreadId(List<String> recipients) {
Set<Long> addressIds = getAddressIds(recipients);
String recipientIds = "";
@@ -837,7 +783,7 @@ public class MmsSmsProvider extends ContentProvider {
Log.d(LOG_TAG, "getThreadId: create new thread_id for recipients " +
/*recipients*/ "xxxxxxxx");
- insertThread(recipientIds, recipients.size(), isGroupChat);
+ insertThread(recipientIds, recipients.size());
// The thread was just created, now find it and return it.
cursor = db.rawQuery(THREAD_QUERY, selectionArgs);
@@ -854,15 +800,7 @@ public class MmsSmsProvider extends ContentProvider {
}
return cursor;
}
- /**
- * Return the thread ID for this list of
- * recipients IDs. If no thread exists with this ID, create
- * one and return it. Callers should always use
- * Threads.getThreadId to access this information.
- */
- private synchronized Cursor getThreadId(List<String> recipients) {
- return getThreadId(recipients, false);
- }
+
private static String concatSelections(String selection1, String selection2) {
if (TextUtils.isEmpty(selection1)) {
return selection2;
@@ -928,7 +866,7 @@ public class MmsSmsProvider extends ContentProvider {
private Cursor getSimpleConversations(String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
return mOpenHelper.getReadableDatabase().query(TABLE_THREADS, projection,
- selection, selectionArgs, null, null, sortOrder /*" date DESC"*/);
+ selection, selectionArgs, null, null, " date DESC");
}
/**
@@ -1148,17 +1086,6 @@ public class MmsSmsProvider extends ContentProvider {
return mOpenHelper.getReadableDatabase().rawQuery(unionQuery, EMPTY_STRING_ARRAY);
}
- private Cursor getFavourateMessages(
- String threadIdString, String[] projection, String selection,
- String sortOrder) {
-
- String finalSelection = concatSelections(
- selection, " "+"favourite = " + 1);
-
- String unionQuery = buildConversationQuery(projection, finalSelection, sortOrder);
-
- return mOpenHelper.getReadableDatabase().rawQuery(unionQuery, EMPTY_STRING_ARRAY);
- }
/**
* Return the union of MMS and SMS messages in one mailbox.
*/
@@ -1718,9 +1645,6 @@ public class MmsSmsProvider extends ContentProvider {
case URI_UPDATE_THREAD_DATE:
MmsSmsDatabaseHelper.updateThreadsDate(db, selection, selectionArgs);
break;
- case URI_UPDATE_THREAD_TOP:
- db.update("threads", values, selection, selectionArgs);
- break;
default:
throw new UnsupportedOperationException(
NO_DELETES_INSERTS_OR_UPDATES + uri);