diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiConstants.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiConstants.java
index 12925f694..88a839d82 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiConstants.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiConstants.java
@@ -65,6 +65,7 @@ public final class HuaweiConstants {
public static final String HU_BAND9_NAME = "huawei band 9-";
public static final String HU_WATCHGT3_NAME = "huawei watch gt 3-";
public static final String HU_WATCHGT3PRO_NAME = "huawei watch gt 3 pro-";
+ public static final String HU_WATCHGTRUNNER_NAME = "huawei watch gt runner-";
public static final String HU_WATCH3_NAME = "huawei watch 3-";
public static final String HU_WATCH3PRO_NAME = "huawei watch 3 pro-";
public static final String HU_WATCHGT4_NAME = "huawei watch gt 4-";
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiwatchgtrunner/HuaweiWatchGTRunnerCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiwatchgtrunner/HuaweiWatchGTRunnerCoordinator.java
new file mode 100644
index 000000000..d91b0d6a9
--- /dev/null
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiwatchgtrunner/HuaweiWatchGTRunnerCoordinator.java
@@ -0,0 +1,41 @@
+/* Copyright (C) 2024 Vitalii Tomin
+
+ This file is part of Gadgetbridge.
+
+ Gadgetbridge is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Gadgetbridge is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see . */
+package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiwatchgtrunner;
+
+import java.util.regex.Pattern;
+
+import nodomain.freeyourgadget.gadgetbridge.R;
+import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiBRCoordinator;
+import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants;
+import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
+
+public class HuaweiWatchGTRunnerCoordinator extends HuaweiBRCoordinator {
+ @Override
+ public DeviceType getDeviceType() {
+ return DeviceType.HUAWEIWATCHGTRUNNER;
+ }
+
+ @Override
+ protected Pattern getSupportedDeviceName() {
+ return Pattern.compile("(" + HuaweiConstants.HU_WATCHGTRUNNER_NAME + ").*", Pattern.CASE_INSENSITIVE);
+ }
+
+ @Override
+ public int getDeviceNameResource() {
+ return R.string.devicetype_huawei_watchgtrunner;
+ }
+}
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/packets/DeviceConfig.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/packets/DeviceConfig.java
index ec0234a1e..796668ba1 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/packets/DeviceConfig.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/packets/DeviceConfig.java
@@ -401,7 +401,7 @@ public class DeviceConfig {
}
public static class Response extends HuaweiPacket {
- public int deviceTime;
+ public int deviceTime=0;
public Response(ParamsProvider paramsProvider) {
super(paramsProvider);
@@ -409,7 +409,9 @@ public class DeviceConfig {
@Override
public void parseTlv() throws ParseException {
- this.deviceTime = this.tlv.getInteger(0x01);
+ if (this.tlv.contains(0x01)) {
+ this.deviceTime = this.tlv.getInteger(0x01);
+ }
}
}
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java
index f49ae2578..540ba27f8 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java
@@ -167,6 +167,7 @@ import nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiwatchgt2.Huawei
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiwatchgt2e.HuaweiWatchGT2eCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiwatchgt3.HuaweiWatchGT3Coordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiwatchgt4.HuaweiWatchGT4Coordinator;
+import nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiwatchgtrunner.HuaweiWatchGTRunnerCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiwatchultimate.HuaweiWatchUltimateCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.id115.ID115Coordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.itag.ITagCoordinator;
@@ -449,6 +450,7 @@ public enum DeviceType {
HONORMAGICWATCH2(HonorMagicWatch2Coordinator.class),
HUAWEIWATCHGT3(HuaweiWatchGT3Coordinator.class),
HUAWEIWATCHGT4(HuaweiWatchGT4Coordinator.class),
+ HUAWEIWATCHGTRUNNER(HuaweiWatchGTRunnerCoordinator.class),
HUAWEIBAND8(HuaweiBand8Coordinator.class),
HUAWEIBAND9(HuaweiBand9Coordinator.class),
HUAWEIWATCHFIT(HuaweiWatchFitCoordinator.class),
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index bfdd7a4d9..1a730fce7 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1613,6 +1613,7 @@
Huawei Talk Band B6
Huawei Watch GT 3 (Pro)
Huawei Watch GT 4
+ Huawei Watch GT Runner
Huawei Watch Fit
Huawei Watch Fit 2
Huawei Watch Fit 3