am 8647be09: Merge change Id1c0bc24 into eclair

Merge commit '8647be095a75a25df98487d6e908a94f2d6fb076' into eclair-mr2

* commit '8647be095a75a25df98487d6e908a94f2d6fb076':
  Correct issue with mail change parsing (fixes #2165649)
This commit is contained in:
Marc Blank 2009-10-05 14:07:42 -07:00 committed by Android Git Automerger
commit fd883ca573

View File

@ -353,9 +353,7 @@ public class EmailSyncAdapter extends AbstractSyncAdapter {
private void changeParser(ArrayList<ServerChange> changes) throws IOException { private void changeParser(ArrayList<ServerChange> changes) throws IOException {
String serverId = null; String serverId = null;
Boolean oldRead = false; Boolean oldRead = false;
Boolean read = null;
Boolean oldFlag = false; Boolean oldFlag = false;
Boolean flag = null;
long id = 0; long id = 0;
while (nextTag(Tags.SYNC_CHANGE) != END) { while (nextTag(Tags.SYNC_CHANGE) != END) {
switch (tag) { switch (tag) {
@ -373,14 +371,27 @@ public class EmailSyncAdapter extends AbstractSyncAdapter {
c.close(); c.close();
} }
break; break;
case Tags.SYNC_APPLICATION_DATA:
changeApplicationDataParser(changes, oldRead, oldFlag, id);
break;
default:
skipTag();
}
}
}
private void changeApplicationDataParser(ArrayList<ServerChange> changes, Boolean oldRead,
Boolean oldFlag, long id) throws IOException {
Boolean read = null;
Boolean flag = null;
while (nextTag(Tags.SYNC_APPLICATION_DATA) != END) {
switch (tag) {
case Tags.EMAIL_READ: case Tags.EMAIL_READ:
read = getValueInt() == 1; read = getValueInt() == 1;
break; break;
case Tags.EMAIL_FLAG: case Tags.EMAIL_FLAG:
flag = flagParser(); flag = flagParser();
break; break;
case Tags.SYNC_APPLICATION_DATA:
break;
default: default:
skipTag(); skipTag();
} }