Loading api/current.txt +10 −0 Original line number Diff line number Diff line Loading @@ -2802,12 +2802,16 @@ package android.accounts { method public android.os.Bundle addAccountFromCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, android.os.Bundle) throws android.accounts.NetworkErrorException; method public abstract android.os.Bundle confirmCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, android.os.Bundle) throws android.accounts.NetworkErrorException; method public abstract android.os.Bundle editProperties(android.accounts.AccountAuthenticatorResponse, java.lang.String); method public android.os.Bundle finishSession(android.accounts.AccountAuthenticatorResponse, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException; method public android.os.Bundle getAccountCredentialsForCloning(android.accounts.AccountAuthenticatorResponse, android.accounts.Account) throws android.accounts.NetworkErrorException; method public android.os.Bundle getAccountRemovalAllowed(android.accounts.AccountAuthenticatorResponse, android.accounts.Account) throws android.accounts.NetworkErrorException; method public abstract android.os.Bundle getAuthToken(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException; method public abstract java.lang.String getAuthTokenLabel(java.lang.String); method public final android.os.IBinder getIBinder(); method public abstract android.os.Bundle hasFeatures(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String[]) throws android.accounts.NetworkErrorException; method public android.os.Bundle isCredentialsUpdateSuggested(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String) throws android.accounts.NetworkErrorException; method public android.os.Bundle startAddAccountSession(android.accounts.AccountAuthenticatorResponse, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle) throws android.accounts.NetworkErrorException; method public android.os.Bundle startUpdateCredentialsSession(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException; method public abstract android.os.Bundle updateCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException; field public static final java.lang.String KEY_CUSTOM_TOKEN_EXPIRY = "android.accounts.expiry"; } Loading Loading @@ -2845,6 +2849,7 @@ package android.accounts { method public void clearPassword(android.accounts.Account); method public android.accounts.AccountManagerFuture<android.os.Bundle> confirmCredentials(android.accounts.Account, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public android.accounts.AccountManagerFuture<android.os.Bundle> editProperties(java.lang.String, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public android.accounts.AccountManagerFuture<android.os.Bundle> finishSession(android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public static android.accounts.AccountManager get(android.content.Context); method public android.accounts.Account[] getAccounts(); method public android.accounts.Account[] getAccountsByType(java.lang.String); Loading @@ -2860,6 +2865,7 @@ package android.accounts { method public java.lang.String getUserData(android.accounts.Account, java.lang.String); method public android.accounts.AccountManagerFuture<java.lang.Boolean> hasFeatures(android.accounts.Account, java.lang.String[], android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler); method public void invalidateAuthToken(java.lang.String, java.lang.String); method public android.accounts.AccountManagerFuture<java.lang.Boolean> isCredentialsUpdateSuggested(android.accounts.Account, java.lang.String, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler); method public static deprecated android.content.Intent newChooseAccountIntent(android.accounts.Account, java.util.ArrayList<android.accounts.Account>, java.lang.String[], boolean, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle); method public static android.content.Intent newChooseAccountIntent(android.accounts.Account, java.util.List<android.accounts.Account>, java.lang.String[], java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle); method public boolean notifyAccountAuthenticated(android.accounts.Account); Loading @@ -2872,6 +2878,8 @@ package android.accounts { method public void setAuthToken(android.accounts.Account, java.lang.String, java.lang.String); method public void setPassword(android.accounts.Account, java.lang.String); method public void setUserData(android.accounts.Account, java.lang.String, java.lang.String); method public android.accounts.AccountManagerFuture<android.os.Bundle> startAddAccountSession(java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public android.accounts.AccountManagerFuture<android.os.Bundle> startUpdateCredentialsSession(android.accounts.Account, java.lang.String, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public android.accounts.AccountManagerFuture<android.os.Bundle> updateCredentials(android.accounts.Account, java.lang.String, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); field public static final java.lang.String ACTION_AUTHENTICATOR_INTENT = "android.accounts.AccountAuthenticator"; field public static final java.lang.String AUTHENTICATOR_ATTRIBUTES_NAME = "account-authenticator"; Loading @@ -2888,6 +2896,8 @@ package android.accounts { field public static final java.lang.String KEY_ACCOUNT_AUTHENTICATOR_RESPONSE = "accountAuthenticatorResponse"; field public static final java.lang.String KEY_ACCOUNT_MANAGER_RESPONSE = "accountManagerResponse"; field public static final java.lang.String KEY_ACCOUNT_NAME = "authAccount"; field public static final java.lang.String KEY_ACCOUNT_SESSION_BUNDLE = "accountSessionBundle"; field public static final java.lang.String KEY_ACCOUNT_STATUS_TOKEN = "accountStatusToken"; field public static final java.lang.String KEY_ACCOUNT_TYPE = "accountType"; field public static final java.lang.String KEY_ANDROID_PACKAGE_NAME = "androidPackageName"; field public static final java.lang.String KEY_AUTHENTICATOR_TYPES = "authenticator_types"; api/test-current.txt +10 −0 Original line number Diff line number Diff line Loading @@ -2802,12 +2802,16 @@ package android.accounts { method public android.os.Bundle addAccountFromCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, android.os.Bundle) throws android.accounts.NetworkErrorException; method public abstract android.os.Bundle confirmCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, android.os.Bundle) throws android.accounts.NetworkErrorException; method public abstract android.os.Bundle editProperties(android.accounts.AccountAuthenticatorResponse, java.lang.String); method public android.os.Bundle finishSession(android.accounts.AccountAuthenticatorResponse, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException; method public android.os.Bundle getAccountCredentialsForCloning(android.accounts.AccountAuthenticatorResponse, android.accounts.Account) throws android.accounts.NetworkErrorException; method public android.os.Bundle getAccountRemovalAllowed(android.accounts.AccountAuthenticatorResponse, android.accounts.Account) throws android.accounts.NetworkErrorException; method public abstract android.os.Bundle getAuthToken(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException; method public abstract java.lang.String getAuthTokenLabel(java.lang.String); method public final android.os.IBinder getIBinder(); method public abstract android.os.Bundle hasFeatures(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String[]) throws android.accounts.NetworkErrorException; method public android.os.Bundle isCredentialsUpdateSuggested(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String) throws android.accounts.NetworkErrorException; method public android.os.Bundle startAddAccountSession(android.accounts.AccountAuthenticatorResponse, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle) throws android.accounts.NetworkErrorException; method public android.os.Bundle startUpdateCredentialsSession(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException; method public abstract android.os.Bundle updateCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException; field public static final java.lang.String KEY_CUSTOM_TOKEN_EXPIRY = "android.accounts.expiry"; } Loading Loading @@ -2845,6 +2849,7 @@ package android.accounts { method public void clearPassword(android.accounts.Account); method public android.accounts.AccountManagerFuture<android.os.Bundle> confirmCredentials(android.accounts.Account, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public android.accounts.AccountManagerFuture<android.os.Bundle> editProperties(java.lang.String, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public android.accounts.AccountManagerFuture<android.os.Bundle> finishSession(android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public static android.accounts.AccountManager get(android.content.Context); method public android.accounts.Account[] getAccounts(); method public android.accounts.Account[] getAccountsByType(java.lang.String); Loading @@ -2860,6 +2865,7 @@ package android.accounts { method public java.lang.String getUserData(android.accounts.Account, java.lang.String); method public android.accounts.AccountManagerFuture<java.lang.Boolean> hasFeatures(android.accounts.Account, java.lang.String[], android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler); method public void invalidateAuthToken(java.lang.String, java.lang.String); method public android.accounts.AccountManagerFuture<java.lang.Boolean> isCredentialsUpdateSuggested(android.accounts.Account, java.lang.String, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler); method public static deprecated android.content.Intent newChooseAccountIntent(android.accounts.Account, java.util.ArrayList<android.accounts.Account>, java.lang.String[], boolean, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle); method public static android.content.Intent newChooseAccountIntent(android.accounts.Account, java.util.List<android.accounts.Account>, java.lang.String[], java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle); method public boolean notifyAccountAuthenticated(android.accounts.Account); Loading @@ -2872,6 +2878,8 @@ package android.accounts { method public void setAuthToken(android.accounts.Account, java.lang.String, java.lang.String); method public void setPassword(android.accounts.Account, java.lang.String); method public void setUserData(android.accounts.Account, java.lang.String, java.lang.String); method public android.accounts.AccountManagerFuture<android.os.Bundle> startAddAccountSession(java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public android.accounts.AccountManagerFuture<android.os.Bundle> startUpdateCredentialsSession(android.accounts.Account, java.lang.String, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public android.accounts.AccountManagerFuture<android.os.Bundle> updateCredentials(android.accounts.Account, java.lang.String, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); field public static final java.lang.String ACTION_AUTHENTICATOR_INTENT = "android.accounts.AccountAuthenticator"; field public static final java.lang.String AUTHENTICATOR_ATTRIBUTES_NAME = "account-authenticator"; Loading @@ -2888,6 +2896,8 @@ package android.accounts { field public static final java.lang.String KEY_ACCOUNT_AUTHENTICATOR_RESPONSE = "accountAuthenticatorResponse"; field public static final java.lang.String KEY_ACCOUNT_MANAGER_RESPONSE = "accountManagerResponse"; field public static final java.lang.String KEY_ACCOUNT_NAME = "authAccount"; field public static final java.lang.String KEY_ACCOUNT_SESSION_BUNDLE = "accountSessionBundle"; field public static final java.lang.String KEY_ACCOUNT_STATUS_TOKEN = "accountStatusToken"; field public static final java.lang.String KEY_ACCOUNT_TYPE = "accountType"; field public static final java.lang.String KEY_ANDROID_PACKAGE_NAME = "androidPackageName"; field public static final java.lang.String KEY_AUTHENTICATOR_TYPES = "authenticator_types"; core/java/android/accounts/AbstractAccountAuthenticator.java +3 −9 Original line number Diff line number Diff line Loading @@ -782,9 +782,7 @@ public abstract class AbstractAccountAuthenticator { * @throws NetworkErrorException if the authenticator could not honor the * request due to a network error * @see #finishSession(AccountAuthenticatorResponse, String, Bundle) * @hide */ @SystemApi public Bundle startAddAccountSession( final AccountAuthenticatorResponse response, final String accountType, Loading Loading @@ -840,9 +838,7 @@ public abstract class AbstractAccountAuthenticator { * @throws NetworkErrorException if the authenticator could not honor the * request due to a network error * @see #finishSession(AccountAuthenticatorResponse, String, Bundle) * @hide */ @SystemApi public Bundle startUpdateCredentialsSession( final AccountAuthenticatorResponse response, final Account account, Loading Loading @@ -888,16 +884,16 @@ public abstract class AbstractAccountAuthenticator { * <li>{@link AccountManager#KEY_INTENT}, or * <li>{@link AccountManager#KEY_ACCOUNT_NAME} and * {@link AccountManager#KEY_ACCOUNT_TYPE} of the account that was * added or local credentials were updated, or * added or local credentials were updated, and optional * {@link AccountManager#KEY_ACCOUNT_STATUS_TOKEN} for checking * the status of the account later, or * <li>{@link AccountManager#KEY_ERROR_CODE} and * {@link AccountManager#KEY_ERROR_MESSAGE} to indicate an error * </ul> * @throws NetworkErrorException if the authenticator could not honor the request due to a * network error * @see #startAddAccountSession and #startUpdateCredentialsSession * @hide */ @SystemApi public Bundle finishSession( final AccountAuthenticatorResponse response, final String accountType, Loading Loading @@ -981,9 +977,7 @@ public abstract class AbstractAccountAuthenticator { * </ul> * @throws NetworkErrorException if the authenticator could not honor the request due to a * network error * @hide */ @SystemApi public Bundle isCredentialsUpdateSuggested( final AccountAuthenticatorResponse response, Account account, Loading core/java/android/accounts/AccountManager.java +2 −12 Original line number Diff line number Diff line Loading @@ -245,18 +245,14 @@ public class AccountManager { * Bundle key used for a {@link Bundle} in result from * {@link #startAddAccountSession} and friends which returns session data * for installing an account later. * @hide */ @SystemApi public static final String KEY_ACCOUNT_SESSION_BUNDLE = "accountSessionBundle"; /** * Bundle key used for the {@link String} account status token in result * from {@link #startAddAccountSession} and friends which returns * information about a particular account. * @hide */ @SystemApi public static final String KEY_ACCOUNT_STATUS_TOKEN = "accountStatusToken"; public static final String ACTION_AUTHENTICATOR_INTENT = Loading Loading @@ -2705,9 +2701,7 @@ public class AccountManager { * trouble * </ul> * @see #finishSession * @hide */ @SystemApi public AccountManagerFuture<Bundle> startAddAccountSession( final String accountType, final String authTokenType, Loading Loading @@ -2789,9 +2783,7 @@ public class AccountManager { * trouble * </ul> * @see #finishSession * @hide */ @SystemApi public AccountManagerFuture<Bundle> startUpdateCredentialsSession( final Account account, final String authTokenType, Loading Loading @@ -2850,6 +2842,8 @@ public class AccountManager { * <ul> * <li>{@link #KEY_ACCOUNT_NAME} - the name of the account created * <li>{@link #KEY_ACCOUNT_TYPE} - the type of the account * <li>{@link #KEY_ACCOUNT_STATUS_TOKEN} - optional, token to check * status of the account * </ul> * If no activity was specified and additional information is needed * from user, the returned Bundle may contains only Loading @@ -2869,9 +2863,7 @@ public class AccountManager { * trouble * </ul> * @see #startAddAccountSession and #startUpdateCredentialsSession * @hide */ @SystemApi public AccountManagerFuture<Bundle> finishSession( final Bundle sessionBundle, final Activity activity, Loading Loading @@ -2931,9 +2923,7 @@ public class AccountManager { * @param handler {@link Handler} identifying the callback thread, null for the main thread * @return An {@link AccountManagerFuture} which resolves to a Boolean, true if the credentials * of the account should be updated. * @hide */ @SystemApi public AccountManagerFuture<Boolean> isCredentialsUpdateSuggested( final Account account, final String statusToken, Loading services/core/java/com/android/server/accounts/AccountManagerService.java +0 −33 Original line number Diff line number Diff line Loading @@ -2641,14 +2641,6 @@ public class AccountManagerService } final int uid = Binder.getCallingUid(); // Only allow system to start session if (!isSystemUid(uid)) { String msg = String.format( "uid %s cannot stat add account session.", uid); throw new SecurityException(msg); } final int userId = UserHandle.getUserId(uid); if (!canUserModifyAccounts(userId, uid)) { try { Loading Loading @@ -2854,14 +2846,6 @@ public class AccountManagerService userId)); } // Only allow system to finish session if (!isSystemUid(callingUid)) { String msg = String.format( "uid %s cannot finish session because it's not system uid.", callingUid); throw new SecurityException(msg); } if (!canUserModifyAccounts(userId, callingUid)) { sendErrorResponse(response, AccountManager.ERROR_CODE_USER_RESTRICTED, Loading Loading @@ -3083,14 +3067,6 @@ public class AccountManagerService } final int uid = Binder.getCallingUid(); // Only allow system to start session if (!isSystemUid(uid)) { String msg = String.format( "uid %s cannot start update credentials session.", uid); throw new SecurityException(msg); } int userId = UserHandle.getCallingUserId(); // Check to see if the Password should be included to the caller. Loading Loading @@ -3153,15 +3129,6 @@ public class AccountManagerService throw new IllegalArgumentException("status token is empty"); } int uid = Binder.getCallingUid(); // Only allow system to start session if (!isSystemUid(uid)) { String msg = String.format( "uid %s cannot stat add account session.", uid); throw new SecurityException(msg); } int usrId = UserHandle.getCallingUserId(); long identityToken = clearCallingIdentity(); try { Loading Loading
api/current.txt +10 −0 Original line number Diff line number Diff line Loading @@ -2802,12 +2802,16 @@ package android.accounts { method public android.os.Bundle addAccountFromCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, android.os.Bundle) throws android.accounts.NetworkErrorException; method public abstract android.os.Bundle confirmCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, android.os.Bundle) throws android.accounts.NetworkErrorException; method public abstract android.os.Bundle editProperties(android.accounts.AccountAuthenticatorResponse, java.lang.String); method public android.os.Bundle finishSession(android.accounts.AccountAuthenticatorResponse, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException; method public android.os.Bundle getAccountCredentialsForCloning(android.accounts.AccountAuthenticatorResponse, android.accounts.Account) throws android.accounts.NetworkErrorException; method public android.os.Bundle getAccountRemovalAllowed(android.accounts.AccountAuthenticatorResponse, android.accounts.Account) throws android.accounts.NetworkErrorException; method public abstract android.os.Bundle getAuthToken(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException; method public abstract java.lang.String getAuthTokenLabel(java.lang.String); method public final android.os.IBinder getIBinder(); method public abstract android.os.Bundle hasFeatures(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String[]) throws android.accounts.NetworkErrorException; method public android.os.Bundle isCredentialsUpdateSuggested(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String) throws android.accounts.NetworkErrorException; method public android.os.Bundle startAddAccountSession(android.accounts.AccountAuthenticatorResponse, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle) throws android.accounts.NetworkErrorException; method public android.os.Bundle startUpdateCredentialsSession(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException; method public abstract android.os.Bundle updateCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException; field public static final java.lang.String KEY_CUSTOM_TOKEN_EXPIRY = "android.accounts.expiry"; } Loading Loading @@ -2845,6 +2849,7 @@ package android.accounts { method public void clearPassword(android.accounts.Account); method public android.accounts.AccountManagerFuture<android.os.Bundle> confirmCredentials(android.accounts.Account, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public android.accounts.AccountManagerFuture<android.os.Bundle> editProperties(java.lang.String, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public android.accounts.AccountManagerFuture<android.os.Bundle> finishSession(android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public static android.accounts.AccountManager get(android.content.Context); method public android.accounts.Account[] getAccounts(); method public android.accounts.Account[] getAccountsByType(java.lang.String); Loading @@ -2860,6 +2865,7 @@ package android.accounts { method public java.lang.String getUserData(android.accounts.Account, java.lang.String); method public android.accounts.AccountManagerFuture<java.lang.Boolean> hasFeatures(android.accounts.Account, java.lang.String[], android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler); method public void invalidateAuthToken(java.lang.String, java.lang.String); method public android.accounts.AccountManagerFuture<java.lang.Boolean> isCredentialsUpdateSuggested(android.accounts.Account, java.lang.String, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler); method public static deprecated android.content.Intent newChooseAccountIntent(android.accounts.Account, java.util.ArrayList<android.accounts.Account>, java.lang.String[], boolean, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle); method public static android.content.Intent newChooseAccountIntent(android.accounts.Account, java.util.List<android.accounts.Account>, java.lang.String[], java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle); method public boolean notifyAccountAuthenticated(android.accounts.Account); Loading @@ -2872,6 +2878,8 @@ package android.accounts { method public void setAuthToken(android.accounts.Account, java.lang.String, java.lang.String); method public void setPassword(android.accounts.Account, java.lang.String); method public void setUserData(android.accounts.Account, java.lang.String, java.lang.String); method public android.accounts.AccountManagerFuture<android.os.Bundle> startAddAccountSession(java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public android.accounts.AccountManagerFuture<android.os.Bundle> startUpdateCredentialsSession(android.accounts.Account, java.lang.String, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public android.accounts.AccountManagerFuture<android.os.Bundle> updateCredentials(android.accounts.Account, java.lang.String, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); field public static final java.lang.String ACTION_AUTHENTICATOR_INTENT = "android.accounts.AccountAuthenticator"; field public static final java.lang.String AUTHENTICATOR_ATTRIBUTES_NAME = "account-authenticator"; Loading @@ -2888,6 +2896,8 @@ package android.accounts { field public static final java.lang.String KEY_ACCOUNT_AUTHENTICATOR_RESPONSE = "accountAuthenticatorResponse"; field public static final java.lang.String KEY_ACCOUNT_MANAGER_RESPONSE = "accountManagerResponse"; field public static final java.lang.String KEY_ACCOUNT_NAME = "authAccount"; field public static final java.lang.String KEY_ACCOUNT_SESSION_BUNDLE = "accountSessionBundle"; field public static final java.lang.String KEY_ACCOUNT_STATUS_TOKEN = "accountStatusToken"; field public static final java.lang.String KEY_ACCOUNT_TYPE = "accountType"; field public static final java.lang.String KEY_ANDROID_PACKAGE_NAME = "androidPackageName"; field public static final java.lang.String KEY_AUTHENTICATOR_TYPES = "authenticator_types";
api/test-current.txt +10 −0 Original line number Diff line number Diff line Loading @@ -2802,12 +2802,16 @@ package android.accounts { method public android.os.Bundle addAccountFromCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, android.os.Bundle) throws android.accounts.NetworkErrorException; method public abstract android.os.Bundle confirmCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, android.os.Bundle) throws android.accounts.NetworkErrorException; method public abstract android.os.Bundle editProperties(android.accounts.AccountAuthenticatorResponse, java.lang.String); method public android.os.Bundle finishSession(android.accounts.AccountAuthenticatorResponse, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException; method public android.os.Bundle getAccountCredentialsForCloning(android.accounts.AccountAuthenticatorResponse, android.accounts.Account) throws android.accounts.NetworkErrorException; method public android.os.Bundle getAccountRemovalAllowed(android.accounts.AccountAuthenticatorResponse, android.accounts.Account) throws android.accounts.NetworkErrorException; method public abstract android.os.Bundle getAuthToken(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException; method public abstract java.lang.String getAuthTokenLabel(java.lang.String); method public final android.os.IBinder getIBinder(); method public abstract android.os.Bundle hasFeatures(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String[]) throws android.accounts.NetworkErrorException; method public android.os.Bundle isCredentialsUpdateSuggested(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String) throws android.accounts.NetworkErrorException; method public android.os.Bundle startAddAccountSession(android.accounts.AccountAuthenticatorResponse, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle) throws android.accounts.NetworkErrorException; method public android.os.Bundle startUpdateCredentialsSession(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException; method public abstract android.os.Bundle updateCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException; field public static final java.lang.String KEY_CUSTOM_TOKEN_EXPIRY = "android.accounts.expiry"; } Loading Loading @@ -2845,6 +2849,7 @@ package android.accounts { method public void clearPassword(android.accounts.Account); method public android.accounts.AccountManagerFuture<android.os.Bundle> confirmCredentials(android.accounts.Account, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public android.accounts.AccountManagerFuture<android.os.Bundle> editProperties(java.lang.String, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public android.accounts.AccountManagerFuture<android.os.Bundle> finishSession(android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public static android.accounts.AccountManager get(android.content.Context); method public android.accounts.Account[] getAccounts(); method public android.accounts.Account[] getAccountsByType(java.lang.String); Loading @@ -2860,6 +2865,7 @@ package android.accounts { method public java.lang.String getUserData(android.accounts.Account, java.lang.String); method public android.accounts.AccountManagerFuture<java.lang.Boolean> hasFeatures(android.accounts.Account, java.lang.String[], android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler); method public void invalidateAuthToken(java.lang.String, java.lang.String); method public android.accounts.AccountManagerFuture<java.lang.Boolean> isCredentialsUpdateSuggested(android.accounts.Account, java.lang.String, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler); method public static deprecated android.content.Intent newChooseAccountIntent(android.accounts.Account, java.util.ArrayList<android.accounts.Account>, java.lang.String[], boolean, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle); method public static android.content.Intent newChooseAccountIntent(android.accounts.Account, java.util.List<android.accounts.Account>, java.lang.String[], java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle); method public boolean notifyAccountAuthenticated(android.accounts.Account); Loading @@ -2872,6 +2878,8 @@ package android.accounts { method public void setAuthToken(android.accounts.Account, java.lang.String, java.lang.String); method public void setPassword(android.accounts.Account, java.lang.String); method public void setUserData(android.accounts.Account, java.lang.String, java.lang.String); method public android.accounts.AccountManagerFuture<android.os.Bundle> startAddAccountSession(java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public android.accounts.AccountManagerFuture<android.os.Bundle> startUpdateCredentialsSession(android.accounts.Account, java.lang.String, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); method public android.accounts.AccountManagerFuture<android.os.Bundle> updateCredentials(android.accounts.Account, java.lang.String, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler); field public static final java.lang.String ACTION_AUTHENTICATOR_INTENT = "android.accounts.AccountAuthenticator"; field public static final java.lang.String AUTHENTICATOR_ATTRIBUTES_NAME = "account-authenticator"; Loading @@ -2888,6 +2896,8 @@ package android.accounts { field public static final java.lang.String KEY_ACCOUNT_AUTHENTICATOR_RESPONSE = "accountAuthenticatorResponse"; field public static final java.lang.String KEY_ACCOUNT_MANAGER_RESPONSE = "accountManagerResponse"; field public static final java.lang.String KEY_ACCOUNT_NAME = "authAccount"; field public static final java.lang.String KEY_ACCOUNT_SESSION_BUNDLE = "accountSessionBundle"; field public static final java.lang.String KEY_ACCOUNT_STATUS_TOKEN = "accountStatusToken"; field public static final java.lang.String KEY_ACCOUNT_TYPE = "accountType"; field public static final java.lang.String KEY_ANDROID_PACKAGE_NAME = "androidPackageName"; field public static final java.lang.String KEY_AUTHENTICATOR_TYPES = "authenticator_types";
core/java/android/accounts/AbstractAccountAuthenticator.java +3 −9 Original line number Diff line number Diff line Loading @@ -782,9 +782,7 @@ public abstract class AbstractAccountAuthenticator { * @throws NetworkErrorException if the authenticator could not honor the * request due to a network error * @see #finishSession(AccountAuthenticatorResponse, String, Bundle) * @hide */ @SystemApi public Bundle startAddAccountSession( final AccountAuthenticatorResponse response, final String accountType, Loading Loading @@ -840,9 +838,7 @@ public abstract class AbstractAccountAuthenticator { * @throws NetworkErrorException if the authenticator could not honor the * request due to a network error * @see #finishSession(AccountAuthenticatorResponse, String, Bundle) * @hide */ @SystemApi public Bundle startUpdateCredentialsSession( final AccountAuthenticatorResponse response, final Account account, Loading Loading @@ -888,16 +884,16 @@ public abstract class AbstractAccountAuthenticator { * <li>{@link AccountManager#KEY_INTENT}, or * <li>{@link AccountManager#KEY_ACCOUNT_NAME} and * {@link AccountManager#KEY_ACCOUNT_TYPE} of the account that was * added or local credentials were updated, or * added or local credentials were updated, and optional * {@link AccountManager#KEY_ACCOUNT_STATUS_TOKEN} for checking * the status of the account later, or * <li>{@link AccountManager#KEY_ERROR_CODE} and * {@link AccountManager#KEY_ERROR_MESSAGE} to indicate an error * </ul> * @throws NetworkErrorException if the authenticator could not honor the request due to a * network error * @see #startAddAccountSession and #startUpdateCredentialsSession * @hide */ @SystemApi public Bundle finishSession( final AccountAuthenticatorResponse response, final String accountType, Loading Loading @@ -981,9 +977,7 @@ public abstract class AbstractAccountAuthenticator { * </ul> * @throws NetworkErrorException if the authenticator could not honor the request due to a * network error * @hide */ @SystemApi public Bundle isCredentialsUpdateSuggested( final AccountAuthenticatorResponse response, Account account, Loading
core/java/android/accounts/AccountManager.java +2 −12 Original line number Diff line number Diff line Loading @@ -245,18 +245,14 @@ public class AccountManager { * Bundle key used for a {@link Bundle} in result from * {@link #startAddAccountSession} and friends which returns session data * for installing an account later. * @hide */ @SystemApi public static final String KEY_ACCOUNT_SESSION_BUNDLE = "accountSessionBundle"; /** * Bundle key used for the {@link String} account status token in result * from {@link #startAddAccountSession} and friends which returns * information about a particular account. * @hide */ @SystemApi public static final String KEY_ACCOUNT_STATUS_TOKEN = "accountStatusToken"; public static final String ACTION_AUTHENTICATOR_INTENT = Loading Loading @@ -2705,9 +2701,7 @@ public class AccountManager { * trouble * </ul> * @see #finishSession * @hide */ @SystemApi public AccountManagerFuture<Bundle> startAddAccountSession( final String accountType, final String authTokenType, Loading Loading @@ -2789,9 +2783,7 @@ public class AccountManager { * trouble * </ul> * @see #finishSession * @hide */ @SystemApi public AccountManagerFuture<Bundle> startUpdateCredentialsSession( final Account account, final String authTokenType, Loading Loading @@ -2850,6 +2842,8 @@ public class AccountManager { * <ul> * <li>{@link #KEY_ACCOUNT_NAME} - the name of the account created * <li>{@link #KEY_ACCOUNT_TYPE} - the type of the account * <li>{@link #KEY_ACCOUNT_STATUS_TOKEN} - optional, token to check * status of the account * </ul> * If no activity was specified and additional information is needed * from user, the returned Bundle may contains only Loading @@ -2869,9 +2863,7 @@ public class AccountManager { * trouble * </ul> * @see #startAddAccountSession and #startUpdateCredentialsSession * @hide */ @SystemApi public AccountManagerFuture<Bundle> finishSession( final Bundle sessionBundle, final Activity activity, Loading Loading @@ -2931,9 +2923,7 @@ public class AccountManager { * @param handler {@link Handler} identifying the callback thread, null for the main thread * @return An {@link AccountManagerFuture} which resolves to a Boolean, true if the credentials * of the account should be updated. * @hide */ @SystemApi public AccountManagerFuture<Boolean> isCredentialsUpdateSuggested( final Account account, final String statusToken, Loading
services/core/java/com/android/server/accounts/AccountManagerService.java +0 −33 Original line number Diff line number Diff line Loading @@ -2641,14 +2641,6 @@ public class AccountManagerService } final int uid = Binder.getCallingUid(); // Only allow system to start session if (!isSystemUid(uid)) { String msg = String.format( "uid %s cannot stat add account session.", uid); throw new SecurityException(msg); } final int userId = UserHandle.getUserId(uid); if (!canUserModifyAccounts(userId, uid)) { try { Loading Loading @@ -2854,14 +2846,6 @@ public class AccountManagerService userId)); } // Only allow system to finish session if (!isSystemUid(callingUid)) { String msg = String.format( "uid %s cannot finish session because it's not system uid.", callingUid); throw new SecurityException(msg); } if (!canUserModifyAccounts(userId, callingUid)) { sendErrorResponse(response, AccountManager.ERROR_CODE_USER_RESTRICTED, Loading Loading @@ -3083,14 +3067,6 @@ public class AccountManagerService } final int uid = Binder.getCallingUid(); // Only allow system to start session if (!isSystemUid(uid)) { String msg = String.format( "uid %s cannot start update credentials session.", uid); throw new SecurityException(msg); } int userId = UserHandle.getCallingUserId(); // Check to see if the Password should be included to the caller. Loading Loading @@ -3153,15 +3129,6 @@ public class AccountManagerService throw new IllegalArgumentException("status token is empty"); } int uid = Binder.getCallingUid(); // Only allow system to start session if (!isSystemUid(uid)) { String msg = String.format( "uid %s cannot stat add account session.", uid); throw new SecurityException(msg); } int usrId = UserHandle.getCallingUserId(); long identityToken = clearCallingIdentity(); try { Loading