Add status uri to folders.
So ui can poll for the status of syncing on a folder.
Change-Id: I88621e21cb333c4d650f54b6e3df9973ffe035d0
diff --git a/src/com/android/mail/providers/Folder.java b/src/com/android/mail/providers/Folder.java
index 2657b36..3ca859a 100644
--- a/src/com/android/mail/providers/Folder.java
+++ b/src/com/android/mail/providers/Folder.java
@@ -104,10 +104,15 @@
public String refreshUri;
/**
+ * The content provider URI to get a status cursor for this folder.
+ */
+ public String statusUri;
+
+ /**
* Total number of members that comprise an instance of a folder. Count up the members above.
* This is the number of members that need to be serialized or parceled.
*/
- private static final int NUMBER_MEMBERS = 11;
+ private static final int NUMBER_MEMBERS = 12;
/**
* Used only for debugging.
@@ -146,6 +151,7 @@
unreadCount = in.readInt();
totalCount = in.readInt();
refreshUri = in.readString();
+ statusUri = in.readString();
}
public Folder(Cursor cursor) {
@@ -162,6 +168,7 @@
unreadCount = cursor.getInt(UIProvider.FOLDER_UNREAD_COUNT_COLUMN);
totalCount = cursor.getInt(UIProvider.FOLDER_TOTAL_COUNT_COLUMN);
refreshUri = cursor.getString(UIProvider.FOLDER_REFRESH_URI_COLUMN);
+ statusUri = cursor.getString(UIProvider.FOLDER_STATUS_URI_COLUMN);
}
@Override
@@ -179,6 +186,7 @@
dest.writeInt(unreadCount);
dest.writeInt(totalCount);
dest.writeString(refreshUri);
+ dest.writeString(statusUri);
}
/**
@@ -198,6 +206,7 @@
out.append(unreadCount).append(LABEL_COMPONENT_SEPARATOR);
out.append(totalCount).append(LABEL_COMPONENT_SEPARATOR);
out.append(refreshUri).append(LABEL_COMPONENT_SEPARATOR);
+ out.append(statusUri).append(LABEL_COMPONENT_SEPARATOR);
return out.toString();
}
@@ -224,6 +233,7 @@
unreadCount = Integer.valueOf(folderMembers[8]);
totalCount = Integer.valueOf(folderMembers[9]);
refreshUri = folderMembers[10];
+ refreshUri = folderMembers[11];
}
/**
diff --git a/src/com/android/mail/providers/UIProvider.java b/src/com/android/mail/providers/UIProvider.java
index a500508..7c0339a 100644
--- a/src/com/android/mail/providers/UIProvider.java
+++ b/src/com/android/mail/providers/UIProvider.java
@@ -227,7 +227,8 @@
FolderColumns.CHILD_FOLDERS_LIST_URI,
FolderColumns.UNREAD_COUNT,
FolderColumns.TOTAL_COUNT,
- FolderColumns.REFRESH_URI
+ FolderColumns.REFRESH_URI,
+ FolderColumns.STATUS_URI
};
public static final int FOLDER_ID_COLUMN = 0;
@@ -242,6 +243,7 @@
public static final int FOLDER_UNREAD_COUNT_COLUMN = 9;
public static final int FOLDER_TOTAL_COUNT_COLUMN = 10;
public static final int FOLDER_REFRESH_URI_COLUMN = 11;
+ public static final int FOLDER_STATUS_URI_COLUMN = 12;
public static final class FolderCapabilities {
public static final int SYNCABLE = 0x0001;
@@ -251,7 +253,7 @@
}
public static final class FolderColumns {
- public static String URI = "folderUri";
+ public static final String URI = "folderUri";
/**
* This string column contains the human visible name for the folder.
*/
@@ -283,16 +285,21 @@
* This string column contains the content provider uri to return the
* list of child folders of this folder.
*/
- public static String CHILD_FOLDERS_LIST_URI = "childFoldersListUri";
+ public static final String CHILD_FOLDERS_LIST_URI = "childFoldersListUri";
- public static String UNREAD_COUNT = "unreadCount";
+ public static final String UNREAD_COUNT = "unreadCount";
- public static String TOTAL_COUNT = "totalCount";
+ public static final String TOTAL_COUNT = "totalCount";
/**
* This string column contains the content provider uri to force a
* refresh of this folder.
*/
- public static String REFRESH_URI = "refreshUri";
+ public static final String REFRESH_URI = "refreshUri";
+ /**
+ * This string column contains the content provider uri for getting a
+ * cursor that reflects the sync status of this folder.
+ */
+ public static final String STATUS_URI = "statusUri";
public FolderColumns() {}
}