Xiaomi Smart Band 9 Active: Experimental support

This commit is contained in:
José Rebelo 2025-01-26 14:24:54 +00:00
parent 52ccb6109c
commit cb5b475932
3 changed files with 58 additions and 0 deletions

View File

@ -0,0 +1,55 @@
/* 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 <http://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.miband9active;
import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.XiaomiCoordinator;
public class MiBand9ActiveCoordinator extends XiaomiCoordinator {
@Override
public int getDeviceNameResource() {
return R.string.devicetype_miband9active;
}
@Override
protected Pattern getSupportedDeviceName() {
return Pattern.compile("^Xiaomi( Smart)? Band 9 Active [0-9A-F]{4}$");
}
@Override
public boolean isExperimental() {
// Untested - based on btsnoops provided on matrix
return true;
}
@Override
public ConnectionType getConnectionType() {
return ConnectionType.BT_CLASSIC;
}
@Override
public int getDefaultIconResource() {
return R.drawable.ic_device_default;
}
@Override
public int getDisabledIconResource() {
return R.drawable.ic_device_default_disabled;
}
}

View File

@ -285,6 +285,7 @@ import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.miband8.MiBand8Coordi
import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.miband8active.MiBand8ActiveCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.miband8pro.MiBand8ProCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.miband9.MiBand9Coordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.miband9active.MiBand9ActiveCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.miband9pro.MiBand9ProCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.miwatch.MiWatchLiteCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.miwatchcolorsport.MiWatchColorSportCoordinator;
@ -362,6 +363,7 @@ public enum DeviceType {
MIBAND8ACTIVE(MiBand8ActiveCoordinator.class),
MIBAND8PRO(MiBand8ProCoordinator.class),
MIBAND9(MiBand9Coordinator.class),
MIBAND9ACTIVE(MiBand9ActiveCoordinator.class),
MIBAND9PRO(MiBand9ProCoordinator.class),
MIWATCHLITE(MiWatchLiteCoordinator.class),
MIWATCHCOLORSPORT(MiWatchColorSportCoordinator.class),

View File

@ -1700,6 +1700,7 @@
<string name="devicetype_miband8active">Xiaomi Smart Band 8 Active</string>
<string name="devicetype_miband8pro">Xiaomi Smart Band 8 Pro</string>
<string name="devicetype_miband9">Xiaomi Smart Band 9</string>
<string name="devicetype_miband9active">Xiaomi Smart Band 9 Active</string>
<string name="devicetype_miband9pro">Xiaomi Smart Band 9 Pro</string>
<string name="devicetype_amazfit_balance">Amazfit Balance</string>
<string name="devicetype_amazfit_active">Amazfit Active</string>