Merge "Fix bug in userControlDisabledPackages on reboot" into udc-dev

This commit is contained in:
Kholoud Mohamed
2023-04-24 14:46:18 +00:00
committed by Android (Google) Code Review
2 changed files with 17 additions and 7 deletions

View File

@@ -3575,7 +3575,9 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
void handleStartUser(int userId) {
synchronized (getLockObject()) {
pushScreenCapturePolicy(userId);
pushUserControlDisabledPackagesLocked(userId);
if (!isPolicyEngineForFinanceFlagEnabled()) {
pushUserControlDisabledPackagesLocked(userId);
}
}
pushUserRestrictions(userId);
// When system user is started (device boot), load cache for all users.
@@ -10062,7 +10064,9 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
setNetworkLoggingActiveInternal(false);
deleteTransferOwnershipBundleLocked(userId);
toggleBackupServiceActive(UserHandle.USER_SYSTEM, true);
pushUserControlDisabledPackagesLocked(userId);
if (!isPolicyEngineForFinanceFlagEnabled()) {
pushUserControlDisabledPackagesLocked(userId);
}
setGlobalSettingDeviceOwnerType(DEVICE_OWNER_TYPE_DEFAULT);
if (isPolicyEngineForFinanceFlagEnabled() || isPermissionCheckFlagEnabled()) {

View File

@@ -26,6 +26,7 @@ import android.app.admin.PackagePermissionPolicyKey;
import android.app.admin.PackagePolicyKey;
import android.app.admin.PolicyKey;
import android.app.admin.UserRestrictionPolicyKey;
import android.app.usage.UsageStatsManagerInternal;
import android.content.ComponentName;
import android.content.Context;
import android.content.IntentFilter;
@@ -38,6 +39,7 @@ import android.os.UserHandle;
import android.permission.AdminPermissionControlParams;
import android.permission.PermissionControllerManager;
import android.provider.Settings;
import android.util.ArraySet;
import android.util.Slog;
import com.android.server.LocalServices;
@@ -151,11 +153,15 @@ final class PolicyEnforcerCallbacks {
static boolean setUserControlDisabledPackages(
@Nullable Set<String> packages, int userId) {
Binder.withCleanCallingIdentity(() ->
LocalServices.getService(PackageManagerInternal.class)
.setOwnerProtectedPackages(
userId,
packages == null ? null : packages.stream().toList()));
Binder.withCleanCallingIdentity(() -> {
LocalServices.getService(PackageManagerInternal.class)
.setOwnerProtectedPackages(
userId,
packages == null ? null : packages.stream().toList());
LocalServices.getService(UsageStatsManagerInternal.class)
.setAdminProtectedPackages(
packages == null ? null : new ArraySet(packages), userId);
});
return true;
}