Update the folder sync status while searching in IMAP
b/7538620
Change-Id: I7bb0c706fd63b1fe7d20dc0f186934e0dcac2f06
diff --git a/src/com/android/email/provider/EmailProvider.java b/src/com/android/email/provider/EmailProvider.java
index a9bdbff..67c994c 100644
--- a/src/com/android/email/provider/EmailProvider.java
+++ b/src/com/android/email/provider/EmailProvider.java
@@ -3654,8 +3654,10 @@
mExtras.putInt(UIProvider.CursorExtraKeys.EXTRA_STATUS,
UIProvider.CursorStatus.LOADING);
} else if (mailbox.mUiSyncStatus == EmailContent.SYNC_STATUS_NONE) {
- if (mailbox.mSyncInterval == 0 && Mailbox.isSyncableType(mailbox.mType) &&
- !TextUtils.isEmpty(mailbox.mServerId) &&
+ if (mailbox.mSyncInterval == 0
+ && (Mailbox.isSyncableType(mailbox.mType)
+ || mailbox.mType == Mailbox.TYPE_SEARCH)
+ && !TextUtils.isEmpty(mailbox.mServerId) &&
// TODO: There's potentially a race condition here.
// Consider merging this check with the auto-sync code in respond.
System.currentTimeMillis() - mailbox.mSyncTime
diff --git a/src/com/android/email/service/ImapService.java b/src/com/android/email/service/ImapService.java
index 15bc5fd..5441ebf 100644
--- a/src/com/android/email/service/ImapService.java
+++ b/src/com/android/email/service/ImapService.java
@@ -59,6 +59,7 @@
import com.android.emailcommon.service.EmailServiceStatus;
import com.android.emailcommon.service.SearchParams;
import com.android.emailcommon.utility.AttachmentUtilities;
+import com.android.mail.providers.UIProvider;
import com.android.mail.providers.UIProvider.AccountCapabilities;
import com.android.mail.utils.LogUtils;
@@ -1411,6 +1412,9 @@
}
// Tell UI that we're loading messages
+ final ContentValues statusValues = new ContentValues(2);
+ statusValues.put(Mailbox.UI_SYNC_STATUS, UIProvider.SyncStatus.LIVE_QUERY);
+ destMailbox.update(context, statusValues);
final Store remoteStore = Store.getInstance(account, context);
final Folder remoteFolder = remoteStore.getFolder(mailbox.mServerId);
@@ -1500,6 +1504,11 @@
public void loadAttachmentProgress(int progress) {
}
});
+ // Tell UI that we're done loading messages
+ statusValues.put(Mailbox.SYNC_TIME, System.currentTimeMillis());
+ statusValues.put(Mailbox.UI_SYNC_STATUS, UIProvider.SyncStatus.NO_SYNC);
+ destMailbox.update(context, statusValues);
+
return numSearchResults;
}
}