Convert Device.Capabilities to a record

This commit is contained in:
Jon Chambers
2023-08-07 12:37:07 -04:00
committed by Jon Chambers
parent d868e3075c
commit d51c6fd2f8
7 changed files with 16 additions and 53 deletions

View File

@@ -344,7 +344,7 @@ public class DeviceController {
}
static boolean isCapabilityDowngrade(Account account, DeviceCapabilities capabilities) {
return account.isPniSupported() && !capabilities.isPni();
return account.isPniSupported() && !capabilities.pni();
}
private Pair<Account, Device> createDevice(final String password,

View File

@@ -247,21 +247,21 @@ public class Account {
public boolean isStorageSupported() {
requireNotStale();
return devices.stream().anyMatch(device -> device.getCapabilities() != null && device.getCapabilities().isStorage());
return devices.stream().anyMatch(device -> device.getCapabilities() != null && device.getCapabilities().storage());
}
public boolean isTransferSupported() {
requireNotStale();
return getMasterDevice().map(Device::getCapabilities).map(Device.DeviceCapabilities::isTransfer).orElse(false);
return getMasterDevice().map(Device::getCapabilities).map(Device.DeviceCapabilities::transfer).orElse(false);
}
public boolean isPniSupported() {
return allEnabledDevicesHaveCapability(DeviceCapabilities::isPni);
return allEnabledDevicesHaveCapability(DeviceCapabilities::pni);
}
public boolean isPaymentActivationSupported() {
return allEnabledDevicesHaveCapability(DeviceCapabilities::isPaymentActivation);
return allEnabledDevicesHaveCapability(DeviceCapabilities::paymentActivation);
}
private boolean allEnabledDevicesHaveCapability(final Predicate<DeviceCapabilities> predicate) {

View File

@@ -274,43 +274,6 @@ public class Device {
return this.userAgent;
}
public static class DeviceCapabilities {
@JsonProperty
private boolean storage;
@JsonProperty
private boolean transfer;
@JsonProperty
private boolean pni;
@JsonProperty
private boolean paymentActivation;
public DeviceCapabilities() {
}
public DeviceCapabilities(boolean storage, boolean transfer, final boolean pni, final boolean paymentActivation) {
this.storage = storage;
this.transfer = transfer;
this.pni = pni;
this.paymentActivation = paymentActivation;
}
public boolean isStorage() {
return storage;
}
public boolean isTransfer() {
return transfer;
}
public boolean isPni() {
return pni;
}
public boolean isPaymentActivation() {
return paymentActivation;
}
public record DeviceCapabilities(boolean storage, boolean transfer, boolean pni, boolean paymentActivation) {
}
}