summaryrefslogtreecommitdiffstats
path: root/emailsync
diff options
context:
space:
mode:
authorMarc Blank <mblank@google.com>2012-07-27 13:36:41 -0700
committerMarc Blank <mblank@google.com>2012-07-27 13:36:41 -0700
commitdba0b20d955d88831ce94d96dbdadc49dba4761a (patch)
tree61a1f4c3dd8a51480dff081c4ab4df9b4bd368f1 /emailsync
parentae57810e1e321991c454a4a6de4b88817c839315 (diff)
downloadandroid_packages_apps_Email-dba0b20d955d88831ce94d96dbdadc49dba4761a.tar.gz
android_packages_apps_Email-dba0b20d955d88831ce94d96dbdadc49dba4761a.tar.bz2
android_packages_apps_Email-dba0b20d955d88831ce94d96dbdadc49dba4761a.zip
Handle ALERT response to login command
* Allow AccountService loginFailed API to take a reason string * Present the reason string in the dialog shown from the login failure notification * Handle ALERTs in IMAP login responses (for example, some servers will occasionally require web login and we need to inform them, rather than simply saying the password is wrong) * This fixes a longstanding bug in our Imap1 implementation Change-Id: I8b270cd5d4746559b6c8a78bce02f0e7c525bdea
Diffstat (limited to 'emailsync')
-rw-r--r--emailsync/src/com/android/emailsync/AbstractSyncService.java1
-rw-r--r--emailsync/src/com/android/emailsync/SyncManager.java2
2 files changed, 2 insertions, 1 deletions
diff --git a/emailsync/src/com/android/emailsync/AbstractSyncService.java b/emailsync/src/com/android/emailsync/AbstractSyncService.java
index 7cbf13ac5..c9b151a4f 100644
--- a/emailsync/src/com/android/emailsync/AbstractSyncService.java
+++ b/emailsync/src/com/android/emailsync/AbstractSyncService.java
@@ -59,6 +59,7 @@ public abstract class AbstractSyncService implements Runnable {
public Mailbox mMailbox;
protected long mMailboxId;
protected int mExitStatus = EXIT_EXCEPTION;
+ protected String mExitReason;
protected String mMailboxName;
public Account mAccount;
public Context mContext;
diff --git a/emailsync/src/com/android/emailsync/SyncManager.java b/emailsync/src/com/android/emailsync/SyncManager.java
index 9360b070c..d81abee60 100644
--- a/emailsync/src/com/android/emailsync/SyncManager.java
+++ b/emailsync/src/com/android/emailsync/SyncManager.java
@@ -2209,7 +2209,7 @@ public abstract class SyncManager extends Service implements Runnable {
break;
// These errors are not retried automatically
case AbstractSyncService.EXIT_LOGIN_FAILURE:
- new AccountServiceProxy(ssm).notifyLoginFailed(m.mAccountKey);
+ new AccountServiceProxy(ssm).notifyLoginFailed(m.mAccountKey, svc.mExitReason);
lastResult = EmailContent.LAST_SYNC_RESULT_AUTH_ERROR;
break;
case AbstractSyncService.EXIT_SECURITY_FAILURE: