Merge "Init the role holder package names in the app restriction controller" into tm-dev am: 5f17b13a5d

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17730042

Change-Id: I3d434ea2f9238708050a2d327c3ea1a40fa58c3f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Jing Ji
2022-04-13 17:32:35 +00:00
committed by Automerger Merge Worker

View File

@@ -223,6 +223,11 @@ public final class AppRestrictionController {
private static final String ATTR_LEVEL_TS = "levelts"; private static final String ATTR_LEVEL_TS = "levelts";
private static final String ATTR_REASON = "reason"; private static final String ATTR_REASON = "reason";
private static final String[] ROLES_IN_INTEREST = {
RoleManager.ROLE_DIALER,
RoleManager.ROLE_EMERGENCY,
};
private final Context mContext; private final Context mContext;
private final HandlerThread mBgHandlerThread; private final HandlerThread mBgHandlerThread;
private final BgHandler mBgHandler; private final BgHandler mBgHandler;
@@ -1386,6 +1391,7 @@ public final class AppRestrictionController {
initBgRestrictionExemptioFromSysConfig(); initBgRestrictionExemptioFromSysConfig();
initRestrictionStates(); initRestrictionStates();
initSystemModuleNames(); initSystemModuleNames();
initRolesInInterest();
registerForUidObservers(); registerForUidObservers();
registerForSystemBroadcasts(); registerForSystemBroadcasts();
mNotificationHelper.onSystemReady(); mNotificationHelper.onSystemReady();
@@ -2666,6 +2672,18 @@ public final class AppRestrictionController {
} }
} }
private void initRolesInInterest() {
final int[] allUsers = mInjector.getUserManagerInternal().getUserIds();
for (String role : ROLES_IN_INTEREST) {
if (mInjector.getRoleManager().isRoleAvailable(role)) {
for (int userId : allUsers) {
final UserHandle user = UserHandle.of(userId);
onRoleHoldersChanged(role, user);
}
}
}
}
private void onRoleHoldersChanged(@NonNull String roleName, @NonNull UserHandle user) { private void onRoleHoldersChanged(@NonNull String roleName, @NonNull UserHandle user) {
final List<String> rolePkgs = mInjector.getRoleManager().getRoleHoldersAsUser( final List<String> rolePkgs = mInjector.getRoleManager().getRoleHoldersAsUser(
roleName, user); roleName, user);