diff options
| author | 2014-09-22 12:42:12 -0700 | |
|---|---|---|
| committer | 2014-09-22 12:46:50 -0700 | |
| commit | ae7034aaf092adb52e7d1b5b86b2986e91295b9f (patch) | |
| tree | 195185ab0a691d99c4ef00106728267fd2382a23 | |
| parent | 8d9f12161823f267179f46825734c188b6c75b09 (diff) | |
Fix regression in launching CantAddAccountActivity for correct user
This activity should be launched for the user calling addAccount()
Bug: 17608124
Change-Id: I5d7e47bc625442494dc322ccafdc25f5f5c6aa7b
| -rw-r--r-- | services/core/java/com/android/server/accounts/AccountManagerService.java | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/accounts/AccountManagerService.java b/services/core/java/com/android/server/accounts/AccountManagerService.java index 888fa1adfe38..d480f68bfe3b 100644 --- a/services/core/java/com/android/server/accounts/AccountManagerService.java +++ b/services/core/java/com/android/server/accounts/AccountManagerService.java @@ -1787,7 +1787,7 @@ public class AccountManagerService "User is not allowed to add an account!"); } catch (RemoteException re) { } - showCantAddAccount(AccountManager.ERROR_CODE_USER_RESTRICTED); + showCantAddAccount(AccountManager.ERROR_CODE_USER_RESTRICTED, userId); return; } if (!canUserModifyAccountsForType(userId, accountType)) { @@ -1796,7 +1796,8 @@ public class AccountManagerService "User cannot modify accounts of this type (policy)."); } catch (RemoteException re) { } - showCantAddAccount(AccountManager.ERROR_CODE_MANAGEMENT_DISABLED_FOR_ACCOUNT_TYPE); + showCantAddAccount(AccountManager.ERROR_CODE_MANAGEMENT_DISABLED_FOR_ACCOUNT_TYPE, + userId); return; } @@ -1861,7 +1862,7 @@ public class AccountManagerService "User is not allowed to add an account!"); } catch (RemoteException re) { } - showCantAddAccount(AccountManager.ERROR_CODE_USER_RESTRICTED); + showCantAddAccount(AccountManager.ERROR_CODE_USER_RESTRICTED, userId); return; } if (!canUserModifyAccountsForType(userId, accountType)) { @@ -1870,7 +1871,8 @@ public class AccountManagerService "User cannot modify accounts of this type (policy)."); } catch (RemoteException re) { } - showCantAddAccount(AccountManager.ERROR_CODE_MANAGEMENT_DISABLED_FOR_ACCOUNT_TYPE); + showCantAddAccount(AccountManager.ERROR_CODE_MANAGEMENT_DISABLED_FOR_ACCOUNT_TYPE, + userId); return; } @@ -1906,13 +1908,13 @@ public class AccountManagerService } } - private void showCantAddAccount(int errorCode) { + private void showCantAddAccount(int errorCode, int userId) { Intent cantAddAccount = new Intent(mContext, CantAddAccountActivity.class); cantAddAccount.putExtra(CantAddAccountActivity.EXTRA_ERROR_CODE, errorCode); cantAddAccount.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); long identityToken = clearCallingIdentity(); try { - mContext.startActivity(cantAddAccount); + mContext.startActivityAsUser(cantAddAccount, new UserHandle(userId)); } finally { restoreCallingIdentity(identityToken); } |