summaryrefslogtreecommitdiffstats
path: root/core/java/android/accounts
diff options
context:
space:
mode:
authorCostin Manolache <costin@google.com>2011-01-24 16:11:36 -0800
committerCostin Manolache <costin@google.com>2011-01-25 15:28:44 -0800
commitd606045070dcf6a011e49a7711d2f17d8f2de8c1 (patch)
treeacea9e423a4440ad7066748dd2f3af00e2844a28 /core/java/android/accounts
parent774f9be5dc02e8a7f742008872c6214e517cb8a3 (diff)
downloadframeworks_base-d606045070dcf6a011e49a7711d2f17d8f2de8c1.zip
frameworks_base-d606045070dcf6a011e49a7711d2f17d8f2de8c1.tar.gz
frameworks_base-d606045070dcf6a011e49a7711d2f17d8f2de8c1.tar.bz2
If 'customTokens', let authenticator handle notification.
Bug: 3377952 Change-Id: Iffb0ed01c39b42838cf88fd1b332c4b41c3194ec
Diffstat (limited to 'core/java/android/accounts')
-rw-r--r--core/java/android/accounts/AccountManager.java7
-rw-r--r--core/java/android/accounts/AccountManagerService.java5
2 files changed, 11 insertions, 1 deletions
diff --git a/core/java/android/accounts/AccountManager.java b/core/java/android/accounts/AccountManager.java
index 6388dc5..5bdc79d 100644
--- a/core/java/android/accounts/AccountManager.java
+++ b/core/java/android/accounts/AccountManager.java
@@ -195,6 +195,13 @@ public class AccountManager {
public static final String KEY_CALLER_UID = "callerUid";
public static final String KEY_CALLER_PID = "callerPid";
+ /**
+ * Boolean, if set and 'customTokens' the authenticator is responsible for
+ * notifications.
+ * @hide
+ */
+ public static final String KEY_NOTIFY_ON_FAILURE = "notifyOnAuthFailure";
+
public static final String ACTION_AUTHENTICATOR_INTENT =
"android.accounts.AccountAuthenticator";
public static final String AUTHENTICATOR_META_DATA_NAME =
diff --git a/core/java/android/accounts/AccountManagerService.java b/core/java/android/accounts/AccountManagerService.java
index 2c99f14..fb16609 100644
--- a/core/java/android/accounts/AccountManagerService.java
+++ b/core/java/android/accounts/AccountManagerService.java
@@ -897,6 +897,9 @@ public class AccountManagerService
// let authenticator know the identity of the caller
loginOptions.putInt(AccountManager.KEY_CALLER_UID, callerUid);
loginOptions.putInt(AccountManager.KEY_CALLER_PID, callerPid);
+ if (notifyOnAuthFailure) {
+ loginOptions.putBoolean(AccountManager.KEY_NOTIFY_ON_FAILURE, true);
+ }
}
long identityToken = clearCallingIdentity();
@@ -964,7 +967,7 @@ public class AccountManagerService
}
Intent intent = result.getParcelable(AccountManager.KEY_INTENT);
- if (intent != null && notifyOnAuthFailure) {
+ if (intent != null && notifyOnAuthFailure && !customTokens) {
doNotification(
account, result.getString(AccountManager.KEY_AUTH_FAILED_MESSAGE),
intent);