Merge changes from topics "bluetoothrestrictions", "headlessfixes2" into udc-dev
* changes: Fix global user restriction permission check. Make user restriction failures clearer.
This commit is contained in:
committed by
Android (Google) Code Review
commit
9d319e4db9
@@ -2641,6 +2641,7 @@ public class UserManagerService extends IUserManager.Stub {
|
||||
|
||||
private void setUserRestrictionInner(int userId, @NonNull String key, boolean value) {
|
||||
if (!UserRestrictionsUtils.isValidRestriction(key)) {
|
||||
Slog.e(LOG_TAG, "Setting invalid restriction " + key);
|
||||
return;
|
||||
}
|
||||
synchronized (mRestrictionsLock) {
|
||||
|
||||
@@ -13287,6 +13287,9 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
|
||||
? getProfileParentId(caller.getUserId()) : caller.getUserId();
|
||||
setLocalUserRestrictionInternal(admin, key, enabled, affectedUserId);
|
||||
}
|
||||
} else {
|
||||
throw new IllegalStateException("Non-DO/Non-PO cannot set restriction " + key
|
||||
+ " while targetSdkVersion is less than UPSIDE_DOWN_CAKE");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -13315,14 +13318,13 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
|
||||
/* who= */ null,
|
||||
key,
|
||||
caller.getPackageName(),
|
||||
caller.getUserId()
|
||||
UserHandle.USER_ALL
|
||||
);
|
||||
|
||||
setGlobalUserRestrictionInternal(admin, key, /* enabled= */ true);
|
||||
|
||||
logUserRestrictionCall(key, /* enabled= */ true, /* parent= */ false, caller);
|
||||
}
|
||||
|
||||
private void setLocalUserRestrictionInternal(
|
||||
EnforcingAdmin admin, String key, boolean enabled, int userId) {
|
||||
PolicyDefinition<Boolean> policyDefinition =
|
||||
@@ -13340,7 +13342,6 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
|
||||
userId);
|
||||
}
|
||||
}
|
||||
|
||||
private void setGlobalUserRestrictionInternal(
|
||||
EnforcingAdmin admin, String key, boolean enabled) {
|
||||
PolicyDefinition<Boolean> policyDefinition =
|
||||
@@ -22560,53 +22561,53 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
|
||||
);
|
||||
|
||||
/**
|
||||
* All the permisisons granted to a profile owner.
|
||||
* All the permissions granted to a profile owner.
|
||||
*/
|
||||
private static final List<String> PROFILE_OWNER_PERMISSIONS =
|
||||
List.of(
|
||||
MANAGE_DEVICE_POLICY_ACCOUNT_MANAGEMENT,
|
||||
MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL,
|
||||
MANAGE_DEVICE_POLICY_APPS_CONTROL,
|
||||
MANAGE_DEVICE_POLICY_APP_RESTRICTIONS,
|
||||
MANAGE_DEVICE_POLICY_AUDIO_OUTPUT,
|
||||
MANAGE_DEVICE_POLICY_AUTOFILL,
|
||||
MANAGE_DEVICE_POLICY_CALLS,
|
||||
MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES,
|
||||
MANAGE_DEVICE_POLICY_DISPLAY,
|
||||
MANAGE_DEVICE_POLICY_FACTORY_RESET,
|
||||
MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES,
|
||||
MANAGE_DEVICE_POLICY_KEYGUARD,
|
||||
MANAGE_DEVICE_POLICY_LOCALE,
|
||||
MANAGE_DEVICE_POLICY_LOCATION,
|
||||
MANAGE_DEVICE_POLICY_LOCK,
|
||||
MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS,
|
||||
MANAGE_DEVICE_POLICY_NEARBY_COMMUNICATION,
|
||||
MANAGE_DEVICE_POLICY_ORGANIZATION_IDENTITY,
|
||||
MANAGE_DEVICE_POLICY_PACKAGE_STATE,
|
||||
MANAGE_DEVICE_POLICY_PRINTING,
|
||||
MANAGE_DEVICE_POLICY_PROFILES,
|
||||
MANAGE_DEVICE_POLICY_PROFILE_INTERACTION,
|
||||
MANAGE_DEVICE_POLICY_RESET_PASSWORD,
|
||||
MANAGE_DEVICE_POLICY_RUNTIME_PERMISSIONS,
|
||||
MANAGE_DEVICE_POLICY_SCREEN_CAPTURE,
|
||||
MANAGE_DEVICE_POLICY_SCREEN_CONTENT,
|
||||
MANAGE_DEVICE_POLICY_SUPPORT_MESSAGE,
|
||||
MANAGE_DEVICE_POLICY_SYSTEM_DIALOGS,
|
||||
MANAGE_DEVICE_POLICY_TIME,
|
||||
MANAGE_DEVICE_POLICY_VPN,
|
||||
MANAGE_DEVICE_POLICY_WIPE_DATA
|
||||
MANAGE_DEVICE_POLICY_ACCOUNT_MANAGEMENT,
|
||||
MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL,
|
||||
MANAGE_DEVICE_POLICY_APPS_CONTROL,
|
||||
MANAGE_DEVICE_POLICY_APP_RESTRICTIONS,
|
||||
MANAGE_DEVICE_POLICY_AUDIO_OUTPUT,
|
||||
MANAGE_DEVICE_POLICY_AUTOFILL,
|
||||
MANAGE_DEVICE_POLICY_BLUETOOTH,
|
||||
MANAGE_DEVICE_POLICY_CALLS,
|
||||
MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES,
|
||||
MANAGE_DEVICE_POLICY_DISPLAY,
|
||||
MANAGE_DEVICE_POLICY_FACTORY_RESET,
|
||||
MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES,
|
||||
MANAGE_DEVICE_POLICY_KEYGUARD,
|
||||
MANAGE_DEVICE_POLICY_LOCALE,
|
||||
MANAGE_DEVICE_POLICY_LOCATION,
|
||||
MANAGE_DEVICE_POLICY_LOCK,
|
||||
MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS,
|
||||
MANAGE_DEVICE_POLICY_NEARBY_COMMUNICATION,
|
||||
MANAGE_DEVICE_POLICY_ORGANIZATION_IDENTITY,
|
||||
MANAGE_DEVICE_POLICY_PACKAGE_STATE,
|
||||
MANAGE_DEVICE_POLICY_PRINTING,
|
||||
MANAGE_DEVICE_POLICY_PROFILES,
|
||||
MANAGE_DEVICE_POLICY_PROFILE_INTERACTION,
|
||||
MANAGE_DEVICE_POLICY_RESET_PASSWORD,
|
||||
MANAGE_DEVICE_POLICY_RUNTIME_PERMISSIONS,
|
||||
MANAGE_DEVICE_POLICY_SCREEN_CAPTURE,
|
||||
MANAGE_DEVICE_POLICY_SCREEN_CONTENT,
|
||||
MANAGE_DEVICE_POLICY_SUPPORT_MESSAGE,
|
||||
MANAGE_DEVICE_POLICY_SYSTEM_DIALOGS,
|
||||
MANAGE_DEVICE_POLICY_TIME,
|
||||
MANAGE_DEVICE_POLICY_VPN,
|
||||
MANAGE_DEVICE_POLICY_WIPE_DATA
|
||||
);
|
||||
|
||||
/**
|
||||
* All the additional permissions granted to an organisation owned profile owner.
|
||||
*/
|
||||
* All the additional permissions granted to an organisation owned profile owner.
|
||||
*/
|
||||
private static final List<String>
|
||||
ADDITIONAL_PROFILE_OWNER_OF_ORGANIZATION_OWNED_DEVICE_PERMISSIONS =
|
||||
List.of(
|
||||
List.of(
|
||||
MANAGE_DEVICE_POLICY_ACROSS_USERS,
|
||||
MANAGE_DEVICE_POLICY_AIRPLANE_MODE,
|
||||
MANAGE_DEVICE_POLICY_APPS_CONTROL,
|
||||
MANAGE_DEVICE_POLICY_BLUETOOTH,
|
||||
MANAGE_DEVICE_POLICY_CAMERA,
|
||||
MANAGE_DEVICE_POLICY_CERTIFICATES,
|
||||
MANAGE_DEVICE_POLICY_COMMON_CRITERIA_MODE,
|
||||
@@ -22627,13 +22628,12 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
|
||||
MANAGE_DEVICE_POLICY_WIFI,
|
||||
SET_TIME,
|
||||
SET_TIME_ZONE
|
||||
);
|
||||
);
|
||||
|
||||
|
||||
private static final List<String> ADDITIONAL_PROFILE_OWNER_ON_USER_0_PERMISSIONS =
|
||||
List.of(
|
||||
MANAGE_DEVICE_POLICY_AIRPLANE_MODE,
|
||||
MANAGE_DEVICE_POLICY_BLUETOOTH,
|
||||
MANAGE_DEVICE_POLICY_CAMERA,
|
||||
MANAGE_DEVICE_POLICY_DISPLAY,
|
||||
MANAGE_DEVICE_POLICY_FUN,
|
||||
|
||||
Reference in New Issue
Block a user