Merge change If12d0e7c into eclair
* changes:
Go to combined inbox on notify for 2+ accounts (#2147265) DO NOT MERGE
diff --git a/src/com/android/exchange/EasSyncService.java b/src/com/android/exchange/EasSyncService.java
index 77f3260..0f2a345 100644
--- a/src/com/android/exchange/EasSyncService.java
+++ b/src/com/android/exchange/EasSyncService.java
@@ -208,6 +208,12 @@
userLog("Validation (OPTIONS) response: " + code);
if (code == HttpStatus.SC_OK) {
// No exception means successful validation
+ Header commands = resp.getFirstHeader("MS-ASProtocolCommands");
+ Header versions = resp.getFirstHeader("ms-asprotocolversions");
+ if (commands == null || versions == null) {
+ userLog("OPTIONS response without commands or versions; reporting I/O error");
+ throw new MessagingException(MessagingException.IOERROR);
+ }
userLog("Validation successful");
return;
}
diff --git a/src/com/android/exchange/adapter/AbstractSyncParser.java b/src/com/android/exchange/adapter/AbstractSyncParser.java
index c913af4..4c73fd8 100644
--- a/src/com/android/exchange/adapter/AbstractSyncParser.java
+++ b/src/com/android/exchange/adapter/AbstractSyncParser.java
@@ -140,7 +140,10 @@
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) {
mMailbox.mSyncInterval = Mailbox.CHECK_INTERVAL_PING;