oppo: add AncConfigValue.toMask() method

This commit is contained in:
NTeditor
2026-06-20 03:21:56 +03:00
parent b2f7fdec94
commit be73323222
2 changed files with 20 additions and 15 deletions
@@ -606,10 +606,7 @@ public class OppoHeadphonesProtocol extends GBDeviceProtocol {
}
public byte[] encodeAncTouchCycleModesSet(final EnumSet<AncConfigValue> modes) {
int mask = 0;
for (AncConfigValue mode : modes) {
mask |= mode.getCode();
}
final int mask = AncConfigValue.toMask(modes);
final byte[] payload = new byte[] {
(byte) AncConfigType.TOUCH_CYCLE_MODES.getCode(),
(byte) 0x01,
@@ -56,17 +56,6 @@ public enum AncConfigValue {
return prefId;
}
public static EnumSet<AncConfigValue> fromMask(int mask) {
EnumSet<AncConfigValue> modes = EnumSet.noneOf(AncConfigValue.class);
for (AncConfigValue mode : AncConfigValue.values()) {
if ((mask & mode.getCode()) == mode.getCode()) {
modes.add(mode);
}
}
return modes;
}
@Nullable
public static AncConfigValue fromPrefId(final String prefId) {
for (final AncConfigValue param : AncConfigValue.values()) {
@@ -78,6 +67,25 @@ public enum AncConfigValue {
return null;
}
public static int toMask(Iterable<AncConfigValue> modes) {
int mask = 0;
for (AncConfigValue mode : modes) {
mask |= mode.getCode();
}
return mask;
}
public static EnumSet<AncConfigValue> fromMask(int mask) {
EnumSet<AncConfigValue> modes = EnumSet.noneOf(AncConfigValue.class);
for (AncConfigValue mode : AncConfigValue.values()) {
if ((mask & mode.getCode()) == mode.getCode()) {
modes.add(mode);
}
}
return modes;
}
public static Set<String> toPrefIds(Iterable<AncConfigValue> modes) {
Set<String> prefIds = new HashSet<>();
for (AncConfigValue mode : modes) {