diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/moyoung/ColmiV73Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/moyoung/ColmiV73Coordinator.java new file mode 100644 index 0000000000..6aca2be8ee --- /dev/null +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/moyoung/ColmiV73Coordinator.java @@ -0,0 +1,73 @@ +/* Copyright (C) 2026 José Rebelo + + 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.moyoung; + +import androidx.annotation.DrawableRes; +import androidx.annotation.NonNull; + +import java.util.regex.Pattern; + +import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; + +public class ColmiV73Coordinator extends AbstractMoyoungDeviceCoordinator { + @Override + protected Pattern getSupportedDeviceName() { + return Pattern.compile("^V73$"); + } + + @Override + public int getDeviceNameResource() { + return R.string.devicetype_colmi_v73; + } + + @Override + @DrawableRes + public int getDefaultIconResource() { + return R.drawable.ic_device_miwatch; + } + + @Override + public String getManufacturer() { + return "Colmi"; + } + + @Override + public int getMtu() { + return 508; + } + + @Override + public int getAlarmSlotCount(GBDevice device) { + return 8; + } + + @Override + public int getWorldClocksSlotCount() { + return 6; + } + + @Override + public int getWorldClocksLabelLength() { + return 30; + } + + @Override + public boolean supportsRemSleep(@NonNull GBDevice device) { + return true; + } +} 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 7c5f1179aa..3e4322376f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java @@ -322,6 +322,7 @@ import nodomain.freeyourgadget.gadgetbridge.devices.moyoung.ColmiI28UltraCoordin import nodomain.freeyourgadget.gadgetbridge.devices.moyoung.ColmiP76Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.moyoung.ColmiP80Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.moyoung.ColmiV72Coordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.moyoung.ColmiV73Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.moyoung.ColmiV76Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.moyoung.ColmiV89Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.moyoung.FireBolttTalkCoordinator; @@ -848,6 +849,7 @@ public enum DeviceType { COLMI_P76(ColmiP76Coordinator.class), COLMI_P80(ColmiP80Coordinator.class), COLMI_V72(ColmiV72Coordinator.class), + COLMI_V73(ColmiV73Coordinator.class), COLMI_V76(ColmiV76Coordinator.class), COLMI_V89(ColmiV89Coordinator.class), BLACKVIEW_R60(BlackviewR60Coordinator.class), diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 20f55fb9d7..836cd8dda4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -2163,6 +2163,7 @@ Colmi i28 Ultra Colmi P76 Colmi V72 + Colmi V73 Colmi V76 Colmi V89 Colmi P80 diff --git a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinatorTest.java b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinatorTest.java index 00231d84cc..153c55567d 100644 --- a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinatorTest.java +++ b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinatorTest.java @@ -34,6 +34,7 @@ public class AbstractDeviceCoordinatorTest extends TestBase { put("P8", DeviceType.WASPOS); // from wasp-os source put("P8DFU", DeviceType.WASPOS); // from wasp-os source put("P80", DeviceType.COLMI_P80); + put("V73", DeviceType.COLMI_V73); // #5715 put("R05_9805", DeviceType.YAWELL_R05); // #3896 put("BT103(ID-AB01)", DeviceType.OUKITEL_BT103); put("P66D(ID-AB01)", DeviceType.DOTN_P66D);