Prototype ConversationCursor/ConversationProvider
* Handles updates/deletes from the list instantly, then forwards the request
to the underlying provider
* Only starred/delete are implemented currently for Email types; the Gmail
provider doesn't yet support updates to UIProvider uri's
Note: Email types support read there's no read/unread support in the prototype
UI
* Updated UIProvider/MockUiProvider with latest adds to Conversation class
* Underlying provider must notify ConversationCursor of changes via newly
defined notifier URI
TODO: ConversationCursor wants unit tests
Change-Id: I91babcd5c27109acaa1f7479d584524e8a508a56
diff --git a/src/com/android/mail/providers/UIProvider.java b/src/com/android/mail/providers/UIProvider.java
index 8fcfe2b..e1121d3 100644
--- a/src/com/android/mail/providers/UIProvider.java
+++ b/src/com/android/mail/providers/UIProvider.java
@@ -161,7 +161,7 @@
FolderColumns.CONVERSATION_LIST_URI,
FolderColumns.CHILD_FOLDERS_LIST_URI,
FolderColumns.UNREAD_COUNT,
- FolderColumns.TOTAL_COUNT
+ FolderColumns.TOTAL_COUNT,
};
public static final int FOLDER_ID_COLUMN = 0;
@@ -243,7 +243,9 @@
ConversationColumns.NUM_MESSAGES,
ConversationColumns.NUM_DRAFTS,
ConversationColumns.SENDING_STATE,
- ConversationColumns.PRIORITY
+ ConversationColumns.PRIORITY,
+ ConversationColumns.READ,
+ ConversationColumns.STARRED
};
// These column indexes only work when the caller uses the
@@ -260,6 +262,8 @@
public static final int CONVERSATION_NUM_DRAFTS_COLUMN = 9;
public static final int CONVERSATION_SENDING_STATE_COLUMN = 10;
public static final int CONVERSATION_PRIORITY_COLUMN = 11;
+ public static final int CONVERSATION_READ_COLUMN = 12;
+ public static final int CONVERSATION_STARRED_COLUMN = 13;
public static final class ConversationSendingState {
public static final int OTHER = 0;
@@ -273,6 +277,13 @@
public static final int HIGH = 1;
};
+ public static final class ConversationFlags {
+ public static final int READ = 1<<0;
+ public static final int STARRED = 1<<1;
+ public static final int REPLIED = 1<<2;
+ public static final int FORWARDED = 1<<3;
+ };
+
public static final class ConversationColumns {
public static final String URI = "conversationUri";
/**
@@ -330,6 +341,16 @@
*/
public static String PRIORITY = "priority";
+ /**
+ * This boolean column indicates whether the conversation has been read
+ */
+ public static String READ = "read";
+
+ /**
+ * This boolean column indicates whether the conversation has been read
+ */
+ public static String STARRED = "starred";
+
public ConversationColumns() {
}
}