From 8672dcac3cc885856f54bd4dbaba0467d4510e96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Rebelo?= Date: Sun, 7 Jul 2024 22:48:40 +0100 Subject: [PATCH] Garmin Vivoactive 3: Initial support --- .../GarminVivoActive3Coordinator.java | 20 +++++++++++++++++++ .../gadgetbridge/model/DeviceType.java | 2 ++ app/src/main/res/values/strings.xml | 1 + 3 files changed, 23 insertions(+) create mode 100644 app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivoactive/GarminVivoActive3Coordinator.java diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivoactive/GarminVivoActive3Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivoactive/GarminVivoActive3Coordinator.java new file mode 100644 index 000000000..5179bedaf --- /dev/null +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivoactive/GarminVivoActive3Coordinator.java @@ -0,0 +1,20 @@ +package nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.vivoactive; + +import java.util.regex.Pattern; + +import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.garmin.GarminCoordinator; + +public class GarminVivoActive3Coordinator extends GarminCoordinator { + @Override + protected Pattern getSupportedDeviceName() { + // The report on matrix did not include a space, but let's make it + // optional just in case + return Pattern.compile("^vívoactive *3$"); + } + + @Override + public int getDeviceNameResource() { + return R.string.devicetype_garmin_vivoactive_3; + } +} 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 e72b48bec..9b6a49d99 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java @@ -73,6 +73,7 @@ import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.venu.GarminVe import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.venu.GarminVenu2PlusCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.venu.GarminVenu3Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.venu.GarminVenu3SCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.vivoactive.GarminVivoActive3Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.vivoactive.GarminVivoActive4Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.vivoactive.GarminVivoActive4SCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.vivoactive.GarminVivoActive5Coordinator; @@ -383,6 +384,7 @@ public enum DeviceType { GARMIN_VENU_2_PLUS(GarminVenu2PlusCoordinator.class), GARMIN_VENU_3(GarminVenu3Coordinator.class), GARMIN_VENU_3S(GarminVenu3SCoordinator.class), + GARMIN_VIVOACTIVE_3(GarminVivoActive3Coordinator.class), GARMIN_VIVOACTIVE_4(GarminVivoActive4Coordinator.class), GARMIN_VIVOACTIVE_4S(GarminVivoActive4SCoordinator.class), GARMIN_VIVOACTIVE_5(GarminVivoActive5Coordinator.class), diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a5dcdde65..cfa98c797 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1520,6 +1520,7 @@ Garmin Forerunner 255S Garmin Forerunner 265 Garmin Swim 2 + Garmin Vívoactive 3 Garmin Vívoactive 4 Garmin Vívoactive 4S Garmin Vívoactive 5