diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/watches/AmazfitBalance2XTCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/watches/AmazfitBalance2XTCoordinator.java new file mode 100644 index 0000000000..4e7cfb3276 --- /dev/null +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/watches/AmazfitBalance2XTCoordinator.java @@ -0,0 +1,96 @@ +/* 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.huami.zeppos.watches; + +import androidx.annotation.NonNull; + +import java.util.Arrays; +import java.util.Collections; +import java.util.HashSet; +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 AmazfitBalance2XTCoordinator extends ZeppOsCoordinator { + @Override + public boolean isExperimental() { + // untested + return true; + } + + @Override + public List getDeviceBluetoothNames() { + return Collections.singletonList("Amazfit Balance 2 XT"); + } + + @Override + public Set getDeviceSources() { + return new HashSet<>(Arrays.asList( + 10486016, + 10486017, + 10486019 + )); + } + + @Override + public int getDeviceNameResource() { + return R.string.devicetype_amazfit_balance_2_xt; + } + + @Override + public boolean mainMenuHasMoreSection() { + return true; + } + + @Override + public boolean supportsGpxUploads(final GBDevice device) { + return true; + } + + @Override + public boolean supportsControlCenter() { + return true; + } + + @Override + public boolean supportsToDoList() { + return true; + } + + @Override + public boolean supportsWifiHotspot(final GBDevice device) { + return true; + } + + @Override + public boolean supportsFtpServer(final GBDevice device) { + return true; + } + + @Override + public boolean supportsBluetoothPhoneCalls(final GBDevice device) { + return true; + } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.WATCH; + } +} 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 3ea3418527..39dd836573 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java @@ -230,6 +230,7 @@ import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.watches.Amazfit import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.watches.AmazfitActiveEdgeCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.watches.AmazfitActiveMaxCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.watches.AmazfitBalance2Coordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.watches.AmazfitBalance2XTCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.watches.AmazfitBalanceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.watches.AmazfitBand7Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.watches.AmazfitBip5Coordinator; @@ -556,6 +557,7 @@ public enum DeviceType { AMAZFITFALCON(AmazfitFalconCoordinator.class), AMAZFITBALANCE(AmazfitBalanceCoordinator.class), AMAZFITBALANCE2(AmazfitBalance2Coordinator.class), + AMAZFITBALANCE2XT(AmazfitBalance2XTCoordinator.class), AMAZFITACTIVE(AmazfitActiveCoordinator.class), AMAZFITACTIVE2(AmazfitActive2RoundCoordinator.class), AMAZFITACTIVE2NFC(AmazfitActive2NfcCoordinator.class), diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ce009aa7f9..80342c98b2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1859,6 +1859,7 @@ Xiaomi Smart Band 10 Amazfit Balance Amazfit Balance 2 + Amazfit Balance 2 XT Amazfit Active Amazfit Active 2 Amazfit Active 2 (Round)