From 63d94b3121c6f51ebdfba3f84f47394a81e25fa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Rebelo?= Date: Mon, 9 Mar 2026 21:44:50 +0000 Subject: [PATCH] Garmin Instinct 2S Surf: Initial support --- .../GarminInstinct2SSurfCoordinator.java | 18 ++++++++++++++++++ .../gadgetbridge/model/DeviceType.java | 2 ++ app/src/main/res/values/strings.xml | 1 + .../devices/AbstractDeviceCoordinatorTest.java | 1 + 4 files changed, 22 insertions(+) create mode 100644 app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/instinct/GarminInstinct2SSurfCoordinator.java diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/instinct/GarminInstinct2SSurfCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/instinct/GarminInstinct2SSurfCoordinator.java new file mode 100644 index 0000000000..cfd69b8845 --- /dev/null +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/instinct/GarminInstinct2SSurfCoordinator.java @@ -0,0 +1,18 @@ +package nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.instinct; + +import java.util.regex.Pattern; + +import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.GarminWatchCoordinator; + +public class GarminInstinct2SSurfCoordinator extends GarminWatchCoordinator { + @Override + protected Pattern getSupportedDeviceName() { + return Pattern.compile("^Instinct 2S Surf$"); + } + + @Override + public int getDeviceNameResource() { + return R.string.devicetype_garmin_instinct_2s_surf; + } +} 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 fb4dd9772f..2fb521d06a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java @@ -131,6 +131,7 @@ import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.forerunner.Ga import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.instinct.GarminInstinct2Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.instinct.GarminInstinct2SCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.instinct.GarminInstinct2SSolarCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.instinct.GarminInstinct2SSurfCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.instinct.GarminInstinct2SolTacCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.instinct.GarminInstinct2SolarCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.instinct.GarminInstinct2XSolarCoordinator; @@ -695,6 +696,7 @@ public enum DeviceType { GARMIN_INSTINCT_2(GarminInstinct2Coordinator.class), GARMIN_INSTINCT_2S(GarminInstinct2SCoordinator.class), GARMIN_INSTINCT_2S_SOLAR(GarminInstinct2SSolarCoordinator.class), + GARMIN_INSTINCT_2S_SURF(GarminInstinct2SSurfCoordinator.class), GARMIN_INSTINCT_2X_SOLAR(GarminInstinct2XSolarCoordinator.class), GARMIN_INSTINCT_2X_TACTICAL(GarminInstinct2XTacticalCoordinator.class), GARMIN_INSTINCT_2_SOLAR(GarminInstinct2SolarCoordinator.class), diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3a52900c17..3c4ae16d12 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1981,6 +1981,7 @@ Garmin Instinct Solar Tactical Garmin Instinct 2 Garmin Instinct 2S + Garmin Instinct 2S Surf Garmin Instinct 2S Solar Garmin Instinct 2X Solar Garmin Instinct 2X Tactical diff --git a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinatorTest.java b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinatorTest.java index 3f0e38e1a1..3d0a86ee42 100644 --- a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinatorTest.java +++ b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinatorTest.java @@ -58,6 +58,7 @@ public class AbstractDeviceCoordinatorTest extends TestBase { put("GPSMAP 66S #1234512345", DeviceType.GARMIN_GPSMAP_66S); // matrix put("Instinct Tactical", DeviceType.GARMIN_INSTINCT_TACTICAL); put("Instinct Solar Tac", DeviceType.GARMIN_INSTINCT_SOLAR_TACTICAL); // #5764 + put("Instinct 2S Surf", DeviceType.GARMIN_INSTINCT_2S_SURF); // #5842 put("Xiaomi Smart Band 10 8C9F", DeviceType.MIBAND10); put("Venu X1", DeviceType.GARMIN_VENU_X1); put("Redmi Watch 5 163A", DeviceType.REDMIWATCH5);