Handle case of moreAvailable true with no changes (#2189704)

* An Exchange log from Moto has shown sync behavior in which moreAvailable
  is set to true even though there are no changes in the sync response
  (i.e. the SyncKey is unchanged)
* This leads to long-lived looping which impacts battery life
* The fix is to recognize the behavior and prevent looping by
  setting moreAvailable = false

Change-Id: Idef455f3e1170caf4002542ca432d128b3a19e56
This commit is contained in:
Marc Blank 2009-10-15 12:11:39 -07:00
parent 3afd66cda8
commit 288bb26ab8

View File

@ -140,6 +140,9 @@ public abstract class AbstractSyncParser extends Parser {
mAdapter.setSyncKey(newKey, true);
cv.put(MailboxColumns.SYNC_KEY, newKey);
mailboxUpdated = true;
} else if (moreAvailable) {
userLog("!! SyncKey hasn't changed, setting moreAvailable = false");
moreAvailable = false;
}
// If we were pushing (i.e. auto-start), now we'll become ping-triggered
if (mMailbox.mSyncInterval == Mailbox.CHECK_INTERVAL_PUSH) {