Handle case of typed data with a null type

* There's an NPE if we downsync a contact containing a piece of
  typed data for which there is no type specified in the database
* Check for this and accept "no type" as a match

Bug: 2539843
Change-Id: I155b635a1f9850af9813681f502f3565c3cfcd4b
This commit is contained in:
Marc Blank 2010-03-26 17:49:15 -07:00
parent d682138090
commit 729b5ca9ba

View File

@ -1017,7 +1017,10 @@ public class ContactsSyncAdapter extends AbstractSyncAdapter {
}
// Note Email.TYPE could be ANY type column; they are all defined in
// the private CommonColumns class in ContactsContract
} else if (type < 0 || cv.getAsInteger(Email.TYPE) == type) {
// We'll accept either type < 0 (don't care), cv doesn't have a type,
// or the types are equal
} else if (type < 0 || !cv.containsKey(Email.TYPE) ||
cv.getAsInteger(Email.TYPE) == type) {
result = namedContentValues;
}
}