From 45cd3c2a2c9dfba60d79753f189b59fdddee7be6 Mon Sep 17 00:00:00 2001 From: NTeditor Date: Sat, 20 Jun 2026 11:52:54 +0300 Subject: [PATCH] oppo: add handler for DeviceInfoType.GAME_MODE --- .../devices/oppo/OppoHeadphonesProtocol.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/oppo/OppoHeadphonesProtocol.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/oppo/OppoHeadphonesProtocol.java index c727571daa..bcedb44283 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/oppo/OppoHeadphonesProtocol.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/oppo/OppoHeadphonesProtocol.java @@ -345,10 +345,11 @@ public class OppoHeadphonesProtocol extends GBDeviceProtocol { final int typeCode = payload[0] & 0xff; final DeviceInfoType type = DeviceInfoType.fromCode(typeCode); if (type == null) { - LOG.warn("Unknown device info {}", payload[0]); + LOG.warn("Unknown device info {}", String.format(Locale.ROOT, "0x%02x", typeCode)); return events; } + final GBDeviceEventUpdatePreferences eventUpdatePreferences = new GBDeviceEventUpdatePreferences(); switch (type) { case BATTERY: { events.addAll(parseBattery(payload)); @@ -359,8 +360,18 @@ public class OppoHeadphonesProtocol extends GBDeviceProtocol { // TODO handle break; } + case GAME_MODE: { + final boolean isEnabled = ((payload[1] & 0xFF) == 0x01); + LOG.debug("Got misc config for GAME_MODE = {}", isEnabled); + eventUpdatePreferences.withPreference( + OppoHeadphonesPreferences.GAME_MODE, + isEnabled + ); + events.add(eventUpdatePreferences); + break; + } default: { - LOG.warn("Unknown device info {}", payload[0]); + LOG.warn("Unhandled device info type {}", type); break; } }