Fix some AOSP NPEs

In AOSP the account types of IMAP and POP overlap so we can't
reverse the protocol from the account type. This is OK since all
we care about is if it's Exchange or not.

b/17183137

Change-Id: I112e56c9a0c0009a74f391749d535ada9f0f99ba
(cherry picked from commit 18663ef54ed2d7217d0176b4c5928380deaf9f64)
This commit is contained in:
Tony Mantler 2014-08-21 16:30:49 -07:00
parent 355e9dffc3
commit 473ce1fa35
2 changed files with 4 additions and 4 deletions

View File

@ -249,11 +249,11 @@ public class AccountReconciler {
final String protocol = EmailServiceUtils.getProtocolFromAccountType(
context, accountType);
final EmailServiceInfo info = EmailServiceUtils.getServiceInfo(context, protocol);
if (!info.syncCalendar) {
if (info == null || !info.syncCalendar) {
ContentResolver.setIsSyncable(accountManagerAccount,
CalendarContract.AUTHORITY, 0);
}
if (!info.syncContacts) {
if (info == null || !info.syncContacts) {
ContentResolver.setIsSyncable(accountManagerAccount,
ContactsContract.AUTHORITY, 0);
}

View File

@ -73,7 +73,7 @@ public class AuthenticatorService extends Service {
account, options.getString(OPTIONS_PASSWORD), null);
// Set up contacts syncing, if appropriate
if (info.syncContacts) {
if (info != null && info.syncContacts) {
boolean syncContacts = options.getBoolean(OPTIONS_CONTACTS_SYNC_ENABLED, false);
ContentResolver.setIsSyncable(account, ContactsContract.AUTHORITY, 1);
ContentResolver.setSyncAutomatically(account, ContactsContract.AUTHORITY,
@ -81,7 +81,7 @@ public class AuthenticatorService extends Service {
}
// Set up calendar syncing, if appropriate
if (info.syncCalendar) {
if (info != null && info.syncCalendar) {
boolean syncCalendar = options.getBoolean(OPTIONS_CALENDAR_SYNC_ENABLED, false);
ContentResolver.setIsSyncable(account, CalendarContract.AUTHORITY, 1);
ContentResolver.setSyncAutomatically(account, CalendarContract.AUTHORITY,