diff options
author | Amith Yamasani <yamasani@google.com> | 2012-11-08 06:17:59 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-11-08 06:17:59 -0800 |
commit | cb2f707f869933e4e5bb16add76dbf8747cf3b06 (patch) | |
tree | 0c629add8d7f26165e42ad5589e8e123b07e3ecc /core/java/android/accounts/AccountManager.java | |
parent | 426b050c433cbc3b6a97ee6568ee63540b0129c6 (diff) | |
parent | cb5cb740b587744150df7414bdc2974144e9167a (diff) | |
download | frameworks_base-cb2f707f869933e4e5bb16add76dbf8747cf3b06.zip frameworks_base-cb2f707f869933e4e5bb16add76dbf8747cf3b06.tar.gz frameworks_base-cb2f707f869933e4e5bb16add76dbf8747cf3b06.tar.bz2 |
am cb5cb740: am aecee8a9: am 717797db: am f763b717: Merge "Authenticate correct user\'s account when pattern fails multiple times." into jb-mr1-dev
* commit 'cb5cb740b587744150df7414bdc2974144e9167a':
Authenticate correct user's account when pattern fails multiple times.
Diffstat (limited to 'core/java/android/accounts/AccountManager.java')
-rw-r--r-- | core/java/android/accounts/AccountManager.java | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/core/java/android/accounts/AccountManager.java b/core/java/android/accounts/AccountManager.java index 0df2949..6d9bb1d 100644 --- a/core/java/android/accounts/AccountManager.java +++ b/core/java/android/accounts/AccountManager.java @@ -28,6 +28,8 @@ import android.os.Looper; import android.os.RemoteException; import android.os.Parcelable; import android.os.Build; +import android.os.Process; +import android.os.UserHandle; import android.util.Log; import android.text.TextUtils; @@ -42,7 +44,6 @@ import java.util.concurrent.TimeUnit; import java.util.HashMap; import java.util.Map; -import com.google.android.collect.Lists; import com.google.android.collect.Maps; /** @@ -396,8 +397,13 @@ public class AccountManager { * (never null) if no accounts of the specified type have been added. */ public Account[] getAccountsByType(String type) { + return getAccountsByTypeAsUser(type, Process.myUserHandle()); + } + + /** @hide Same as {@link #getAccountsByType(String)} but for a specific user. */ + public Account[] getAccountsByTypeAsUser(String type, UserHandle userHandle) { try { - return mService.getAccounts(type); + return mService.getAccountsAsUser(type, userHandle.getIdentifier()); } catch (RemoteException e) { // won't ever happen throw new RuntimeException(e); @@ -1175,10 +1181,26 @@ public class AccountManager { final Activity activity, final AccountManagerCallback<Bundle> callback, final Handler handler) { + return confirmCredentialsAsUser(account, options, activity, callback, handler, + Process.myUserHandle()); + } + + /** + * @hide + * Same as {@link #confirmCredentials(Account, Bundle, Activity, AccountManagerCallback, Handler)} + * but for the specified user. + */ + public AccountManagerFuture<Bundle> confirmCredentialsAsUser(final Account account, + final Bundle options, + final Activity activity, + final AccountManagerCallback<Bundle> callback, + final Handler handler, UserHandle userHandle) { if (account == null) throw new IllegalArgumentException("account is null"); + final int userId = userHandle.getIdentifier(); return new AmsTask(activity, handler, callback) { public void doWork() throws RemoteException { - mService.confirmCredentials(mResponse, account, options, activity != null); + mService.confirmCredentialsAsUser(mResponse, account, options, activity != null, + userId); } }.start(); } |