From 64d90cd773fe6651b7e588dca8ab079487327366 Mon Sep 17 00:00:00 2001 From: Nupur Saxena Date: Mon, 24 Apr 2023 15:33:47 +0000 Subject: [PATCH] Migrate and remove account from calling user in headless mode Bug: http://b/271260154 Change-Id: I36bcc1829a0afbfe1bcaafa24a22a9d64c21e9aa --- .../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 7f70215daa391..53aeac2b10687 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -21548,7 +21548,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } copyAccount(targetUser, sourceUser, accountToMigrate, callerPackage); if (!keepAccountMigrated) { - removeAccount(accountToMigrate); + removeAccount(accountToMigrate, sourceUserId); } } @@ -21592,9 +21592,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 {