mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2025-06-05 21:49:48 +02:00
Zepp OS: Query calendar service version
This commit is contained in:
@@ -23,8 +23,10 @@ import java.nio.ByteBuffer;
|
|||||||
import java.nio.ByteOrder;
|
import java.nio.ByteOrder;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
|
|
||||||
|
import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventUpdatePreferences;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.model.CalendarEventSpec;
|
import nodomain.freeyourgadget.gadgetbridge.model.CalendarEventSpec;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.service.btle.BLETypeConversions;
|
import nodomain.freeyourgadget.gadgetbridge.service.btle.BLETypeConversions;
|
||||||
|
import nodomain.freeyourgadget.gadgetbridge.service.btle.TransactionBuilder;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.Huami2021Support;
|
import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.Huami2021Support;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.zeppos.AbstractZeppOsService;
|
import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.zeppos.AbstractZeppOsService;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.util.StringUtils;
|
import nodomain.freeyourgadget.gadgetbridge.util.StringUtils;
|
||||||
@@ -43,6 +45,10 @@ public class ZeppOsCalendarService extends AbstractZeppOsService {
|
|||||||
public static final byte CMD_DELETE_EVENT = 0x09;
|
public static final byte CMD_DELETE_EVENT = 0x09;
|
||||||
public static final byte CMD_DELETE_EVENT_ACK = 0x0a;
|
public static final byte CMD_DELETE_EVENT_ACK = 0x0a;
|
||||||
|
|
||||||
|
public static final String PREF_VERSION = "zepp_os_calendar_version";
|
||||||
|
|
||||||
|
private int version = -1;
|
||||||
|
|
||||||
public ZeppOsCalendarService(final Huami2021Support support) {
|
public ZeppOsCalendarService(final Huami2021Support support) {
|
||||||
super(support);
|
super(support);
|
||||||
}
|
}
|
||||||
@@ -57,9 +63,27 @@ public class ZeppOsCalendarService extends AbstractZeppOsService {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initialize(final TransactionBuilder builder) {
|
||||||
|
requestCapabilities(builder);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void requestCapabilities(final TransactionBuilder builder) {
|
||||||
|
write(builder, CMD_CAPABILITIES_REQUEST);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handlePayload(final byte[] payload) {
|
public void handlePayload(final byte[] payload) {
|
||||||
switch (payload[0]) {
|
switch (payload[0]) {
|
||||||
|
case CMD_CAPABILITIES_RESPONSE:
|
||||||
|
version = payload[1];
|
||||||
|
getSupport().evaluateGBDeviceEvent(new GBDeviceEventUpdatePreferences(PREF_VERSION, version));
|
||||||
|
if (version != 1) {
|
||||||
|
LOG.warn("Unsupported calendar service version {}", version);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
LOG.info("Calendar service version={}", version);
|
||||||
|
break;
|
||||||
case CMD_EVENTS_RESPONSE:
|
case CMD_EVENTS_RESPONSE:
|
||||||
LOG.info("Got calendar events from band");
|
LOG.info("Got calendar events from band");
|
||||||
decodeAndUpdateCalendarEvents(payload);
|
decodeAndUpdateCalendarEvents(payload);
|
||||||
|
Reference in New Issue
Block a user