diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 1f9a5222ca5f8..e79796d366e08 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 @@ 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()) { diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/PolicyEnforcerCallbacks.java b/services/devicepolicy/java/com/android/server/devicepolicy/PolicyEnforcerCallbacks.java index 12a8a75317e54..289098e875504 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.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 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; }