summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index 22f684bea73d..ebe7e0cbac06 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -21613,7 +21613,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
}
copyAccount(targetUser, sourceUser, accountToMigrate, callerPackage);
if (!keepAccountMigrated) {
- removeAccount(accountToMigrate);
+ removeAccount(accountToMigrate, sourceUserId);
}
}
@@ -21657,9 +21657,10 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
.write();
}
- private void removeAccount(Account account) {
- final AccountManager accountManager =
- mContext.getSystemService(AccountManager.class);
+ private void removeAccount(Account account, @UserIdInt int sourceUserId) {
+ final AccountManager accountManager = mContext.createContextAsUser(
+ UserHandle.of(sourceUserId), /* flags= */ 0)
+ .getSystemService(AccountManager.class);
final AccountManagerFuture<Bundle> bundle = accountManager.removeAccount(account,
null, null /* callback */, null /* handler */);
try {