am d51891fb: am 901255ce: am 5fde01e4: Merge "Set the search mailbox\'s syncState as soon as a search is requested" into ub-gmail-ur14-dev

* commit 'd51891fb4c59decaa3b2656683d61a02e3aa1004':
  Set the search mailbox's syncState as soon as a search is requested
This commit is contained in:
Martin Hibdon 2014-11-02 17:37:59 +00:00 committed by Android Git Automerger
commit 28230ce5c8

View File

@ -5958,16 +5958,26 @@ public class EmailProvider extends ContentProvider
// TODO: This conditional is unnecessary, just two lines earlier we created // TODO: This conditional is unnecessary, just two lines earlier we created
// mSearchParams using a constructor that never sets mOffset. // mSearchParams using a constructor that never sets mOffset.
LogUtils.d(TAG, "deleting existing search results."); LogUtils.d(TAG, "deleting existing search results.");
final ContentResolver resolver = context.getContentResolver();
// Delete existing contents of search mailbox final ContentValues cv = new ContentValues(3);
ContentResolver resolver = context.getContentResolver();
resolver.delete(Message.CONTENT_URI, MessageColumns.MAILBOX_KEY + "=" + searchMailboxId,
null);
final ContentValues cv = new ContentValues(1);
// For now, use the actual query as the name of the mailbox // For now, use the actual query as the name of the mailbox
cv.put(Mailbox.DISPLAY_NAME, mSearchParams.mFilter); cv.put(Mailbox.DISPLAY_NAME, mSearchParams.mFilter);
// We are about to do a sync on this folder, but if the UI is refreshed before the
// service can start its query, we need it to see that there is a sync in progress.
// Otherwise it could show the empty state, until the service gets around to setting
// the syncState.
cv.put(Mailbox.SYNC_STATUS, EmailContent.SYNC_STATUS_LIVE);
// We don't know how many result we'll have yet, but we assume zero until we get
// a response back from the server. Otherwise, we'll whatever count there was on the
// previous search, and we'll display the "Load More" footer prior to having
// any results.
cv.put(Mailbox.TOTAL_COUNT, 0);
resolver.update(ContentUris.withAppendedId(Mailbox.CONTENT_URI, searchMailboxId), resolver.update(ContentUris.withAppendedId(Mailbox.CONTENT_URI, searchMailboxId),
cv, null, null); cv, null, null);
// Delete existing contents of search mailbox
resolver.delete(Message.CONTENT_URI, MessageColumns.MAILBOX_KEY + "=" + searchMailboxId,
null);
} }
// Start the search running in the background // Start the search running in the background