Merge "Fix bug in userControlDisabledPackages on reboot" into udc-dev
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index 1f9a522..e79796d 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -3575,7 +3575,9 @@
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 @@
setNetworkLoggingActiveInternal(false);
deleteTransferOwnershipBundleLocked(userId);
toggleBackupServiceActive(UserHandle.USER_SYSTEM, true);
- pushUserControlDisabledPackagesLocked(userId);
+ if (!isPolicyEngineForFinanceFlagEnabled()) {
+ pushUserControlDisabledPackagesLocked(userId);
+ }
setGlobalSettingDeviceOwnerType(DEVICE_OWNER_TYPE_DEFAULT);
if (isPolicyEngineForFinanceFlagEnabled() || isPermissionCheckFlagEnabled()) {
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/PolicyEnforcerCallbacks.java b/services/devicepolicy/java/com/android/server/devicepolicy/PolicyEnforcerCallbacks.java
index 12a8a75..289098e 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/PolicyEnforcerCallbacks.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/PolicyEnforcerCallbacks.java
@@ -26,6 +26,7 @@
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.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 @@
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;
}