From a72a8dab0648ef2eef820327b2d993a92acc12aa Mon Sep 17 00:00:00 2001 From: Nupur Saxena Date: Mon, 24 Apr 2023 15:33:47 +0000 Subject: Migrate and remove account from calling user in headless mode Bug: http://b/271260154 Change-Id: I36bcc1829a0afbfe1bcaafa24a22a9d64c21e9aa (cherry picked from commit 64d90cd773fe6651b7e588dca8ab079487327366) --- .../android/server/devicepolicy/DevicePolicyManagerService.java | 9 +++++---- 1 file 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 40024f1f0be3..b869ac421989 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -21602,7 +21602,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } copyAccount(targetUser, sourceUser, accountToMigrate, callerPackage); if (!keepAccountMigrated) { - removeAccount(accountToMigrate); + removeAccount(accountToMigrate, sourceUserId); } } @@ -21646,9 +21646,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 = accountManager.removeAccount(account, null, null /* callback */, null /* handler */); try { -- cgit v1.2.3-59-g8ed1b