Don't require ALWAYS_CAPABLE capabilities when linking a device

This commit is contained in:
Katherine
2025-08-11 18:25:55 -04:00
committed by GitHub
parent ad3721acf1
commit 127bd56f73
2 changed files with 4 additions and 1 deletions

View File

@@ -450,6 +450,8 @@ public class DeviceController {
private static boolean isCapabilityDowngrade(final Account account, final Set<DeviceCapability> capabilities) {
final Set<DeviceCapability> requiredCapabilities = Arrays.stream(DeviceCapability.values())
// `ALWAYS_CAPABLE` capabilities are always assumed to be present, so we don't require callers to specify them
.filter(capability -> capability.getAccountCapabilityMode() != DeviceCapability.AccountCapabilityMode.ALWAYS_CAPABLE)
.filter(DeviceCapability::preventDowngrade)
.filter(account::hasCapability)
.collect(Collectors.toSet());