From 3c2f782c357807befa9b9416ccdf0b15d5a316ab Mon Sep 17 00:00:00 2001 From: Martin Hibdon Date: Fri, 26 Sep 2014 15:42:59 -0700 Subject: [PATCH] When we migrate Exchange folders, set the sync status to INITIAL_SYNC_NEEDED b/17443087 When we migrate exchange accounts, we copy mailboxes over to the new account (in order to preserve sync frequency and window). The problem with this is, you may have many accounts/mailboxes. After starting the app, it may take quite a long time before all mailboxes are synced. If the user visits some mailbox near the bottom, they'll see a misleading "folder is empty" view. Now, when migrating, we'll set the uisyncstatus to INITIAL_SYNC_NEEDED. Here I needed to add INITAL_SYNC_NEEDED to the list of states that EmailConversationCursor will consider incompletely loaded. Change-Id: Idef13adf9d691c03665830a2f926b1806d7591da --- .../src/com/android/emailcommon/provider/EmailContent.java | 2 ++ .../com/android/email/provider/EmailConversationCursor.java | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/emailcommon/src/com/android/emailcommon/provider/EmailContent.java b/emailcommon/src/com/android/emailcommon/provider/EmailContent.java index 4d3fffcdf..f6766ae2b 100755 --- a/emailcommon/src/com/android/emailcommon/provider/EmailContent.java +++ b/emailcommon/src/com/android/emailcommon/provider/EmailContent.java @@ -96,6 +96,8 @@ public abstract class EmailContent { public static final int SYNC_STATUS_USER = UIProvider.SyncStatus.USER_REFRESH; public static final int SYNC_STATUS_BACKGROUND = UIProvider.SyncStatus.BACKGROUND_SYNC; public static final int SYNC_STATUS_LIVE = UIProvider.SyncStatus.LIVE_QUERY; + public static final int SYNC_STATUS_INITIAL_SYNC_NEEDED = + UIProvider.SyncStatus.INITIAL_SYNC_NEEDED; public static final int LAST_SYNC_RESULT_SUCCESS = UIProvider.LastSyncResult.SUCCESS; public static final int LAST_SYNC_RESULT_AUTH_ERROR = UIProvider.LastSyncResult.AUTH_ERROR; diff --git a/provider_src/com/android/email/provider/EmailConversationCursor.java b/provider_src/com/android/email/provider/EmailConversationCursor.java index 4a49caa9d..f6a17e37f 100644 --- a/provider_src/com/android/email/provider/EmailConversationCursor.java +++ b/provider_src/com/android/email/provider/EmailConversationCursor.java @@ -77,7 +77,8 @@ public class EmailConversationCursor extends CursorWrapper implements mExtras.putInt(UIProvider.CursorExtraKeys.EXTRA_TOTAL_COUNT, mailbox.mTotalCount); if (mailbox.mUiSyncStatus == EmailContent.SYNC_STATUS_BACKGROUND || mailbox.mUiSyncStatus == EmailContent.SYNC_STATUS_USER - || mailbox.mUiSyncStatus == EmailContent.SYNC_STATUS_LIVE) { + || mailbox.mUiSyncStatus == EmailContent.SYNC_STATUS_LIVE + || mailbox.mUiSyncStatus == EmailContent.SYNC_STATUS_INITIAL_SYNC_NEEDED) { mExtras.putInt(UIProvider.CursorExtraKeys.EXTRA_STATUS, UIProvider.CursorStatus.LOADING); } else if (mailbox.mUiSyncStatus == EmailContent.SYNC_STATUS_NONE) {