Merge "b/17193866. Update policies when we reconcile." into ub-gmail-ur14-dev

This commit is contained in:
Anthony Lee 2014-08-22 17:15:44 +00:00 committed by Android (Google) Code Review
commit 355e9dffc3
1 changed files with 11 additions and 1 deletions

View File

@ -31,6 +31,7 @@ import android.text.TextUtils;
import com.android.email.NotificationController;
import com.android.email.R;
import com.android.email.SecurityPolicy;
import com.android.email.service.EmailServiceUtils;
import com.android.email.service.EmailServiceUtils.EmailServiceInfo;
import com.android.emailcommon.Logging;
@ -40,7 +41,6 @@ import com.android.mail.utils.LogUtils;
import com.google.common.collect.ImmutableList;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.List;
@ -212,6 +212,7 @@ public class AccountReconciler {
}
// Now, look through AccountManager accounts to make sure we have a corresponding cached EAS
// account from EmailProvider
boolean needsPolicyUpdate = false;
for (final android.accounts.Account accountManagerAccount : accountManagerAccounts) {
final String accountManagerAccountName = accountManagerAccount.name;
if (!hasEpAccount(emailProviderAccounts, accountManagerAccountName)) {
@ -236,6 +237,9 @@ public class AccountReconciler {
} catch (IOException e) {
LogUtils.w(Logging.LOG_TAG, e.toString());
}
// Just set a flag that our policies need to be updated with device
// So we can do the update, one time, at a later point in time.
needsPolicyUpdate = true;
}
} else {
// Fix up the Calendar and Contacts syncing. It used to be possible for IMAP and
@ -256,6 +260,12 @@ public class AccountReconciler {
}
}
if (needsPolicyUpdate) {
// We have removed accounts from the AccountManager, let's make sure that
// our policies are up to date.
SecurityPolicy.getInstance(context).policiesUpdated();
}
final String composeActivityName =
context.getString(R.string.reconciliation_compose_activity_name);
if (!TextUtils.isEmpty(composeActivityName)) {