From 71ea39efde124f5cb2173fa4d04a1fe9525d1f70 Mon Sep 17 00:00:00 2001 From: "Martin.JM" Date: Wed, 21 Feb 2024 16:27:38 +0100 Subject: [PATCH] [Huawei] Hookup smart wakeup interval and update Coordinators --- .../devices/huawei/HuaweiBRCoordinator.java | 11 +++++------ .../devices/huawei/HuaweiLECoordinator.java | 6 ------ .../devices/huawei/requests/AlarmsRequest.java | 3 ++- .../devices/huawei/requests/GetSmartAlarmList.java | 2 +- 4 files changed, 8 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiBRCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiBRCoordinator.java index ef27fc992..11fe900b5 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiBRCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiBRCoordinator.java @@ -116,6 +116,11 @@ public abstract class HuaweiBRCoordinator extends AbstractBLClassicDeviceCoordin return huaweiCoordinator.supportsSmartAlarm(device, position); } + @Override + public boolean supportsSmartWakeupInterval(GBDevice device, int alarmPosition) { + return supportsSmartWakeup(device, alarmPosition); + } + @Override public boolean forcedSmartWakeup(GBDevice device, int alarmPosition) { return huaweiCoordinator.forcedSmartWakeup(device, alarmPosition); @@ -136,12 +141,6 @@ public abstract class HuaweiBRCoordinator extends AbstractBLClassicDeviceCoordin return true; } - @Override - public boolean supportsAlarmDescription(GBDevice device) { - // TODO: only name is supported - return true; - } - @Override public boolean supportsWeather() { return huaweiCoordinator.supportsWeather(); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiLECoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiLECoordinator.java index b5dbc099d..744087d86 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiLECoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiLECoordinator.java @@ -141,12 +141,6 @@ public abstract class HuaweiLECoordinator extends AbstractBLEDeviceCoordinator i return true; } - @Override - public boolean supportsAlarmDescription(GBDevice device) { - // TODO: only name is supported - return true; - } - @Override public boolean supportsWeather() { return huaweiCoordinator.supportsWeather(); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/requests/AlarmsRequest.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/requests/AlarmsRequest.java index 3bd0e8db6..a3737fc05 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/requests/AlarmsRequest.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/requests/AlarmsRequest.java @@ -60,6 +60,7 @@ public class AlarmsRequest extends Request { } public void buildSmartAlarm(Alarm alarm) { + Integer smartWakeupInterval = alarm.getSmartWakeupInterval(); this.smartAlarmRequest = new SmartAlarmRequest( paramsProvider, new Alarms.SmartAlarm( @@ -67,7 +68,7 @@ public class AlarmsRequest extends Request { (byte) alarm.getHour(), (byte) alarm.getMinute(), (byte) alarm.getRepetition(), - (byte) 5 // TODO: setting for ahead time + smartWakeupInterval == null ? 5 : smartWakeupInterval.byteValue() ) ); } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/requests/GetSmartAlarmList.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/requests/GetSmartAlarmList.java index ba742a9d8..7c13a9070 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/requests/GetSmartAlarmList.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/requests/GetSmartAlarmList.java @@ -61,7 +61,7 @@ public class GetSmartAlarmList extends Request { 0, smartAlarm.status, true, - null, + (int) smartAlarm.aheadTime, false, smartAlarm.repeat, smartAlarm.startHour,