Loading services/core/java/com/android/server/accounts/AccountManagerService.java +11 −1 Original line number Original line Diff line number Diff line Loading @@ -3538,7 +3538,7 @@ public class AccountManagerService @Override @Override public void addSharedAccountsFromParentUser(int parentUserId, int userId) { public void addSharedAccountsFromParentUser(int parentUserId, int userId) { checkManageUsersPermission("addSharedAccountsFromParentUser"); checkManageOrCreateUsersPermission("addSharedAccountsFromParentUser"); Account[] accounts = getAccountsAsUser(null, parentUserId, mContext.getOpPackageName()); Account[] accounts = getAccountsAsUser(null, parentUserId, mContext.getOpPackageName()); for (Account account : accounts) { for (Account account : accounts) { addSharedAccountAsUser(account, userId); addSharedAccountAsUser(account, userId); Loading Loading @@ -5092,6 +5092,16 @@ public class AccountManagerService } } } } private static void checkManageOrCreateUsersPermission(String message) { if (ActivityManager.checkComponentPermission(android.Manifest.permission.MANAGE_USERS, Binder.getCallingUid(), -1, true) != PackageManager.PERMISSION_GRANTED && ActivityManager.checkComponentPermission(android.Manifest.permission.CREATE_USERS, Binder.getCallingUid(), -1, true) != PackageManager.PERMISSION_GRANTED) { throw new SecurityException("You need MANAGE_USERS or CREATE_USERS permission to: " + message); } } private boolean hasExplicitlyGrantedPermission(Account account, String authTokenType, private boolean hasExplicitlyGrantedPermission(Account account, String authTokenType, int callerUid) { int callerUid) { if (callerUid == Process.SYSTEM_UID) { if (callerUid == Process.SYSTEM_UID) { Loading Loading
services/core/java/com/android/server/accounts/AccountManagerService.java +11 −1 Original line number Original line Diff line number Diff line Loading @@ -3538,7 +3538,7 @@ public class AccountManagerService @Override @Override public void addSharedAccountsFromParentUser(int parentUserId, int userId) { public void addSharedAccountsFromParentUser(int parentUserId, int userId) { checkManageUsersPermission("addSharedAccountsFromParentUser"); checkManageOrCreateUsersPermission("addSharedAccountsFromParentUser"); Account[] accounts = getAccountsAsUser(null, parentUserId, mContext.getOpPackageName()); Account[] accounts = getAccountsAsUser(null, parentUserId, mContext.getOpPackageName()); for (Account account : accounts) { for (Account account : accounts) { addSharedAccountAsUser(account, userId); addSharedAccountAsUser(account, userId); Loading Loading @@ -5092,6 +5092,16 @@ public class AccountManagerService } } } } private static void checkManageOrCreateUsersPermission(String message) { if (ActivityManager.checkComponentPermission(android.Manifest.permission.MANAGE_USERS, Binder.getCallingUid(), -1, true) != PackageManager.PERMISSION_GRANTED && ActivityManager.checkComponentPermission(android.Manifest.permission.CREATE_USERS, Binder.getCallingUid(), -1, true) != PackageManager.PERMISSION_GRANTED) { throw new SecurityException("You need MANAGE_USERS or CREATE_USERS permission to: " + message); } } private boolean hasExplicitlyGrantedPermission(Account account, String authTokenType, private boolean hasExplicitlyGrantedPermission(Account account, String authTokenType, int callerUid) { int callerUid) { if (callerUid == Process.SYSTEM_UID) { if (callerUid == Process.SYSTEM_UID) { Loading