1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-12-26 10:35:50 +01:00

[Huawei] Add Huawei Watch GT4 support

This commit is contained in:
Vitaliy Tomin 2024-03-10 16:02:09 +08:00 committed by Damien 'Psolyca' Gaignon
parent d59b7c7bfa
commit 014b453693
No known key found for this signature in database
GPG Key ID: 9E9404E5D9E11843
4 changed files with 63 additions and 1 deletions

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2024 Damien Gaignon /* Copyright (C) 2024 Damien Gaignon, Vitalii Tomin
This file is part of Gadgetbridge. This file is part of Gadgetbridge.
@ -64,6 +64,7 @@ public final class HuaweiConstants {
public static final String HU_BAND8_NAME = "huawei band 8-"; public static final String HU_BAND8_NAME = "huawei band 8-";
public static final String HU_WATCHGT3_NAME = "huawei watch gt 3-"; public static final String HU_WATCHGT3_NAME = "huawei watch gt 3-";
public static final String HU_WATCHGT3PRO_NAME = "huawei watch gt 3 pro-"; public static final String HU_WATCHGT3PRO_NAME = "huawei watch gt 3 pro-";
public static final String HU_WATCHGT4_NAME = "huawei watch gt 4-";
public static final String HU_WATCHFIT_NAME = "huawei watch fit-"; public static final String HU_WATCHFIT_NAME = "huawei watch fit-";
public static final String PREF_HUAWEI_ADDRESS = "huawei_address"; public static final String PREF_HUAWEI_ADDRESS = "huawei_address";

View File

@ -0,0 +1,58 @@
/* Copyright (C) 2024 Vitalii Tomin
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 <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiwatchgt4;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiBRCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate;
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
public class HuaweiWatchGT4Coordinator extends HuaweiBRCoordinator {
private static final Logger LOG = LoggerFactory.getLogger(HuaweiWatchGT4Coordinator.class);
public HuaweiWatchGT4Coordinator() {
super();
getHuaweiCoordinator().setTransactionCrypted(true);
}
@Override
public DeviceType getDeviceType() {
return DeviceType.HUAWEIWATCHGT4;
}
@Override
protected Pattern getSupportedDeviceName() {
return Pattern.compile("(" + HuaweiConstants.HU_WATCHGT4_NAME + ").*", Pattern.CASE_INSENSITIVE);
}
@Override
public int[] getSupportedDeviceSpecificSettings(GBDevice device) {
return getHuaweiCoordinator().genericHuaweiSupportedDeviceSpecificSettings(null);
}
@Override
public int getDeviceNameResource() {
return R.string.devicetype_huawei_watchgt4;
}
}

View File

@ -123,6 +123,7 @@ import nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiwatchgt.HuaweiW
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiwatchgt2.HuaweiWatchGT2Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiwatchgt2.HuaweiWatchGT2Coordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiwatchgt2e.HuaweiWatchGT2eCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiwatchgt2e.HuaweiWatchGT2eCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiwatchgt3.HuaweiWatchGT3Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiwatchgt3.HuaweiWatchGT3Coordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiwatchgt4.HuaweiWatchGT4Coordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.id115.ID115Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.id115.ID115Coordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.itag.ITagCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.itag.ITagCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.jyou.BFH16DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.jyou.BFH16DeviceCoordinator;
@ -358,6 +359,7 @@ public enum DeviceType {
HONORBAND7(HonorBand7Coordinator.class), HONORBAND7(HonorBand7Coordinator.class),
HONORMAGICWATCH2(HonorMagicWatch2Coordinator.class), HONORMAGICWATCH2(HonorMagicWatch2Coordinator.class),
HUAWEIWATCHGT3(HuaweiWatchGT3Coordinator.class), HUAWEIWATCHGT3(HuaweiWatchGT3Coordinator.class),
HUAWEIWATCHGT4(HuaweiWatchGT4Coordinator.class),
HUAWEIBAND8(HuaweiBand8Coordinator.class), HUAWEIBAND8(HuaweiBand8Coordinator.class),
HUAWEIWATCHFIT(HuaweiWatchFitCoordinator.class), HUAWEIWATCHFIT(HuaweiWatchFitCoordinator.class),
VESC(VescCoordinator.class), VESC(VescCoordinator.class),

View File

@ -1543,6 +1543,7 @@
<string name="devicetype_huawei_watchgt2e">Huawei Watch GT 2e</string> <string name="devicetype_huawei_watchgt2e">Huawei Watch GT 2e</string>
<string name="devicetype_huawei_talk_band_b6">Huawei Talk Band B6</string> <string name="devicetype_huawei_talk_band_b6">Huawei Talk Band B6</string>
<string name="devicetype_huawei_watchgt3">Huawei Watch GT 3 (Pro)</string> <string name="devicetype_huawei_watchgt3">Huawei Watch GT 3 (Pro)</string>
<string name="devicetype_huawei_watchgt4">Huawei Watch GT 4</string>
<string name="devicetype_huawei_watchfit">Huawei Watch Fit</string> <string name="devicetype_huawei_watchfit">Huawei Watch Fit</string>
<string name="devicetype_femometer_vinca2">Femometer Vinca II</string> <string name="devicetype_femometer_vinca2">Femometer Vinca II</string>
<string name="devicetype_xiaomi_watch_lite">Xiaomi Watch Lite</string> <string name="devicetype_xiaomi_watch_lite">Xiaomi Watch Lite</string>