diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/rings/AmazfitHelioRingCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/rings/AmazfitHelioRingCoordinator.java new file mode 100644 index 0000000000..f7a04a9503 --- /dev/null +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/rings/AmazfitHelioRingCoordinator.java @@ -0,0 +1,97 @@ +/* Copyright (C) 2025 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.huami.zeppos.rings; + +import java.util.Collections; +import java.util.List; +import java.util.Set; + +import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.ZeppOsCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; + +public class AmazfitHelioRingCoordinator extends ZeppOsCoordinator { + @Override + public boolean isExperimental() { + return true; + } + + @Override + public List getDeviceBluetoothNames() { + return Collections.singletonList("Amazfit Helio Ring"); // no mac address at the end + } + + @Override + public Set getDeviceSources() { + return Collections.emptySet(); // TODO are there? + } + + @Override + public int getDeviceNameResource() { + return R.string.devicetype_amazfit_helio_strap; + } + + @Override + public boolean supportsScreenshots(final GBDevice device) { + return false; + } + + @Override + public boolean supportsWeather(final GBDevice device) { + return false; + } + + @Override + public boolean supportsMusicInfo() { + return false; + } + + @Override + public boolean supportsHrvMeasurement(final GBDevice device) { + return true; + } + + @Override + public int getWorldClocksSlotCount() { + return 0; + } + + @Override + public boolean supportsCalendarEvents(final GBDevice device) { + return false; + } + + @Override + public int getCannedRepliesSlotCount(final GBDevice device) { + return 0; + } + + @Override + public boolean supportsTemperatureMeasurement(final GBDevice device) { + return true; + } + + @Override + public boolean supportsContinuousTemperature(final GBDevice device) { + return true; + } + + @Override + public boolean supportsAgpsUpdates() { + return false; + } +} 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 24e15bee6e..949f6ea764 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java @@ -180,6 +180,7 @@ import nodomain.freeyourgadget.gadgetbridge.devices.huami.miband4.MiBand4Coordin import nodomain.freeyourgadget.gadgetbridge.devices.huami.miband5.MiBand5Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huami.miband6.MiBand6Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppe.ZeppECoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.rings.AmazfitHelioRingCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.straps.AmazfitHelioStrapCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.watches.AmazfitActive2RoundCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.watches.AmazfitActive2NfcCoordinator; @@ -489,6 +490,7 @@ public enum DeviceType { AMAZFITACTIVE2NFC(AmazfitActive2NfcCoordinator.class), AMAZFITACTIVE2SQUARE(AmazfitActive2SquareCoordinator.class), AMAZFITACTIVEEDGE(AmazfitActiveEdgeCoordinator.class), + AMAZFITHELIORING(AmazfitHelioRingCoordinator.class), AMAZFITHELIOSTRAP(AmazfitHelioStrapCoordinator.class), HPLUS(HPlusCoordinator.class), MAKIBESF68(MakibesF68Coordinator.class), diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0338ed3d6d..807f089a5e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1846,6 +1846,7 @@ Amazfit GTS 2e Amazfit X Amazfit Helio Strap + Amazfit Helio Ring Zepp E Garmin Lily 2 Active Garmin Vívomove HR