diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/moyoung/HC96Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/moyoung/HC96Coordinator.java new file mode 100644 index 0000000000..d876d8af94 --- /dev/null +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/moyoung/HC96Coordinator.java @@ -0,0 +1,73 @@ +/* Copyright (C) 2025 Arjan Schrijver + + 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 HC96Coordinator extends AbstractMoyoungDeviceCoordinator { + @Override + protected Pattern getSupportedDeviceName() { + return Pattern.compile("^HC96$"); + } + + @Override + public int getDeviceNameResource() { + return R.string.devicetype_hc96; + } + + @Override + @DrawableRes + public int getDefaultIconResource() { + return R.drawable.ic_device_miwatch; + } + + @Override + public String getManufacturer() { + return "Unspecified"; + } + + @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 c8a17234f6..a37b44b5dd 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java @@ -288,6 +288,7 @@ import nodomain.freeyourgadget.gadgetbridge.devices.moyoung.ColmiV72Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.moyoung.ColmiV76Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.moyoung.ColmiV89Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.moyoung.FireBolttTalkCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.moyoung.HC96Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.moyoung.KT80Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.moyoung.KsixVentureCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.moyoung.MisirunC17Coordinator; @@ -766,6 +767,7 @@ public enum DeviceType { BLACKVIEW_R60(BlackviewR60Coordinator.class), MISIRUN_C17(MisirunC17Coordinator.class), C20(C20Coordinator.class), + HC96(HC96Coordinator.class), KT80(KT80Coordinator.class), KSIX_VENTURE(KsixVentureCoordinator.class), FIREBOLTT_TALK(FireBolttTalkCoordinator.class), diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c55e605086..fc19f5c6fa 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -2096,6 +2096,7 @@ Misirun C17 C20 KT80 + HC96 KSIX Venture Fire-Boltt Talk Viran C29 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 0a19b7d868..b192d39a43 100644 --- a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinatorTest.java +++ b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinatorTest.java @@ -47,6 +47,7 @@ public class AbstractDeviceCoordinatorTest extends TestBase { put("Amazfit T-Rex Ultra", DeviceType.AMAZFITTREXULTRA); put("Xiaomi Smart Band 7", DeviceType.MIBAND7); put("Xiaomi Band 9 Active AB01", DeviceType.MIBAND9ACTIVE); + put("HC96", DeviceType.HC96); put("P8", DeviceType.WASPOS); put("P8DFU", DeviceType.WASPOS); put("P80", DeviceType.COLMI_P80);