diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminGpsmap66sCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminGpsmap66sCoordinator.java index cd867db75c..c092ff50f2 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminGpsmap66sCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminGpsmap66sCoordinator.java @@ -50,9 +50,4 @@ public class GarminGpsmap66sCoordinator extends GarminCoordinator { public boolean supportsTrainingLoad(@NonNull final GBDevice device) { return false; } - - @Override - public boolean supportsVO2Max(@NonNull final GBDevice device) { - return false; - } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminGpsmapH1Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminGpsmapH1Coordinator.java new file mode 100644 index 0000000000..97c2b0d2bd --- /dev/null +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminGpsmapH1Coordinator.java @@ -0,0 +1,53 @@ +package nodomain.freeyourgadget.gadgetbridge.devices.garmin.gps; + +import androidx.annotation.NonNull; + +import java.util.regex.Pattern; + +import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.garmin.GarminCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; + +public class GarminGpsmapH1Coordinator extends GarminCoordinator { + @Override + public boolean supportsDataFetching(@NonNull final GBDevice device) { + // for gps tracks + return true; + } + + @Override + public boolean supportsRecordedActivities(@NonNull final GBDevice device) { + return true; + } + + @Override + public boolean supportsWeather(@NonNull final GBDevice device) { + return true; + } + + @Override + public int getBatteryCount(final GBDevice device) { + // does not seem to report the battery % + return 0; + } + + @Override + protected Pattern getSupportedDeviceName() { + return Pattern.compile("^GPSMAP H1$"); + } + + @Override + public int getDeviceNameResource() { + return R.string.devicetype_garmin_gpsmap_h1; + } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.UNKNOWN; + } + + @Override + public boolean supportsTrainingLoad(@NonNull final GBDevice device) { + return false; + } +} 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 1081d577ca..373e5388ab 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java @@ -75,6 +75,7 @@ import nodomain.freeyourgadget.gadgetbridge.devices.garmin.bike.GarminEdge840Coo import nodomain.freeyourgadget.gadgetbridge.devices.garmin.bike.GarminEdgeExplore2Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.bike.GarminEdgeExploreCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.gps.GarminGpsmap66sCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.garmin.gps.GarminGpsmapH1Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.hrm.GarminHrm600Coordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.hrm.GarminHrmProPlusCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.gps.GarminETrexSeCoordinator; @@ -672,6 +673,7 @@ public enum DeviceType { GARMIN_EDGE_EXPLORE(GarminEdgeExploreCoordinator.class), GARMIN_EDGE_EXPLORE_2(GarminEdgeExplore2Coordinator.class), GARMIN_GPSMAP_66S(GarminGpsmap66sCoordinator.class), + GARMIN_GPSMAP_H1(GarminGpsmapH1Coordinator.class), GARMIN_ETREX_SE(GarminETrexSeCoordinator.class), GARMIN_ENDURO(GarminEnduroCoordinator.class), GARMIN_ENDURO_3(GarminEnduro3Coordinator.class), diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f5e9273e70..6d4c53e854 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1985,6 +1985,7 @@ Garmin Edge Explore Garmin Edge Explore 2 Garmin GPSMAP 66s + Garmin GPSMAP H1 Garmin eTrex SE Garmin Enduro Garmin Enduro 3 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 e6a65632c1..29e4806b72 100644 --- a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinatorTest.java +++ b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinatorTest.java @@ -57,6 +57,7 @@ public class AbstractDeviceCoordinatorTest extends TestBase { put("Forerunner 165 Music", DeviceType.GARMIN_FORERUNNER_165_MUSIC); put("R60", DeviceType.BLACKVIEW_R60); put("eTrex SE", DeviceType.GARMIN_ETREX_SE); + put("GPSMAP H1", DeviceType.GARMIN_GPSMAP_H1); // #6122 put("GPSMAP 66S", DeviceType.GARMIN_GPSMAP_66S); // matrix put("GPSMAP 66S #1234512345", DeviceType.GARMIN_GPSMAP_66S); // matrix put("Instinct Tactical", DeviceType.GARMIN_INSTINCT_TACTICAL);