diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/DeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/DeviceCoordinator.java index c4738993a2..efb94b3f69 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/DeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/DeviceCoordinator.java @@ -132,6 +132,18 @@ public interface DeviceCoordinator { } } + enum DeviceKind { + UNKNOWN, + WATCH, + PHONE, + SCALE, + RING, + HEAD_MOUNTED, + FITNESS_BAND, + CHEST_STRAP, + SMART_DISPLAY + } + /** * Returns the type of connection, Classic of BLE * @@ -893,4 +905,13 @@ public interface DeviceCoordinator { String getAuthHelp(); List getCustomActions(); + + /** + * Returns the general kind of the device (watch, fitness band, etc.). + * The default implementation returns WATCH. Coordinators for other kinds + * of devices should override this method. + */ + default DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.WATCH; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/UnknownDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/UnknownDeviceCoordinator.java index d9890c34cd..5a5814a4a6 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/UnknownDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/UnknownDeviceCoordinator.java @@ -149,4 +149,9 @@ public class UnknownDeviceCoordinator extends AbstractDeviceCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_unknown; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/aawireless/AAWirelessCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/aawireless/AAWirelessCoordinator.java index 4f9783cb0a..aa45484282 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/aawireless/AAWirelessCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/aawireless/AAWirelessCoordinator.java @@ -27,6 +27,7 @@ import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpec import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLClassicDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; @@ -105,4 +106,9 @@ public class AAWirelessCoordinator extends AbstractBLClassicDeviceCoordinator { public DeviceSpecificSettingsCustomizer getDeviceSpecificSettingsCustomizer(final GBDevice device) { return new AAWirelessSettingsCustomizer(); } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/atcbleoepl/ATCBLEOEPLCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/atcbleoepl/ATCBLEOEPLCoordinator.java index 4ff34e9222..f4463d7446 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/atcbleoepl/ATCBLEOEPLCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/atcbleoepl/ATCBLEOEPLCoordinator.java @@ -30,6 +30,7 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; @@ -87,4 +88,9 @@ public class ATCBLEOEPLCoordinator extends AbstractDeviceCoordinator { R.xml.devicesettings_atc_ble_oepl }; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.SMART_DISPLAY; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/bandwpseries/BandWPSeriesDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/bandwpseries/BandWPSeriesDeviceCoordinator.java index 4f512dc734..1f36108d6d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/bandwpseries/BandWPSeriesDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/bandwpseries/BandWPSeriesDeviceCoordinator.java @@ -6,8 +6,6 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; -import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; -import nodomain.freeyourgadget.gadgetbridge.entities.Device; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; @@ -57,4 +55,9 @@ public class BandWPSeriesDeviceCoordinator extends AbstractBLEDeviceCoordinator }; } + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.HEAD_MOUNTED; + } + } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/binary_sensor/coordinator/BinarySensorCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/binary_sensor/coordinator/BinarySensorCoordinator.java index f431dbe68c..9d65aeebb8 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/binary_sensor/coordinator/BinarySensorCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/binary_sensor/coordinator/BinarySensorCoordinator.java @@ -28,6 +28,7 @@ import java.util.Collections; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.binary_sensor.activity.DataActivity; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; @@ -95,4 +96,9 @@ public class BinarySensorCoordinator extends AbstractBLEDeviceCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_unknown; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/coospo/CoospoH6Coordinator.kt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/coospo/CoospoH6Coordinator.kt index 0e006197d8..c0e8498c43 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/coospo/CoospoH6Coordinator.kt +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/coospo/CoospoH6Coordinator.kt @@ -1,6 +1,8 @@ package nodomain.freeyourgadget.gadgetbridge.devices.coospo import nodomain.freeyourgadget.gadgetbridge.R +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice import java.util.regex.Pattern /// #5025 @@ -12,4 +14,8 @@ class CoospoH6Coordinator: CoospoHeartRateCoordinator() { override fun getDeviceNameResource(): Int { return R.string.devicetype_coospo_h6 } + + override fun getDeviceKind(device: GBDevice): DeviceCoordinator.DeviceKind { + return DeviceCoordinator.DeviceKind.CHEST_STRAP + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/coospo/CoospoHW807Coordinator.kt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/coospo/CoospoHW807Coordinator.kt index 8c5f1b4f80..c325432319 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/coospo/CoospoHW807Coordinator.kt +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/coospo/CoospoHW807Coordinator.kt @@ -1,6 +1,8 @@ package nodomain.freeyourgadget.gadgetbridge.devices.coospo import nodomain.freeyourgadget.gadgetbridge.R +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice import java.util.regex.Pattern /// #5025 @@ -10,6 +12,10 @@ class CoospoHW807Coordinator: CoospoHeartRateCoordinator() { } override fun getDeviceNameResource(): Int { - return R.string.devicetype_coospo_h6 + return R.string.devicetype_coospo_h6 // TODO: This seems to be a copy-paste from H6, is there a specific string for HW807? + } + + override fun getDeviceKind(device: GBDevice): DeviceCoordinator.DeviceKind { + return DeviceCoordinator.DeviceKind.CHEST_STRAP } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/coospo/CoospoHW9Coordinator.kt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/coospo/CoospoHW9Coordinator.kt index 21cf0fbf98..92e073272f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/coospo/CoospoHW9Coordinator.kt +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/coospo/CoospoHW9Coordinator.kt @@ -1,6 +1,8 @@ package nodomain.freeyourgadget.gadgetbridge.devices.coospo import nodomain.freeyourgadget.gadgetbridge.R +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice import java.util.regex.Pattern /// #5110 @@ -12,4 +14,8 @@ class CoospoHW9Coordinator: CoospoHeartRateCoordinator() { override fun getDeviceNameResource(): Int { return R.string.devicetype_coospo_hw9 } + + override fun getDeviceKind(device: GBDevice): DeviceCoordinator.DeviceKind { + return DeviceCoordinator.DeviceKind.CHEST_STRAP + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/cycling_sensor/coordinator/CyclingSensorCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/cycling_sensor/coordinator/CyclingSensorCoordinator.java index b59c913a32..feb0d64a66 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/cycling_sensor/coordinator/CyclingSensorCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/cycling_sensor/coordinator/CyclingSensorCoordinator.java @@ -11,6 +11,7 @@ import de.greenrobot.dao.AbstractDao; import de.greenrobot.dao.Property; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.TimeSampleProvider; import nodomain.freeyourgadget.gadgetbridge.devices.cycling_sensor.activity.CyclingLiveDataActivity; import nodomain.freeyourgadget.gadgetbridge.devices.cycling_sensor.db.CyclingSampleProvider; @@ -110,5 +111,8 @@ public class CyclingSensorCoordinator extends AbstractBLEDeviceCoordinator { return true; } - + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/divoom/PixooCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/divoom/PixooCoordinator.java index bb8afbd7d3..2258d4e212 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/divoom/PixooCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/divoom/PixooCoordinator.java @@ -93,4 +93,9 @@ public class PixooCoordinator extends AbstractBLEDeviceCoordinator { R.xml.devicesettings_device_name, }; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.SMART_DISPLAY; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/domyos/DomyosT540Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/domyos/DomyosT540Coordinator.java index 51d1d60b71..d6c3501bd0 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/domyos/DomyosT540Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/domyos/DomyosT540Coordinator.java @@ -23,6 +23,7 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.ServiceDeviceSupport; @@ -64,4 +65,9 @@ public class DomyosT540Coordinator extends AbstractBLEDeviceCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_lovetoy; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/earfun/EarFunAirPro4Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/earfun/EarFunAirPro4Coordinator.java index 5c260aac2f..bc9a362180 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/earfun/EarFunAirPro4Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/earfun/EarFunAirPro4Coordinator.java @@ -13,6 +13,7 @@ import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; @@ -105,4 +106,9 @@ public class EarFunAirPro4Coordinator extends AbstractEarFunCoordinator { public DeviceSpecificSettingsCustomizer getDeviceSpecificSettingsCustomizer(final GBDevice device) { return new EarFunAirPro4SettingsCustomizer(device); } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/earfun/EarFunAirSCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/earfun/EarFunAirSCoordinator.java index 9f1dd3b2b1..f0653c7064 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/earfun/EarFunAirSCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/earfun/EarFunAirSCoordinator.java @@ -13,6 +13,7 @@ import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; @@ -101,4 +102,9 @@ public class EarFunAirSCoordinator extends AbstractEarFunCoordinator { public DeviceSpecificSettingsCustomizer getDeviceSpecificSettingsCustomizer(final GBDevice device) { return new EarFunAirSSettingsCustomizer(device); } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/evenrealities/G1DeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/evenrealities/G1DeviceCoordinator.java index e051bba77d..1e9f1b5013 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/evenrealities/G1DeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/evenrealities/G1DeviceCoordinator.java @@ -219,4 +219,9 @@ public class G1DeviceCoordinator extends AbstractBLEDeviceCoordinator { public boolean supportsWeather(final GBDevice device) { return true; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/femometer/FemometerVinca2DeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/femometer/FemometerVinca2DeviceCoordinator.java index 1b3e55815c..649431d4fd 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/femometer/FemometerVinca2DeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/femometer/FemometerVinca2DeviceCoordinator.java @@ -26,6 +26,7 @@ import de.greenrobot.dao.AbstractDao; import de.greenrobot.dao.Property; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.TimeSampleProvider; import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; import nodomain.freeyourgadget.gadgetbridge.entities.FemometerVinca2TemperatureSample; @@ -122,4 +123,8 @@ public class FemometerVinca2DeviceCoordinator extends AbstractBLEDeviceCoordinat }; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/fitpro/FitProDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/fitpro/FitProDeviceCoordinator.java index 851f1003b7..9317969a4e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/fitpro/FitProDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/fitpro/FitProDeviceCoordinator.java @@ -170,4 +170,9 @@ public class FitProDeviceCoordinator extends AbstractBLEDeviceCoordinator { public int getDeviceNameResource() { return R.string.devicetype_fitpro; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/fitpro/colacao/ColaCao21Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/fitpro/colacao/ColaCao21Coordinator.java index 6de1681323..609188374f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/fitpro/colacao/ColaCao21Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/fitpro/colacao/ColaCao21Coordinator.java @@ -18,6 +18,7 @@ package nodomain.freeyourgadget.gadgetbridge.devices.fitpro.colacao; import androidx.annotation.DrawableRes; +import androidx.annotation.NonNull; import java.util.regex.Pattern; @@ -47,4 +48,9 @@ public class ColaCao21Coordinator extends FitProDeviceCoordinator { public int getDeviceNameResource() { return R.string.devicetype_colacao21; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/fitpro/colacao/ColaCao23Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/fitpro/colacao/ColaCao23Coordinator.java index 74e788653c..b7c7a3848c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/fitpro/colacao/ColaCao23Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/fitpro/colacao/ColaCao23Coordinator.java @@ -18,6 +18,7 @@ package nodomain.freeyourgadget.gadgetbridge.devices.fitpro.colacao; import androidx.annotation.DrawableRes; +import androidx.annotation.NonNull; import java.util.regex.Pattern; @@ -47,4 +48,9 @@ public class ColaCao23Coordinator extends FitProDeviceCoordinator { public int getDeviceNameResource() { return R.string.devicetype_colacao23; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/flipper/zero/FlipperZeroCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/flipper/zero/FlipperZeroCoordinator.java index 303139a6be..38292a2427 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/flipper/zero/FlipperZeroCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/flipper/zero/FlipperZeroCoordinator.java @@ -20,11 +20,9 @@ import androidx.annotation.NonNull; import java.util.UUID; -import nodomain.freeyourgadget.gadgetbridge.GBException; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; -import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; -import nodomain.freeyourgadget.gadgetbridge.entities.Device; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; @@ -64,4 +62,9 @@ public class FlipperZeroCoordinator extends AbstractBLEDeviceCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_flipper; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBuds2DeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBuds2DeviceCoordinator.java index 7ef0c5b703..2e498ddfe8 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBuds2DeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBuds2DeviceCoordinator.java @@ -16,10 +16,13 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.galaxy_buds; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; @@ -61,6 +64,11 @@ public class GalaxyBuds2DeviceCoordinator extends GalaxyBudsGenericCoordinator { return R.string.devicetype_galaxybuds_2; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } + @Override public int getDefaultIconResource() { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBuds2ProDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBuds2ProDeviceCoordinator.java index 5584767d5b..eb38933a90 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBuds2ProDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBuds2ProDeviceCoordinator.java @@ -16,10 +16,13 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.galaxy_buds; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; @@ -60,6 +63,11 @@ public class GalaxyBuds2ProDeviceCoordinator extends GalaxyBudsGenericCoordinato return R.string.devicetype_galaxybuds_2_pro; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } + @Override public int getDefaultIconResource() { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBudsDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBudsDeviceCoordinator.java index 3eb6447d48..48835177f7 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBudsDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBudsDeviceCoordinator.java @@ -21,10 +21,9 @@ import androidx.annotation.NonNull; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; -import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; -import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; public class GalaxyBudsDeviceCoordinator extends GalaxyBudsGenericCoordinator { @Override @@ -49,6 +48,11 @@ public class GalaxyBudsDeviceCoordinator extends GalaxyBudsGenericCoordinator { return R.string.devicetype_galaxybuds; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } + @Override public int[] getSupportedDeviceSpecificSettings(GBDevice device) { return new int[]{ diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBudsLiveDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBudsLiveDeviceCoordinator.java index ac12f6fabc..e4f5bcc4c2 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBudsLiveDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBudsLiveDeviceCoordinator.java @@ -16,12 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.galaxy_buds; +import androidx.annotation.NonNull; + import java.util.List; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; @@ -59,6 +62,11 @@ public class GalaxyBudsLiveDeviceCoordinator extends GalaxyBudsGenericCoordinato return R.string.devicetype_galaxybuds_live; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } + @Override public int getDefaultIconResource() { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBudsProDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBudsProDeviceCoordinator.java index ee5f17f16a..2fe461eae9 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBudsProDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/galaxy_buds/GalaxyBudsProDeviceCoordinator.java @@ -16,10 +16,13 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.galaxy_buds; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; @@ -60,6 +63,11 @@ public class GalaxyBudsProDeviceCoordinator extends GalaxyBudsGenericCoordinator return R.string.devicetype_galaxybuds_pro; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } + @Override public int getDefaultIconResource() { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/bike/GarminEdge130PlusCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/bike/GarminEdge130PlusCoordinator.java index b8b6c6cfaa..24c1e8d734 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/bike/GarminEdge130PlusCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/bike/GarminEdge130PlusCoordinator.java @@ -5,6 +5,7 @@ import androidx.annotation.NonNull; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class GarminEdge130PlusCoordinator extends GarminBikeComputerCoordinator { @@ -32,4 +33,9 @@ public class GarminEdge130PlusCoordinator extends GarminBikeComputerCoordinator public boolean supportsMusicInfo(@NonNull GBDevice device) { return false; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/bike/GarminEdge540Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/bike/GarminEdge540Coordinator.java index 505b8f375d..fdfb405dd9 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/bike/GarminEdge540Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/bike/GarminEdge540Coordinator.java @@ -1,8 +1,11 @@ package nodomain.freeyourgadget.gadgetbridge.devices.garmin.bike; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class GarminEdge540Coordinator extends GarminBikeComputerCoordinator { @@ -20,4 +23,9 @@ public class GarminEdge540Coordinator extends GarminBikeComputerCoordinator { public int getBatteryCount(final GBDevice device) { return 0; // does not seem to report the battery % } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.SMART_DISPLAY; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/bike/GarminEdgeExplore2Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/bike/GarminEdgeExplore2Coordinator.java index 85edf04610..30aa8ef8eb 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/bike/GarminEdgeExplore2Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/bike/GarminEdgeExplore2Coordinator.java @@ -1,8 +1,11 @@ package nodomain.freeyourgadget.gadgetbridge.devices.garmin.bike; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class GarminEdgeExplore2Coordinator extends GarminBikeComputerCoordinator { @@ -20,4 +23,9 @@ public class GarminEdgeExplore2Coordinator extends GarminBikeComputerCoordinator public int getBatteryCount(final GBDevice device) { return 0; // does not seem to report the battery % } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.SMART_DISPLAY; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminETrexSeCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminETrexSeCoordinator.java index cb1716ed6a..051de36050 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminETrexSeCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminETrexSeCoordinator.java @@ -1,8 +1,11 @@ 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.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.GarminCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; @@ -39,4 +42,9 @@ public class GarminETrexSeCoordinator extends GarminCoordinator { return R.string.devicetype_garmin_etrex_se; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } + } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/hrm/GarminHrm200Coordinator.kt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/hrm/GarminHrm200Coordinator.kt index 22261df44b..2ed21fff0c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/hrm/GarminHrm200Coordinator.kt +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/hrm/GarminHrm200Coordinator.kt @@ -1,6 +1,8 @@ package nodomain.freeyourgadget.gadgetbridge.devices.garmin.hrm import nodomain.freeyourgadget.gadgetbridge.R +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice import java.util.regex.Pattern /// #5110 @@ -12,4 +14,8 @@ class GarminHrm200Coordinator: GarminHrmCoordinator() { override fun getDeviceNameResource(): Int { return R.string.devicetype_garmin_hrm_200 } + + override fun getDeviceKind(device: GBDevice): DeviceCoordinator.DeviceKind { + return DeviceCoordinator.DeviceKind.CHEST_STRAP + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivosmart/GarminVivosmart3Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivosmart/GarminVivosmart3Coordinator.java index 30cf65c31e..732ee7dd86 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivosmart/GarminVivosmart3Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivosmart/GarminVivosmart3Coordinator.java @@ -5,6 +5,7 @@ import androidx.annotation.NonNull; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.GarminWatchCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; @@ -23,4 +24,9 @@ public class GarminVivosmart3Coordinator extends GarminWatchCoordinator { public boolean supportsTrainingLoad(@NonNull GBDevice device) { return false; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivosmart/GarminVivosmart4Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivosmart/GarminVivosmart4Coordinator.java index 1c4f6e0db5..2daefe08e9 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivosmart/GarminVivosmart4Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivosmart/GarminVivosmart4Coordinator.java @@ -5,6 +5,7 @@ import androidx.annotation.NonNull; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.GarminWatchCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; @@ -23,4 +24,9 @@ public class GarminVivosmart4Coordinator extends GarminWatchCoordinator { public boolean supportsTrainingLoad(@NonNull GBDevice device) { return false; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivosmart/GarminVivosmart5Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivosmart/GarminVivosmart5Coordinator.java index 088bf23413..10737f2acb 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivosmart/GarminVivosmart5Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivosmart/GarminVivosmart5Coordinator.java @@ -5,6 +5,7 @@ import androidx.annotation.NonNull; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.GarminWatchCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; @@ -23,4 +24,9 @@ public class GarminVivosmart5Coordinator extends GarminWatchCoordinator { public boolean supportsTrainingLoad(@NonNull GBDevice device) { return false; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivosport/GarminVivosportCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivosport/GarminVivosportCoordinator.java index addb0637e8..41354bbdbe 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivosport/GarminVivosportCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/vivosport/GarminVivosportCoordinator.java @@ -5,6 +5,7 @@ import androidx.annotation.NonNull; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.GarminWatchCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; @@ -23,4 +24,9 @@ public class GarminVivosportCoordinator extends GarminWatchCoordinator { public boolean supportsTrainingLoad(@NonNull GBDevice device) { return false; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/generic_headphones/GenericHeadphonesCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/generic_headphones/GenericHeadphonesCoordinator.java index 0d61265104..7bd9a1ff53 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/generic_headphones/GenericHeadphonesCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/generic_headphones/GenericHeadphonesCoordinator.java @@ -11,6 +11,7 @@ import org.slf4j.LoggerFactory; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; @@ -88,4 +89,9 @@ public class GenericHeadphonesCoordinator extends AbstractDeviceCoordinator { public boolean supportsOSBatteryLevel(@NonNull GBDevice device) { return true; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/generic_hr/GenericHeartRateCoordinator.kt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/generic_hr/GenericHeartRateCoordinator.kt index ac75f0c2c1..a599cbbb34 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/generic_hr/GenericHeartRateCoordinator.kt +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/generic_hr/GenericHeartRateCoordinator.kt @@ -4,6 +4,7 @@ import de.greenrobot.dao.AbstractDao import de.greenrobot.dao.Property import nodomain.freeyourgadget.gadgetbridge.R import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider import nodomain.freeyourgadget.gadgetbridge.entities.AbstractActivitySample import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession @@ -88,4 +89,8 @@ class GenericHeartRateCoordinator : AbstractBLEDeviceCoordinator() { } } } + + override fun getDeviceKind(device: GBDevice): DeviceCoordinator.DeviceKind { + return DeviceCoordinator.DeviceKind.CHEST_STRAP + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/generic_scale/GenericWeightScaleCoordinator.kt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/generic_scale/GenericWeightScaleCoordinator.kt index ef1021473d..3e49f1bef5 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/generic_scale/GenericWeightScaleCoordinator.kt +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/generic_scale/GenericWeightScaleCoordinator.kt @@ -21,6 +21,7 @@ import de.greenrobot.dao.Property import nodomain.freeyourgadget.gadgetbridge.R import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCardAction +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator import nodomain.freeyourgadget.gadgetbridge.devices.GenericWeightSampleProvider import nodomain.freeyourgadget.gadgetbridge.devices.TimeSampleProvider import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession @@ -110,4 +111,8 @@ class GenericWeightScaleCoordinator : AbstractBLEDeviceCoordinator() { override fun supportsSpeedzones(device: GBDevice): Boolean { return false } + + override fun getDeviceKind(device: GBDevice): DeviceCoordinator.DeviceKind { + return DeviceCoordinator.DeviceKind.SCALE + } } \ No newline at end of file diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/gree/GreeAcCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/gree/GreeAcCoordinator.java index 6ab0956f26..cd36b01ad9 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/gree/GreeAcCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/gree/GreeAcCoordinator.java @@ -7,11 +7,9 @@ import androidx.annotation.Nullable; import java.util.regex.Pattern; -import nodomain.freeyourgadget.gadgetbridge.GBException; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; -import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; -import nodomain.freeyourgadget.gadgetbridge.entities.Device; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.gree.GreeAcSupport; @@ -60,4 +58,9 @@ public class GreeAcCoordinator extends AbstractBLEDeviceCoordinator { public Class getPairingActivity() { return GreeAcPairingActivity.class; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/EXRIZUK8Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/EXRIZUK8Coordinator.java index d036eee751..a6c297c158 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/EXRIZUK8Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/EXRIZUK8Coordinator.java @@ -54,4 +54,9 @@ public class EXRIZUK8Coordinator extends HPlusCoordinator { public Class getDeviceSupportClass(final GBDevice device) { return EXRIZUK8Support.class; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/HPlusCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/HPlusCoordinator.java index 4fb35d6e83..209c442026 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/HPlusCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/HPlusCoordinator.java @@ -22,6 +22,8 @@ import android.bluetooth.le.ScanFilter; import android.content.SharedPreferences; import android.os.ParcelUuid; +import androidx.annotation.NonNull; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -32,8 +34,6 @@ import java.util.Locale; import java.util.Map; import java.util.regex.Pattern; -import androidx.annotation.NonNull; - import de.greenrobot.dao.AbstractDao; import de.greenrobot.dao.Property; import nodomain.freeyourgadget.gadgetbridge.GBApplication; @@ -264,4 +264,9 @@ public class HPlusCoordinator extends AbstractBLEDeviceCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_hplus; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/Q8Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/Q8Coordinator.java index fa72d30e7b..e76288d337 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/Q8Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/Q8Coordinator.java @@ -54,4 +54,9 @@ public class Q8Coordinator extends HPlusCoordinator { public Class getDeviceSupportClass(final GBDevice device) { return Q8Support.class; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitband5/AmazfitBand5Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitband5/AmazfitBand5Coordinator.java index ed58a7b885..5465482232 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitband5/AmazfitBand5Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitband5/AmazfitBand5Coordinator.java @@ -28,6 +28,7 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiCoordinator; @@ -180,4 +181,9 @@ public class AmazfitBand5Coordinator extends HuamiCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_miband2; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitcor/AmazfitCorCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitcor/AmazfitCorCoordinator.java index 88e01452a5..dd0ed306d9 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitcor/AmazfitCorCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitcor/AmazfitCorCoordinator.java @@ -28,6 +28,7 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; @@ -144,4 +145,9 @@ public class AmazfitCorCoordinator extends HuamiCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_default; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitcor2/AmazfitCor2Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitcor2/AmazfitCor2Coordinator.java index 6fe20376ba..dea88aa989 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitcor2/AmazfitCor2Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitcor2/AmazfitCor2Coordinator.java @@ -144,4 +144,9 @@ public class AmazfitCor2Coordinator extends HuamiCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_default; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitx/AmazfitXCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitx/AmazfitXCoordinator.java index f4c10152b4..19f53c8913 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitx/AmazfitXCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitx/AmazfitXCoordinator.java @@ -28,6 +28,7 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiCoordinator; @@ -143,4 +144,9 @@ public class AmazfitXCoordinator extends HuamiCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_miband2; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband2/MiBand2Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband2/MiBand2Coordinator.java index 058ee28717..a53dcacf92 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband2/MiBand2Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband2/MiBand2Coordinator.java @@ -30,6 +30,7 @@ import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiCoordinator; @@ -133,4 +134,9 @@ public class MiBand2Coordinator extends HuamiCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_miband2; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband2/MiBand2HRXCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband2/MiBand2HRXCoordinator.java index 8131c46651..efa71a7528 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband2/MiBand2HRXCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband2/MiBand2HRXCoordinator.java @@ -27,6 +27,7 @@ import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandSettingsCustomizer; @@ -114,4 +115,9 @@ public class MiBand2HRXCoordinator extends HuamiCoordinator { public int getDeviceNameResource() { return R.string.devicetype_miband2_hrx; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband3/MiBand3Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband3/MiBand3Coordinator.java index 217b16cbe1..e54a45c739 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband3/MiBand3Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband3/MiBand3Coordinator.java @@ -167,4 +167,9 @@ public class MiBand3Coordinator extends HuamiCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_miband2; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband4/MiBand4Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband4/MiBand4Coordinator.java index ef3ef69fa6..fe92e7e6bf 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband4/MiBand4Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband4/MiBand4Coordinator.java @@ -177,4 +177,9 @@ public class MiBand4Coordinator extends HuamiCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_miband2; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband5/MiBand5Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband5/MiBand5Coordinator.java index c2c0fa21fe..815dc76b58 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband5/MiBand5Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband5/MiBand5Coordinator.java @@ -196,4 +196,9 @@ public class MiBand5Coordinator extends HuamiCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_miband2; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband6/MiBand6Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband6/MiBand6Coordinator.java index 54b9542cd2..096fd5e0a2 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband6/MiBand6Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband6/MiBand6Coordinator.java @@ -218,4 +218,9 @@ public class MiBand6Coordinator extends HuamiCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_miband6; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/rings/AmazfitHelioRingCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/rings/AmazfitHelioRingCoordinator.java index c6e0d1d7ed..0540558a8e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/rings/AmazfitHelioRingCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/rings/AmazfitHelioRingCoordinator.java @@ -16,12 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.rings; +import androidx.annotation.NonNull; + import java.util.Collections; import java.util.List; import java.util.Set; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.ZeppOsCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class AmazfitHelioRingCoordinator extends ZeppOsCoordinator { @Override @@ -48,4 +51,9 @@ public class AmazfitHelioRingCoordinator extends ZeppOsCoordinator { public boolean hasDisplay() { return false; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.RING; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/straps/AmazfitHelioStrapCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/straps/AmazfitHelioStrapCoordinator.java index 771021275a..24adbea0bf 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/straps/AmazfitHelioStrapCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/straps/AmazfitHelioStrapCoordinator.java @@ -16,12 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.straps; +import androidx.annotation.NonNull; + import java.util.Collections; import java.util.List; import java.util.Set; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.ZeppOsCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class AmazfitHelioStrapCoordinator extends ZeppOsCoordinator { @Override @@ -48,4 +51,9 @@ public class AmazfitHelioStrapCoordinator extends ZeppOsCoordinator { public boolean hasDisplay() { return false; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/watches/AmazfitBand7Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/watches/AmazfitBand7Coordinator.java index 25f2ab57ac..5e3b95b280 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/watches/AmazfitBand7Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/watches/AmazfitBand7Coordinator.java @@ -16,6 +16,8 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.watches; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.Collections; import java.util.HashSet; @@ -61,4 +63,9 @@ public class AmazfitBand7Coordinator extends ZeppOsCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_default; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/watches/MiBand7Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/watches/MiBand7Coordinator.java index d32660841a..fa227f5737 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/watches/MiBand7Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/zeppos/watches/MiBand7Coordinator.java @@ -16,6 +16,8 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.watches; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.Collections; import java.util.HashMap; @@ -80,4 +82,9 @@ public class MiBand7Coordinator extends ZeppOsCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_miband6; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/freebuds5i/HuaweiFreebuds5iCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/freebuds5i/HuaweiFreebuds5iCoordinator.java index f843d40a36..43060a387e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/freebuds5i/HuaweiFreebuds5iCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/freebuds5i/HuaweiFreebuds5iCoordinator.java @@ -25,6 +25,7 @@ import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiFreebudsCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; @@ -62,4 +63,9 @@ public class HuaweiFreebuds5iCoordinator extends HuaweiFreebudsCoordinator { public int getDeviceNameResource() { return R.string.devicetype_huawei_freebuds_5i; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/freebuds6/HuaweiFreebuds6Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/freebuds6/HuaweiFreebuds6Coordinator.java index 606b8b33af..72b67ddd2a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/freebuds6/HuaweiFreebuds6Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/freebuds6/HuaweiFreebuds6Coordinator.java @@ -25,6 +25,7 @@ import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiFreebudsCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; @@ -62,4 +63,9 @@ public class HuaweiFreebuds6Coordinator extends HuaweiFreebudsCoordinator { public int getDeviceNameResource() { return R.string.devicetype_huawei_freebuds_6; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/freebudspro/HuaweiFreebudsProCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/freebudspro/HuaweiFreebudsProCoordinator.java index c4a1e3fed9..deaf1ba612 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/freebudspro/HuaweiFreebudsProCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/freebudspro/HuaweiFreebudsProCoordinator.java @@ -25,6 +25,7 @@ import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiFreebudsCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; @@ -64,4 +65,9 @@ public class HuaweiFreebudsProCoordinator extends HuaweiFreebudsCoordinator { public int getDeviceNameResource() { return R.string.devicetype_huawei_freebuds_pro; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband3/HonorBand3Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband3/HonorBand3Coordinator.java index 9a489cf6bb..5ba8aaf94c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband3/HonorBand3Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband3/HonorBand3Coordinator.java @@ -21,6 +21,7 @@ import androidx.annotation.NonNull; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; @@ -51,4 +52,9 @@ public class HonorBand3Coordinator extends HuaweiLECoordinator { public int getDeviceNameResource() { return R.string.devicetype_honor_band3; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband4/HonorBand4Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband4/HonorBand4Coordinator.java index 8c14725c7e..0a615af6f3 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband4/HonorBand4Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband4/HonorBand4Coordinator.java @@ -16,11 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.huawei.honorband4; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; public class HonorBand4Coordinator extends HuaweiLECoordinator { @@ -43,4 +47,9 @@ public class HonorBand4Coordinator extends HuaweiLECoordinator { public int getDeviceNameResource() { return R.string.devicetype_honor_band4; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband5/HonorBand5Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband5/HonorBand5Coordinator.java index 0251850be6..c161d255e5 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband5/HonorBand5Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband5/HonorBand5Coordinator.java @@ -16,11 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.huawei.honorband5; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; public class HonorBand5Coordinator extends HuaweiLECoordinator { @@ -43,4 +47,9 @@ public class HonorBand5Coordinator extends HuaweiLECoordinator { public int getDeviceNameResource() { return R.string.devicetype_honor_band5; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband6/HonorBand6Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband6/HonorBand6Coordinator.java index 3a373450d3..0270830ed0 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband6/HonorBand6Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband6/HonorBand6Coordinator.java @@ -16,11 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.huawei.honorband6; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; public class HonorBand6Coordinator extends HuaweiLECoordinator { @@ -43,4 +47,9 @@ public class HonorBand6Coordinator extends HuaweiLECoordinator { public int getDeviceNameResource() { return R.string.devicetype_honor_band6; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband7/HonorBand7Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband7/HonorBand7Coordinator.java index 97db95d872..daec5982f5 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband7/HonorBand7Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/honorband7/HonorBand7Coordinator.java @@ -16,11 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.huawei.honorband7; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; public class HonorBand7Coordinator extends HuaweiLECoordinator { @@ -43,4 +47,9 @@ public class HonorBand7Coordinator extends HuaweiLECoordinator { public int getDeviceNameResource() { return R.string.devicetype_honor_band7; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband10/HuaweiBand10Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband10/HuaweiBand10Coordinator.java index e371042eb3..e4a0f52ba7 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband10/HuaweiBand10Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband10/HuaweiBand10Coordinator.java @@ -16,11 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband10; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; public class HuaweiBand10Coordinator extends HuaweiLECoordinator { @@ -43,4 +47,9 @@ public class HuaweiBand10Coordinator extends HuaweiLECoordinator { public int getDeviceNameResource() { return R.string.devicetype_huawei_band10; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband2pro/HuaweiBand2ProCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband2pro/HuaweiBand2ProCoordinator.java index 2ba218ea29..e84655e21e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband2pro/HuaweiBand2ProCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband2pro/HuaweiBand2ProCoordinator.java @@ -16,11 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband2pro; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; public class HuaweiBand2ProCoordinator extends HuaweiLECoordinator { @@ -38,4 +42,9 @@ public class HuaweiBand2ProCoordinator extends HuaweiLECoordinator { public int getDeviceNameResource() { return R.string.devicetype_huawei_band2pro; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband3pro/HuaweiBand3ProCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband3pro/HuaweiBand3ProCoordinator.java index ed5d0676fb..dacd40e948 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband3pro/HuaweiBand3ProCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband3pro/HuaweiBand3ProCoordinator.java @@ -16,11 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband3pro; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; public class HuaweiBand3ProCoordinator extends HuaweiLECoordinator { @@ -38,4 +42,9 @@ public class HuaweiBand3ProCoordinator extends HuaweiLECoordinator { public int getDeviceNameResource() { return R.string.devicetype_huawei_band3pro; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband4pro/HuaweiBand4ProCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband4pro/HuaweiBand4ProCoordinator.java index edfd06b1db..df621ebacc 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband4pro/HuaweiBand4ProCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband4pro/HuaweiBand4ProCoordinator.java @@ -16,11 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband4pro; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; public class HuaweiBand4ProCoordinator extends HuaweiLECoordinator { @@ -38,4 +42,9 @@ public class HuaweiBand4ProCoordinator extends HuaweiLECoordinator { public int getDeviceNameResource() { return R.string.devicetype_huawei_band4pro; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband6/HuaweiBand6Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband6/HuaweiBand6Coordinator.java index c74acf51fe..fd48e7873e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband6/HuaweiBand6Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband6/HuaweiBand6Coordinator.java @@ -16,11 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband6; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; public class HuaweiBand6Coordinator extends HuaweiLECoordinator { @@ -38,4 +42,9 @@ public class HuaweiBand6Coordinator extends HuaweiLECoordinator { public int getDeviceNameResource() { return R.string.devicetype_huawei_band6; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband7/HuaweiBand7Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband7/HuaweiBand7Coordinator.java index e29347ae3d..8ea7cd6cd4 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband7/HuaweiBand7Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband7/HuaweiBand7Coordinator.java @@ -16,11 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband7; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; public class HuaweiBand7Coordinator extends HuaweiLECoordinator { @@ -38,4 +42,9 @@ public class HuaweiBand7Coordinator extends HuaweiLECoordinator { public int getDeviceNameResource() { return R.string.devicetype_huawei_band7; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband8/HuaweiBand8Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband8/HuaweiBand8Coordinator.java index 6b3a57822d..62bed35b2f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband8/HuaweiBand8Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband8/HuaweiBand8Coordinator.java @@ -16,11 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband8; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; public class HuaweiBand8Coordinator extends HuaweiLECoordinator { @@ -38,4 +42,9 @@ public class HuaweiBand8Coordinator extends HuaweiLECoordinator { public int getDeviceNameResource() { return R.string.devicetype_huawei_band8; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband9/HuaweiBand9Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband9/HuaweiBand9Coordinator.java index cfab0e382d..5766573640 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband9/HuaweiBand9Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweiband9/HuaweiBand9Coordinator.java @@ -16,11 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband9; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; public class HuaweiBand9Coordinator extends HuaweiLECoordinator { @@ -43,4 +47,9 @@ public class HuaweiBand9Coordinator extends HuaweiLECoordinator { public int getDeviceNameResource() { return R.string.devicetype_huawei_band9; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweibandaw70/HuaweiBandAw70Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweibandaw70/HuaweiBandAw70Coordinator.java index f8fb57ebac..08dac731d6 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweibandaw70/HuaweiBandAw70Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweibandaw70/HuaweiBandAw70Coordinator.java @@ -16,11 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweibandaw70; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; public class HuaweiBandAw70Coordinator extends HuaweiLECoordinator { @@ -43,4 +47,9 @@ public class HuaweiBandAw70Coordinator extends HuaweiLECoordinator { public HuaweiDeviceType getHuaweiType() { return HuaweiDeviceType.AW; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweitalkbandb6/HuaweiTalkBandB6Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweitalkbandb6/HuaweiTalkBandB6Coordinator.java index dbd3ccef84..2743aa96e0 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweitalkbandb6/HuaweiTalkBandB6Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/huaweitalkbandb6/HuaweiTalkBandB6Coordinator.java @@ -16,11 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweitalkbandb6; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiBRCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; public class HuaweiTalkBandB6Coordinator extends HuaweiBRCoordinator { @@ -43,4 +47,9 @@ public class HuaweiTalkBandB6Coordinator extends HuaweiBRCoordinator { public int getDeviceNameResource() { return R.string.devicetype_huawei_talk_band_b6; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/id115/ID115Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/id115/ID115Coordinator.java index a02d794061..c7adcadf54 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/id115/ID115Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/id115/ID115Coordinator.java @@ -31,6 +31,7 @@ import de.greenrobot.dao.AbstractDao; import de.greenrobot.dao.Property; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; import nodomain.freeyourgadget.gadgetbridge.entities.ID115ActivitySampleDao; @@ -100,6 +101,11 @@ public class ID115Coordinator extends AbstractBLEDeviceCoordinator { return R.string.devicetype_id115; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } + @Override public int getDefaultIconResource() { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/idasen/IdasenCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/idasen/IdasenCoordinator.java index a16e783769..549b12b366 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/idasen/IdasenCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/idasen/IdasenCoordinator.java @@ -9,6 +9,7 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.idasen.IdasenDeviceSupport; @@ -60,4 +61,9 @@ public class IdasenCoordinator extends AbstractBLEDeviceCoordinator { R.xml.devicesettings_idasen }; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/itag/ITagCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/itag/ITagCoordinator.java index e355527ec4..34fd22e566 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/itag/ITagCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/itag/ITagCoordinator.java @@ -27,6 +27,7 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.itag.ITagSupport; @@ -87,4 +88,9 @@ public class ITagCoordinator extends AbstractBLEDeviceCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_itag; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/jyou/BFH16DeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/jyou/BFH16DeviceCoordinator.java index 7da911e157..4df72c028d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/jyou/BFH16DeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/jyou/BFH16DeviceCoordinator.java @@ -29,6 +29,7 @@ import androidx.annotation.NonNull; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.jyou.BFH16DeviceSupport; @@ -93,4 +94,9 @@ public class BFH16DeviceCoordinator extends AbstractBLEDeviceCoordinator { public int getDeviceNameResource() { return R.string.devicetype_bfh16; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/jyou/TeclastH30/TeclastH30Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/jyou/TeclastH30/TeclastH30Coordinator.java index 73ec13ae04..905e0b364b 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/jyou/TeclastH30/TeclastH30Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/jyou/TeclastH30/TeclastH30Coordinator.java @@ -28,6 +28,7 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.jyou.JYouConstants; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; @@ -98,6 +99,11 @@ public class TeclastH30Coordinator extends AbstractBLEDeviceCoordinator { return R.string.devicetype_teclast_h30; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } + @Override public int getDefaultIconResource() { return R.drawable.ic_device_h30_h10; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/jyou/y5/Y5Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/jyou/y5/Y5Coordinator.java index 60d292c064..7692bb8a11 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/jyou/y5/Y5Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/jyou/y5/Y5Coordinator.java @@ -27,6 +27,7 @@ import de.greenrobot.dao.AbstractDao; import de.greenrobot.dao.Property; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import nodomain.freeyourgadget.gadgetbridge.devices.jyou.JYouSampleProvider; import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; @@ -109,4 +110,9 @@ public class Y5Coordinator extends AbstractBLEDeviceCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_h30_h10; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lefun/BohemicSmartBraceletDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lefun/BohemicSmartBraceletDeviceCoordinator.java index 9ca75a976d..f1f96784fc 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lefun/BohemicSmartBraceletDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lefun/BohemicSmartBraceletDeviceCoordinator.java @@ -21,6 +21,7 @@ import androidx.annotation.NonNull; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class BohemicSmartBraceletDeviceCoordinator extends LefunDeviceCoordinator { @@ -53,4 +54,9 @@ public class BohemicSmartBraceletDeviceCoordinator extends LefunDeviceCoordinato public int getDeviceNameResource() { return R.string.devicetype_bohemic_smart_bracelet; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lefun/LefunDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lefun/LefunDeviceCoordinator.java index 6302cbdfe1..4709dd85fa 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lefun/LefunDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lefun/LefunDeviceCoordinator.java @@ -23,6 +23,7 @@ import de.greenrobot.dao.AbstractDao; import de.greenrobot.dao.Property; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; import nodomain.freeyourgadget.gadgetbridge.entities.LefunActivitySampleDao; @@ -164,4 +165,9 @@ public class LefunDeviceCoordinator extends AbstractBLEDeviceCoordinator { map.put(session.getLefunSleepSampleDao(), LefunSleepSampleDao.Properties.DeviceId); return map; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lefun/VivitarHrBpMonitorActivityTrackerCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lefun/VivitarHrBpMonitorActivityTrackerCoordinator.java index 56da03488c..3ab898a124 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lefun/VivitarHrBpMonitorActivityTrackerCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lefun/VivitarHrBpMonitorActivityTrackerCoordinator.java @@ -21,6 +21,7 @@ import androidx.annotation.NonNull; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class VivitarHrBpMonitorActivityTrackerCoordinator extends LefunDeviceCoordinator { @@ -52,4 +53,9 @@ public class VivitarHrBpMonitorActivityTrackerCoordinator extends LefunDeviceCoo public int getDeviceNameResource() { return R.string.devicetype_vivitar_hr_bp_monitor_activity_tracker; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/liveview/LiveviewCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/liveview/LiveviewCoordinator.java index 7191480071..993238f05d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/liveview/LiveviewCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/liveview/LiveviewCoordinator.java @@ -23,6 +23,7 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLClassicDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.liveview.LiveviewSupport; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/makibeshr3/MakibesHR3Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/makibeshr3/MakibesHR3Coordinator.java index b3ef9bda09..ae4ef79b79 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/makibeshr3/MakibesHR3Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/makibeshr3/MakibesHR3Coordinator.java @@ -36,6 +36,7 @@ import de.greenrobot.dao.Property; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; import nodomain.freeyourgadget.gadgetbridge.entities.MakibesHR3ActivitySampleDao; @@ -202,4 +203,9 @@ public class MakibesHR3Coordinator extends AbstractBLEDeviceCoordinator { public int getDeviceNameResource() { return R.string.devicetype_makibes_hr3; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/marstek/MarstekB2500DeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/marstek/MarstekB2500DeviceCoordinator.java index 260257a335..caa5758d82 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/marstek/MarstekB2500DeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/marstek/MarstekB2500DeviceCoordinator.java @@ -25,6 +25,7 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.marstek.MarstekB2500DeviceSupport; @@ -85,4 +86,9 @@ public class MarstekB2500DeviceCoordinator extends AbstractBLEDeviceCoordinator public boolean isExperimental() { return true; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandCoordinator.java index 2c125ce02e..7f49319a7f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandCoordinator.java @@ -48,6 +48,7 @@ import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpec import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import nodomain.freeyourgadget.gadgetbridge.entities.AbstractActivitySample; @@ -299,4 +300,9 @@ public class MiBandCoordinator extends AbstractBLEDeviceCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_miband; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/MijiaLywsd02Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/MijiaLywsd02Coordinator.java index 1a3bfe612e..3061ca1f0b 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/MijiaLywsd02Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/MijiaLywsd02Coordinator.java @@ -16,9 +16,13 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.mijia_lywsd; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class MijiaLywsd02Coordinator extends AbstractMijiaLywsdCoordinator { @Override @@ -40,4 +44,9 @@ public class MijiaLywsd02Coordinator extends AbstractMijiaLywsdCoordinator { public boolean supportsSetTime() { return true; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/MijiaLywsd03Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/MijiaLywsd03Coordinator.java index 8204a5aa68..dae425d578 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/MijiaLywsd03Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/MijiaLywsd03Coordinator.java @@ -16,9 +16,13 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.mijia_lywsd; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class MijiaLywsd03Coordinator extends AbstractMijiaLywsdCoordinator { @Override @@ -40,4 +44,9 @@ public class MijiaLywsd03Coordinator extends AbstractMijiaLywsdCoordinator { public boolean supportsSetTime() { return false; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/MijiaMhoC303Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/MijiaMhoC303Coordinator.java index c0a459ea19..ab7fcef058 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/MijiaMhoC303Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/MijiaMhoC303Coordinator.java @@ -16,9 +16,13 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.mijia_lywsd; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class MijiaMhoC303Coordinator extends AbstractMijiaLywsdCoordinator { @Override @@ -40,4 +44,9 @@ public class MijiaMhoC303Coordinator extends AbstractMijiaLywsdCoordinator { public boolean supportsSetTime() { return true; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/MijiaXmwsdj04Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/MijiaXmwsdj04Coordinator.java index dd03b61227..c1947a1f5c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/MijiaXmwsdj04Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/MijiaXmwsdj04Coordinator.java @@ -16,9 +16,13 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.mijia_lywsd; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class MijiaXmwsdj04Coordinator extends AbstractMijiaLywsdCoordinator { @Override @@ -40,4 +44,9 @@ public class MijiaXmwsdj04Coordinator extends AbstractMijiaLywsdCoordinator { public boolean supportsSetTime() { return false; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miscale/MiCompositionScaleCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miscale/MiCompositionScaleCoordinator.java index 12d1632902..d211d4cc66 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miscale/MiCompositionScaleCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miscale/MiCompositionScaleCoordinator.java @@ -134,4 +134,9 @@ public class MiCompositionScaleCoordinator extends AbstractBLEDeviceCoordinator public int getDefaultIconResource() { return R.drawable.ic_device_miscale; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.SCALE; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miscale/MiSmartScaleCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miscale/MiSmartScaleCoordinator.java index e4db517d7f..ceba936e5c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miscale/MiSmartScaleCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miscale/MiSmartScaleCoordinator.java @@ -130,4 +130,9 @@ public class MiSmartScaleCoordinator extends AbstractBLEDeviceCoordinator { public EnumSet getInitialFlags() { return EnumSet.noneOf(ServiceDeviceSupport.Flags.class); } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.SCALE; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/moondrop/MoondropSpaceTravelCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/moondrop/MoondropSpaceTravelCoordinator.java index fd30c7a17a..206957a366 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/moondrop/MoondropSpaceTravelCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/moondrop/MoondropSpaceTravelCoordinator.java @@ -24,6 +24,7 @@ import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLClassicDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.moondrop.MoondropSpaceTravelDeviceSupport; @@ -76,4 +77,9 @@ public class MoondropSpaceTravelCoordinator extends AbstractBLClassicDeviceCoord public Class getDeviceSupportClass(final GBDevice device) { return MoondropSpaceTravelDeviceSupport.class; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/no1f1/No1F1Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/no1f1/No1F1Coordinator.java index 8d91201116..0eca1c42f3 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/no1f1/No1F1Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/no1f1/No1F1Coordinator.java @@ -33,6 +33,7 @@ import de.greenrobot.dao.AbstractDao; import de.greenrobot.dao.Property; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; import nodomain.freeyourgadget.gadgetbridge.entities.No1F1ActivitySampleDao; @@ -119,4 +120,9 @@ public class No1F1Coordinator extends AbstractBLEDeviceCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_hplus; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/CmfBudsPro2Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/CmfBudsPro2Coordinator.java index 6f2f3e4d9b..5bc1e2e60d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/CmfBudsPro2Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/CmfBudsPro2Coordinator.java @@ -16,9 +16,13 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.nothing; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class CmfBudsPro2Coordinator extends AbstractEarCoordinator { @Override @@ -31,6 +35,11 @@ public class CmfBudsPro2Coordinator extends AbstractEarCoordinator { return R.string.devicetype_nothing_cmf_buds_pro_2; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } + @Override public boolean incrementCounter() { return false; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/Ear1Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/Ear1Coordinator.java index 6707d891cf..ac40f58b0c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/Ear1Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/Ear1Coordinator.java @@ -17,9 +17,13 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.nothing; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class Ear1Coordinator extends AbstractEarCoordinator { @Override @@ -32,6 +36,11 @@ public class Ear1Coordinator extends AbstractEarCoordinator { return R.string.devicetype_nothingear1; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } + @Override public boolean incrementCounter() { return false; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/Ear2Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/Ear2Coordinator.java index e5b1a0e602..4b4616f599 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/Ear2Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/Ear2Coordinator.java @@ -16,9 +16,13 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.nothing; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class Ear2Coordinator extends AbstractEarCoordinator { @Override @@ -31,6 +35,11 @@ public class Ear2Coordinator extends AbstractEarCoordinator { return R.string.devicetype_nothingear2; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } + @Override public boolean incrementCounter() { return false; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/EarACoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/EarACoordinator.java index 6bc59099f0..aadb145558 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/EarACoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/EarACoordinator.java @@ -16,9 +16,13 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.nothing; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class EarACoordinator extends AbstractEarCoordinator { @Override @@ -31,6 +35,11 @@ public class EarACoordinator extends AbstractEarCoordinator { return R.string.devicetype_nothing_ear_a; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } + @Override public boolean incrementCounter() { return true; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/EarStickCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/EarStickCoordinator.java index 1200ec4044..fb52bcfdd2 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/EarStickCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nothing/EarStickCoordinator.java @@ -16,9 +16,13 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.nothing; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class EarStickCoordinator extends AbstractEarCoordinator { @Override @@ -31,6 +35,11 @@ public class EarStickCoordinator extends AbstractEarCoordinator { return R.string.devicetype_nothingearstick; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } + @Override public boolean incrementCounter() { return true; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nut/NutCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nut/NutCoordinator.java index c6727fcf13..e1a1b6147e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nut/NutCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/nut/NutCoordinator.java @@ -27,6 +27,7 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.nut.NutSupport; @@ -83,4 +84,9 @@ public class NutCoordinator extends AbstractBLEDeviceCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_itag; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/onemoresonoflow/OneMoreSonoFlowCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/onemoresonoflow/OneMoreSonoFlowCoordinator.java index 19280b0f8a..06e962cdcf 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/onemoresonoflow/OneMoreSonoFlowCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/onemoresonoflow/OneMoreSonoFlowCoordinator.java @@ -8,6 +8,7 @@ import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLClassicDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; @@ -80,4 +81,9 @@ public class OneMoreSonoFlowCoordinator extends AbstractBLClassicDeviceCoordinat public int getDefaultIconResource() { return R.drawable.ic_device_headphones; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/oppo/OppoEncoAir2Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/oppo/OppoEncoAir2Coordinator.java index 698c32813a..6a6015421a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/oppo/OppoEncoAir2Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/oppo/OppoEncoAir2Coordinator.java @@ -16,9 +16,13 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.oppo; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class OppoEncoAir2Coordinator extends OppoEncoAirCoordinator { @Override @@ -30,4 +34,9 @@ public class OppoEncoAir2Coordinator extends OppoEncoAirCoordinator { public int getDeviceNameResource() { return R.string.devicetype_oppo_enco_air2; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/oppo/OppoEncoAirCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/oppo/OppoEncoAirCoordinator.java index 0f16b80dca..ec312b16f7 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/oppo/OppoEncoAirCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/oppo/OppoEncoAirCoordinator.java @@ -27,6 +27,7 @@ import java.util.Map; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.devices.oppo.commands.TouchConfigSide; import nodomain.freeyourgadget.gadgetbridge.service.devices.oppo.commands.TouchConfigType; @@ -43,6 +44,11 @@ public class OppoEncoAirCoordinator extends OppoHeadphonesCoordinator { return R.string.devicetype_oppo_enco_air; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } + @Override public boolean supportsFindDevice(@NonNull GBDevice device) { return true; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/oppo/OppoEncoBuds2Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/oppo/OppoEncoBuds2Coordinator.java index a7da412729..6924c21ae6 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/oppo/OppoEncoBuds2Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/oppo/OppoEncoBuds2Coordinator.java @@ -18,6 +18,8 @@ package nodomain.freeyourgadget.gadgetbridge.devices.oppo; import android.util.Pair; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.LinkedHashMap; import java.util.List; @@ -25,6 +27,8 @@ import java.util.Map; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.devices.oppo.commands.TouchConfigSide; import nodomain.freeyourgadget.gadgetbridge.service.devices.oppo.commands.TouchConfigType; import nodomain.freeyourgadget.gadgetbridge.service.devices.oppo.commands.TouchConfigValue; @@ -45,6 +49,11 @@ public class OppoEncoBuds2Coordinator extends OppoHeadphonesCoordinator { return R.string.devicetype_oppo_enco_buds2; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } + @Override protected Map, List> getTouchOptions() { return new LinkedHashMap, List>() {{ diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pixel/PixelBudsACoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pixel/PixelBudsACoordinator.java index 3e3b3ee4ae..91dd19c998 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pixel/PixelBudsACoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pixel/PixelBudsACoordinator.java @@ -6,6 +6,7 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLClassicDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; @@ -50,4 +51,9 @@ public class PixelBudsACoordinator extends AbstractBLClassicDeviceCoordinator { public Class getDeviceSupportClass(final GBDevice device) { return PixelBudsADeviceSupport.class; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } \ No newline at end of file diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/polar/PolarH10DeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/polar/PolarH10DeviceCoordinator.java index c364a5679c..b4843f21fd 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/polar/PolarH10DeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/polar/PolarH10DeviceCoordinator.java @@ -1,8 +1,11 @@ package nodomain.freeyourgadget.gadgetbridge.devices.polar; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class PolarH10DeviceCoordinator extends AbstractPolarDeviceCoordinator { @Override @@ -14,4 +17,9 @@ public class PolarH10DeviceCoordinator extends AbstractPolarDeviceCoordinator { protected Pattern getSupportedDeviceName() { return Pattern.compile("^Polar H10.*"); } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.CHEST_STRAP; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/polar/PolarH9DeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/polar/PolarH9DeviceCoordinator.java index f5a021c9ec..1087499b0a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/polar/PolarH9DeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/polar/PolarH9DeviceCoordinator.java @@ -1,8 +1,11 @@ package nodomain.freeyourgadget.gadgetbridge.devices.polar; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class PolarH9DeviceCoordinator extends AbstractPolarDeviceCoordinator { @Override @@ -14,4 +17,9 @@ public class PolarH9DeviceCoordinator extends AbstractPolarDeviceCoordinator { protected Pattern getSupportedDeviceName() { return Pattern.compile("Polar H9( \\w+)?$"); } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.CHEST_STRAP; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qc35/QC35Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qc35/QC35Coordinator.java index 2eb56c918a..f044734bad 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qc35/QC35Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qc35/QC35Coordinator.java @@ -22,6 +22,7 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLClassicDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; @@ -69,6 +70,11 @@ public class QC35Coordinator extends AbstractBLClassicDeviceCoordinator { }; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } + @Override public int getDefaultIconResource() { return R.drawable.ic_device_headphones; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/realme/RealmeBudsAir5ProCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/realme/RealmeBudsAir5ProCoordinator.java index e4d6596c54..b069a00f03 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/realme/RealmeBudsAir5ProCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/realme/RealmeBudsAir5ProCoordinator.java @@ -18,6 +18,8 @@ package nodomain.freeyourgadget.gadgetbridge.devices.realme; import android.util.Pair; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.LinkedHashMap; import java.util.List; @@ -31,7 +33,7 @@ import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.devices.oppo.commands.TouchConfigSide; import nodomain.freeyourgadget.gadgetbridge.service.devices.oppo.commands.TouchConfigType; import nodomain.freeyourgadget.gadgetbridge.service.devices.oppo.commands.TouchConfigValue; - +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; public class RealmeBudsAir5ProCoordinator extends OppoHeadphonesCoordinator { @@ -84,4 +86,8 @@ public class RealmeBudsAir5ProCoordinator extends OppoHeadphonesCoordinator { }}; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } \ No newline at end of file diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/realme/RealmeBudsT100Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/realme/RealmeBudsT100Coordinator.java index 8f6d648695..b2b452c3ca 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/realme/RealmeBudsT100Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/realme/RealmeBudsT100Coordinator.java @@ -18,6 +18,8 @@ package nodomain.freeyourgadget.gadgetbridge.devices.realme; import android.util.Pair; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.LinkedHashMap; import java.util.List; @@ -26,9 +28,11 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.oppo.OppoHeadphonesCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.devices.oppo.commands.TouchConfigSide; import nodomain.freeyourgadget.gadgetbridge.service.devices.oppo.commands.TouchConfigType; import nodomain.freeyourgadget.gadgetbridge.service.devices.oppo.commands.TouchConfigValue; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; public class RealmeBudsT100Coordinator extends OppoHeadphonesCoordinator { @Override @@ -70,4 +74,9 @@ public class RealmeBudsT100Coordinator extends OppoHeadphonesCoordinator { )); }}; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/realme/RealmeBudsT110Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/realme/RealmeBudsT110Coordinator.java index 9ffea1b397..7fe142069f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/realme/RealmeBudsT110Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/realme/RealmeBudsT110Coordinator.java @@ -18,6 +18,8 @@ package nodomain.freeyourgadget.gadgetbridge.devices.realme; import android.util.Pair; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.LinkedHashMap; import java.util.List; @@ -26,9 +28,11 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.oppo.OppoHeadphonesCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.devices.oppo.commands.TouchConfigSide; import nodomain.freeyourgadget.gadgetbridge.service.devices.oppo.commands.TouchConfigType; import nodomain.freeyourgadget.gadgetbridge.service.devices.oppo.commands.TouchConfigValue; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; public class RealmeBudsT110Coordinator extends OppoHeadphonesCoordinator { @Override @@ -70,4 +74,9 @@ public class RealmeBudsT110Coordinator extends OppoHeadphonesCoordinator { )); }}; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/realme/RealmeBudsT300Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/realme/RealmeBudsT300Coordinator.java index dfd5943db2..cfd97eb533 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/realme/RealmeBudsT300Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/realme/RealmeBudsT300Coordinator.java @@ -18,6 +18,8 @@ package nodomain.freeyourgadget.gadgetbridge.devices.realme; import android.util.Pair; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.LinkedHashMap; import java.util.List; @@ -31,6 +33,7 @@ import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; import nodomain.freeyourgadget.gadgetbridge.service.devices.oppo.commands.TouchConfigSide; import nodomain.freeyourgadget.gadgetbridge.service.devices.oppo.commands.TouchConfigType; import nodomain.freeyourgadget.gadgetbridge.service.devices.oppo.commands.TouchConfigValue; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; public class RealmeBudsT300Coordinator extends OppoHeadphonesCoordinator { @Override @@ -85,4 +88,9 @@ public class RealmeBudsT300Coordinator extends OppoHeadphonesCoordinator { )); }}; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds3ProCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds3ProCoordinator.java index b7fd127cf8..3b91734c92 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds3ProCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds3ProCoordinator.java @@ -7,6 +7,7 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.redmibuds.RedmiBuds3ProDeviceSupport; @@ -41,4 +42,9 @@ public class RedmiBuds3ProCoordinator extends AbstractRedmiBudsCoordinator { public DeviceSpecificSettingsCustomizer getDeviceSpecificSettingsCustomizer(final GBDevice device) { return new RedmiBudsSettingsCustomizer(device); } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds4ActiveCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds4ActiveCoordinator.java index e295826629..780f1019c9 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds4ActiveCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds4ActiveCoordinator.java @@ -16,9 +16,13 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.redmibuds; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class RedmiBuds4ActiveCoordinator extends AbstractRedmiBudsCoordinator { @Override @@ -30,4 +34,9 @@ public class RedmiBuds4ActiveCoordinator extends AbstractRedmiBudsCoordinator { protected Pattern getSupportedDeviceName() { return Pattern.compile("Redmi Buds 4 Active"); } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds5ProCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds5ProCoordinator.java index 0ddb4ac517..f06382d86f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds5ProCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds5ProCoordinator.java @@ -16,12 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.redmibuds; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; public class RedmiBuds5ProCoordinator extends AbstractRedmiBudsCoordinator { @Override @@ -47,4 +50,9 @@ public class RedmiBuds5ProCoordinator extends AbstractRedmiBudsCoordinator { public DeviceSpecificSettingsCustomizer getDeviceSpecificSettingsCustomizer(final GBDevice device) { return new RedmiBudsSettingsCustomizer(device); } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds6ActiveCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds6ActiveCoordinator.java index 78317c15ed..526b6ac800 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds6ActiveCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds6ActiveCoordinator.java @@ -1,8 +1,12 @@ package nodomain.freeyourgadget.gadgetbridge.devices.redmibuds; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class RedmiBuds6ActiveCoordinator extends AbstractRedmiBudsCoordinator { @@ -16,4 +20,8 @@ public class RedmiBuds6ActiveCoordinator extends AbstractRedmiBudsCoordinator { return Pattern.compile("Redmi Buds 6 Active"); } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds6ProCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds6ProCoordinator.java index ba46f2576f..7925de4ff7 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds6ProCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/redmibuds/RedmiBuds6ProCoordinator.java @@ -16,11 +16,14 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.redmibuds; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class RedmiBuds6ProCoordinator extends AbstractRedmiBudsCoordinator { @@ -47,4 +50,9 @@ public class RedmiBuds6ProCoordinator extends AbstractRedmiBudsCoordinator { public DeviceSpecificSettingsCustomizer getDeviceSpecificSettingsCustomizer(final GBDevice device) { return new RedmiBudsSettingsCustomizer(device); } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/roidmi/Roidmi1Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/roidmi/Roidmi1Coordinator.java index a1462a6a33..63c5789039 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/roidmi/Roidmi1Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/roidmi/Roidmi1Coordinator.java @@ -22,6 +22,7 @@ import org.slf4j.LoggerFactory; import androidx.annotation.NonNull; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; @@ -58,6 +59,11 @@ public class Roidmi1Coordinator extends RoidmiCoordinator { return RoidmiSupport.class; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } + @Override public int getDeviceNameResource() { return R.string.devicetype_roidmi; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/roidmi/Roidmi3Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/roidmi/Roidmi3Coordinator.java index bb58c68b62..d7928f33d2 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/roidmi/Roidmi3Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/roidmi/Roidmi3Coordinator.java @@ -22,6 +22,7 @@ import org.slf4j.LoggerFactory; import androidx.annotation.NonNull; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; @@ -61,6 +62,11 @@ public class Roidmi3Coordinator extends RoidmiCoordinator { return RoidmiSupport.class; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } + @Override public int getDeviceNameResource() { return R.string.devicetype_roidmi3; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/scannable/ScannableDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/scannable/ScannableDeviceCoordinator.java index 6a8027f166..d156f90baa 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/scannable/ScannableDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/scannable/ScannableDeviceCoordinator.java @@ -4,6 +4,7 @@ import androidx.annotation.NonNull; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; @@ -52,4 +53,9 @@ public class ScannableDeviceCoordinator extends AbstractBLEDeviceCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_scannable; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/shokz/ShokzOpenSwimProCoordinator.kt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/shokz/ShokzOpenSwimProCoordinator.kt index 2097b56df7..bbfb2c6688 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/shokz/ShokzOpenSwimProCoordinator.kt +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/shokz/ShokzOpenSwimProCoordinator.kt @@ -1,6 +1,8 @@ package nodomain.freeyourgadget.gadgetbridge.devices.shokz import nodomain.freeyourgadget.gadgetbridge.R +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice import java.util.regex.Pattern class ShokzOpenSwimProCoordinator: ShokzCoordinator() { @@ -11,4 +13,8 @@ class ShokzOpenSwimProCoordinator: ShokzCoordinator() { override fun getDeviceNameResource(): Int { return R.string.devicetype_shokz_openswim_pro } + + override fun getDeviceKind(device: GBDevice): DeviceCoordinator.DeviceKind { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soflow/SoFlowCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soflow/SoFlowCoordinator.java index e556d1c6b5..f6b67f00f4 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soflow/SoFlowCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soflow/SoFlowCoordinator.java @@ -23,6 +23,7 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.soflow.SoFlowSupport; @@ -72,6 +73,10 @@ public class SoFlowCoordinator extends AbstractBLEDeviceCoordinator { return R.string.devicetype_soflow_s06; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } @Override public int getDefaultIconResource() { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyLinkBudsCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyLinkBudsCoordinator.java index 6f827611c5..03f3c0b90f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyLinkBudsCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyLinkBudsCoordinator.java @@ -16,14 +16,18 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.coordinators; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class SonyLinkBudsCoordinator extends SonyHeadphonesCoordinator { @Override @@ -66,4 +70,9 @@ public class SonyLinkBudsCoordinator extends SonyHeadphonesCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_galaxy_buds; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyLinkBudsSCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyLinkBudsSCoordinator.java index 314f05031c..98c73f8fc1 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyLinkBudsSCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyLinkBudsSCoordinator.java @@ -16,14 +16,18 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.coordinators; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class SonyLinkBudsSCoordinator extends SonyHeadphonesCoordinator { @Override @@ -65,4 +69,9 @@ public class SonyLinkBudsSCoordinator extends SonyHeadphonesCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_galaxy_buds; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWF1000XM3Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWF1000XM3Coordinator.java index 62ad379b67..6eb1b3cc56 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWF1000XM3Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWF1000XM3Coordinator.java @@ -16,12 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.coordinators; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; @@ -70,4 +73,9 @@ public class SonyWF1000XM3Coordinator extends SonyHeadphonesCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_galaxy_buds; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWF1000XM4Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWF1000XM4Coordinator.java index 6e7717f0f9..ddf54b50b0 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWF1000XM4Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWF1000XM4Coordinator.java @@ -16,12 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.coordinators; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; @@ -67,4 +70,9 @@ public class SonyWF1000XM4Coordinator extends SonyHeadphonesCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_galaxy_buds; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWF1000XM5Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWF1000XM5Coordinator.java index 4957d2933a..7d2bdc3969 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWF1000XM5Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWF1000XM5Coordinator.java @@ -16,12 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.coordinators; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; @@ -74,4 +77,9 @@ public class SonyWF1000XM5Coordinator extends SonyHeadphonesCoordinator { // Volume control from headphones is not working? return true; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFC500Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFC500Coordinator.java index 09732a98d3..3e574d26d8 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFC500Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFC500Coordinator.java @@ -16,14 +16,18 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.coordinators; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class SonyWFC500Coordinator extends SonyHeadphonesCoordinator { @Override @@ -52,4 +56,9 @@ public class SonyWFC500Coordinator extends SonyHeadphonesCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_galaxy_buds; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFC510Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFC510Coordinator.java index d011c15ffd..1a03013dba 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFC510Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFC510Coordinator.java @@ -16,14 +16,18 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.coordinators; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class SonyWFC510Coordinator extends SonyHeadphonesCoordinator { @@ -56,4 +60,9 @@ public class SonyWFC510Coordinator extends SonyHeadphonesCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_galaxy_buds; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFC700NCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFC700NCoordinator.java index b79ae5301c..804aa7f554 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFC700NCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFC700NCoordinator.java @@ -16,14 +16,18 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.coordinators; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class SonyWFC700NCoordinator extends SonyHeadphonesCoordinator { @@ -59,4 +63,9 @@ public class SonyWFC700NCoordinator extends SonyHeadphonesCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_galaxy_buds; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFC710NCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFC710NCoordinator.java index 2009aabe2d..75635283f9 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFC710NCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFC710NCoordinator.java @@ -16,14 +16,18 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.coordinators; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class SonyWFC710NCoordinator extends SonyHeadphonesCoordinator { @@ -60,4 +64,9 @@ public class SonyWFC710NCoordinator extends SonyHeadphonesCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_galaxy_buds; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFSP800NCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFSP800NCoordinator.java index 430ccb2fef..353fdc344a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFSP800NCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWFSP800NCoordinator.java @@ -16,12 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.coordinators; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; @@ -69,4 +72,9 @@ public class SonyWFSP800NCoordinator extends SonyHeadphonesCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_sony_wf_800n; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWH1000XM2Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWH1000XM2Coordinator.java index 52c0a06b1b..35c8d16ead 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWH1000XM2Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWH1000XM2Coordinator.java @@ -16,14 +16,18 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.coordinators; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class SonyWH1000XM2Coordinator extends SonyHeadphonesCoordinator { @Override @@ -50,4 +54,9 @@ public class SonyWH1000XM2Coordinator extends SonyHeadphonesCoordinator { SonyHeadphonesCapabilities.AudioUpsampling )); } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWH1000XM3Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWH1000XM3Coordinator.java index 5b938b685f..f9f0deedcb 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWH1000XM3Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWH1000XM3Coordinator.java @@ -16,14 +16,18 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.coordinators; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class SonyWH1000XM3Coordinator extends SonyHeadphonesCoordinator { @Override @@ -53,4 +57,9 @@ public class SonyWH1000XM3Coordinator extends SonyHeadphonesCoordinator { SonyHeadphonesCapabilities.Volume )); } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWH1000XM4Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWH1000XM4Coordinator.java index 91d6a3104b..aabbb89883 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWH1000XM4Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWH1000XM4Coordinator.java @@ -16,14 +16,18 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.coordinators; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class SonyWH1000XM4Coordinator extends SonyHeadphonesCoordinator { @Override @@ -56,4 +60,9 @@ public class SonyWH1000XM4Coordinator extends SonyHeadphonesCoordinator { SonyHeadphonesCapabilities.VoiceNotifications )); } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWH1000XM5Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWH1000XM5Coordinator.java index 054c9dc092..93f49a77bf 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWH1000XM5Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWH1000XM5Coordinator.java @@ -16,14 +16,18 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.coordinators; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class SonyWH1000XM5Coordinator extends SonyHeadphonesCoordinator { @Override @@ -57,4 +61,9 @@ public class SonyWH1000XM5Coordinator extends SonyHeadphonesCoordinator { SonyHeadphonesCapabilities.PauseWhenTakenOff )); } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWHULT900NCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWHULT900NCoordinator.java index 9bef1506b1..b2ccfa72eb 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWHULT900NCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWHULT900NCoordinator.java @@ -16,14 +16,18 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.coordinators; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class SonyWHULT900NCoordinator extends SonyHeadphonesCoordinator { @Override @@ -47,4 +51,9 @@ public class SonyWHULT900NCoordinator extends SonyHeadphonesCoordinator { SonyHeadphonesCapabilities.VoiceNotifications )); } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWIC100Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWIC100Coordinator.java index 2eae202d4f..cfa66f5e8b 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWIC100Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWIC100Coordinator.java @@ -16,14 +16,18 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.coordinators; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class SonyWIC100Coordinator extends SonyHeadphonesCoordinator { @Override @@ -52,4 +56,9 @@ public class SonyWIC100Coordinator extends SonyHeadphonesCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_galaxy_buds; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWISP600NCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWISP600NCoordinator.java index c4963f23b8..2c7a29eb2c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWISP600NCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/headphones/coordinators/SonyWISP600NCoordinator.java @@ -16,14 +16,18 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.coordinators; +import androidx.annotation.NonNull; + import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class SonyWISP600NCoordinator extends SonyHeadphonesCoordinator { @Override @@ -50,4 +54,9 @@ public class SonyWISP600NCoordinator extends SonyHeadphonesCoordinator { SonyHeadphonesCapabilities.Volume )); } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sonyswr12/SonySWR12DeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sonyswr12/SonySWR12DeviceCoordinator.java index 1e699e89ae..91ec4eb6d0 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sonyswr12/SonySWR12DeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sonyswr12/SonySWR12DeviceCoordinator.java @@ -27,6 +27,7 @@ import de.greenrobot.dao.AbstractDao; import de.greenrobot.dao.Property; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; import nodomain.freeyourgadget.gadgetbridge.entities.SonySWR12SampleDao; @@ -97,6 +98,11 @@ public class SonySWR12DeviceCoordinator extends AbstractBLEDeviceCoordinator { return R.string.devicetype_sonyswr12; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } + @Override public Map, Property> getAllDeviceDao(@NonNull final DaoSession session) { Map, Property> map = new HashMap<>(1); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/aerofit/SoundcoreAeroFit2Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/aerofit/SoundcoreAeroFit2Coordinator.java index 02dd4eefb4..213e316575 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/aerofit/SoundcoreAeroFit2Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/aerofit/SoundcoreAeroFit2Coordinator.java @@ -6,8 +6,8 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; -import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLClassicDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; @@ -64,6 +64,11 @@ public class SoundcoreAeroFit2Coordinator extends AbstractBLClassicDeviceCoordin return deviceSpecificSettings; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } + @NonNull @Override public Class getDeviceSupportClass(final GBDevice device) { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/liberty3_pro/SoundcoreLiberty3ProCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/liberty3_pro/SoundcoreLiberty3ProCoordinator.java index ea5a1ee634..a569b291b1 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/liberty3_pro/SoundcoreLiberty3ProCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/liberty3_pro/SoundcoreLiberty3ProCoordinator.java @@ -8,6 +8,7 @@ import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLClassicDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; @@ -63,6 +64,11 @@ public class SoundcoreLiberty3ProCoordinator extends AbstractBLClassicDeviceCoor return deviceSpecificSettings; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } + @NonNull @Override public Class getDeviceSupportClass(final GBDevice device) { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/liberty4_nc/SoundcoreLiberty4NCCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/liberty4_nc/SoundcoreLiberty4NCCoordinator.java index f5dafacc89..c22277a243 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/liberty4_nc/SoundcoreLiberty4NCCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/liberty4_nc/SoundcoreLiberty4NCCoordinator.java @@ -8,6 +8,7 @@ import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLClassicDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; @@ -63,6 +64,11 @@ public class SoundcoreLiberty4NCCoordinator extends AbstractBLClassicDeviceCoord return deviceSpecificSettings; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } + @NonNull @Override public Class getDeviceSupportClass(final GBDevice device) { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/motion300/SoundcoreMotion300Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/motion300/SoundcoreMotion300Coordinator.java index f27d61d297..136c477332 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/motion300/SoundcoreMotion300Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/motion300/SoundcoreMotion300Coordinator.java @@ -25,6 +25,7 @@ import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpec import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLClassicDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.soundcore.motion300.SoundcoreMotion300DeviceSupport; @@ -77,6 +78,11 @@ public class SoundcoreMotion300Coordinator extends AbstractBLClassicDeviceCoordi return settings; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } + @NonNull @Override public Class getDeviceSupportClass(final GBDevice device) { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/q30/SoundcoreQ30Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/q30/SoundcoreQ30Coordinator.java index 7ab57e6fd4..f5803400ec 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/q30/SoundcoreQ30Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/soundcore/q30/SoundcoreQ30Coordinator.java @@ -7,6 +7,7 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLClassicDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; @@ -51,6 +52,11 @@ public class SoundcoreQ30Coordinator extends AbstractBLClassicDeviceCoordinator return deviceSpecificSettings; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.HEAD_MOUNTED; + } + @NonNull @Override public Class getDeviceSupportClass(final GBDevice device) { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/supercars/SuperCarsCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/supercars/SuperCarsCoordinator.java index af35adcbf6..fe8fc0a823 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/supercars/SuperCarsCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/supercars/SuperCarsCoordinator.java @@ -29,6 +29,7 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCardAction; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.supercars.SuperCarsSupport; @@ -60,6 +61,11 @@ public class SuperCarsCoordinator extends AbstractBLEDeviceCoordinator { return R.string.devicetype_super_cars; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } + @Override public int getDefaultIconResource() { return R.drawable.ic_device_supercars; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/test/TestDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/test/TestDeviceCoordinator.java index 0cd78463c1..e8401a858d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/test/TestDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/test/TestDeviceCoordinator.java @@ -41,6 +41,7 @@ import nodomain.freeyourgadget.gadgetbridge.capabilities.HeartRateCapability; import nodomain.freeyourgadget.gadgetbridge.capabilities.password.PasswordCapabilityImpl; import nodomain.freeyourgadget.gadgetbridge.capabilities.widgets.WidgetManager; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import nodomain.freeyourgadget.gadgetbridge.devices.TimeSampleProvider; @@ -675,4 +676,9 @@ public class TestDeviceCoordinator extends AbstractDeviceCoordinator { protected static Prefs getPrefs(final GBDevice device) { return new Prefs(GBApplication.getDeviceSpecificSharedPrefs(device.getAddress())); } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/thermalprinter/ThermalPrinterCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/thermalprinter/ThermalPrinterCoordinator.java index 73eb0b0409..318e2e6f17 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/thermalprinter/ThermalPrinterCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/thermalprinter/ThermalPrinterCoordinator.java @@ -14,6 +14,7 @@ import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCardAction; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; @@ -85,6 +86,11 @@ public class ThermalPrinterCoordinator extends AbstractBLEDeviceCoordinator { return Collections.singletonList(new ControlDeviceCardAction()); } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } + private static final class ControlDeviceCardAction implements DeviceCardAction { @Override diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/tlw64/TLW64Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/tlw64/TLW64Coordinator.java index 24cb7e4acb..535c286d04 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/tlw64/TLW64Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/tlw64/TLW64Coordinator.java @@ -28,6 +28,7 @@ import de.greenrobot.dao.AbstractDao; import de.greenrobot.dao.Property; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; import nodomain.freeyourgadget.gadgetbridge.entities.TLW64ActivitySampleDao; @@ -93,6 +94,11 @@ public class TLW64Coordinator extends AbstractBLEDeviceCoordinator { return R.string.devicetype_tlw64; } + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } + @Override public Map, Property> getAllDeviceDao(@NonNull final DaoSession session) { Map, Property> map = new HashMap<>(1); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/ultrahuman/UltrahumanDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/ultrahuman/UltrahumanDeviceCoordinator.java index a3294f2805..55e02e277f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/ultrahuman/UltrahumanDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/ultrahuman/UltrahumanDeviceCoordinator.java @@ -254,4 +254,9 @@ public class UltrahumanDeviceCoordinator extends AbstractBLEDeviceCoordinator { public boolean supportsStressMeasurement(@NonNull GBDevice device) { return true; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.RING; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/um25/Coordinator/UM25Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/um25/Coordinator/UM25Coordinator.java index a2d1947582..8f4f5204db 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/um25/Coordinator/UM25Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/um25/Coordinator/UM25Coordinator.java @@ -28,6 +28,7 @@ import java.util.Collections; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.um25.Activity.DataActivity; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; @@ -96,4 +97,9 @@ public class UM25Coordinator extends AbstractBLEDeviceCoordinator { public int getBondingStyle() { return BONDING_STYLE_NONE; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/vesc/VescCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/vesc/VescCoordinator.java index 59c98cfe45..4ab0dc2595 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/vesc/VescCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/vesc/VescCoordinator.java @@ -24,6 +24,7 @@ import androidx.annotation.NonNull; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; @@ -107,4 +108,9 @@ public class VescCoordinator extends AbstractBLEDeviceCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_vesc; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/vibratissimo/VibratissimoCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/vibratissimo/VibratissimoCoordinator.java index 70de49a885..c5571ebbd1 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/vibratissimo/VibratissimoCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/vibratissimo/VibratissimoCoordinator.java @@ -26,6 +26,7 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.ServiceDeviceSupport; @@ -77,4 +78,9 @@ public class VibratissimoCoordinator extends AbstractBLEDeviceCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_lovetoy; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.UNKNOWN; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand10Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand10Coordinator.java index 0ed503815e..45060a9168 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand10Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand10Coordinator.java @@ -16,10 +16,14 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.watches; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.XiaomiCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class MiBand10Coordinator extends XiaomiCoordinator { @Override @@ -46,4 +50,9 @@ public class MiBand10Coordinator extends XiaomiCoordinator { public boolean isExperimental() { return true; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand7ProCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand7ProCoordinator.java index a9ec37ca1c..38f3bd8849 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand7ProCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand7ProCoordinator.java @@ -21,6 +21,7 @@ import androidx.annotation.NonNull; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst; import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.XiaomiCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; @@ -51,4 +52,9 @@ public class MiBand7ProCoordinator extends XiaomiCoordinator { // no PAI nor vitality score return false; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand8ActiveCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand8ActiveCoordinator.java index 72c6feb8dc..ff2504e1a4 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand8ActiveCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand8ActiveCoordinator.java @@ -16,10 +16,14 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.watches; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.XiaomiCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class MiBand8ActiveCoordinator extends XiaomiCoordinator { @Override @@ -41,4 +45,9 @@ public class MiBand8ActiveCoordinator extends XiaomiCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_default; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand8Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand8Coordinator.java index e9b077b79c..bf9fdb6b81 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand8Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand8Coordinator.java @@ -16,10 +16,14 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.watches; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.XiaomiCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class MiBand8Coordinator extends XiaomiCoordinator { @Override @@ -41,4 +45,9 @@ public class MiBand8Coordinator extends XiaomiCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_miband6; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand8ProCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand8ProCoordinator.java index faad4bab1d..e82a47ca9f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand8ProCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand8ProCoordinator.java @@ -16,10 +16,14 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.watches; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.XiaomiCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class MiBand8ProCoordinator extends XiaomiCoordinator { @Override @@ -47,4 +51,9 @@ public class MiBand8ProCoordinator extends XiaomiCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_default; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand9ActiveCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand9ActiveCoordinator.java index 7c1222de72..46480d7f35 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand9ActiveCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand9ActiveCoordinator.java @@ -21,6 +21,7 @@ import androidx.annotation.NonNull; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.XiaomiCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; @@ -56,4 +57,9 @@ public class MiBand9ActiveCoordinator extends XiaomiCoordinator { public boolean supportsManualHeartRateMeasurement(final GBDevice device) { return false; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand9Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand9Coordinator.java index 0763db791a..a520f4d64d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand9Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand9Coordinator.java @@ -16,10 +16,14 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.watches; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.XiaomiCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class MiBand9Coordinator extends XiaomiCoordinator { @Override @@ -46,4 +50,9 @@ public class MiBand9Coordinator extends XiaomiCoordinator { public boolean isExperimental() { return true; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand9ProCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand9ProCoordinator.java index 09e844e8f8..ab4e5c276b 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand9ProCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand9ProCoordinator.java @@ -16,10 +16,14 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.watches; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.XiaomiCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class MiBand9ProCoordinator extends XiaomiCoordinator { @Override @@ -46,4 +50,9 @@ public class MiBand9ProCoordinator extends XiaomiCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_default; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/RedmiSmartBand2Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/RedmiSmartBand2Coordinator.java index dd10f28098..6a34f16895 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/RedmiSmartBand2Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/RedmiSmartBand2Coordinator.java @@ -16,10 +16,14 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.watches; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.XiaomiCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class RedmiSmartBand2Coordinator extends XiaomiCoordinator { @Override @@ -41,4 +45,9 @@ public class RedmiSmartBand2Coordinator extends XiaomiCoordinator { public int getDefaultIconResource() { return R.drawable.ic_device_default; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/RedmiSmartBand3Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/RedmiSmartBand3Coordinator.java index 75525ff725..8be04f8596 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/RedmiSmartBand3Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/RedmiSmartBand3Coordinator.java @@ -21,6 +21,7 @@ import androidx.annotation.NonNull; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.XiaomiCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; @@ -57,4 +58,9 @@ public class RedmiSmartBand3Coordinator extends XiaomiCoordinator { // #4809 does not seem to be supported return false; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/RedmiSmartBandProCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/RedmiSmartBandProCoordinator.java index b7d8d52f78..37ac1aca96 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/RedmiSmartBandProCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/RedmiSmartBandProCoordinator.java @@ -22,6 +22,7 @@ import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.capabilities.password.PasswordCapabilityImpl; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.XiaomiCoordinator; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; @@ -69,4 +70,9 @@ public class RedmiSmartBandProCoordinator extends XiaomiCoordinator { // Does not support vitality score return false; } + + @Override + public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceCoordinator.DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/AbstractYawellRingCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/AbstractYawellRingCoordinator.java index 00fdacbf90..1b67835371 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/AbstractYawellRingCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/AbstractYawellRingCoordinator.java @@ -233,4 +233,9 @@ public abstract class AbstractYawellRingCoordinator extends AbstractBLEDeviceCoo public int getLiveActivityFragmentPulseInterval() { return 2000; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.RING; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR02Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR02Coordinator.java index cd2068a363..8da40eeade 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR02Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR02Coordinator.java @@ -16,12 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.yawell.ring; +import androidx.annotation.NonNull; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class ColmiR02Coordinator extends AbstractYawellRingCoordinator { private static final Logger LOG = LoggerFactory.getLogger(ColmiR02Coordinator.class); @@ -35,4 +38,9 @@ public class ColmiR02Coordinator extends AbstractYawellRingCoordinator { public int getDeviceNameResource() { return R.string.devicetype_colmi_r02; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.RING; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR03Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR03Coordinator.java index 9a525ff634..cb843926f9 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR03Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR03Coordinator.java @@ -16,12 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.yawell.ring; +import androidx.annotation.NonNull; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class ColmiR03Coordinator extends AbstractYawellRingCoordinator { private static final Logger LOG = LoggerFactory.getLogger(ColmiR03Coordinator.class); @@ -35,4 +38,9 @@ public class ColmiR03Coordinator extends AbstractYawellRingCoordinator { public int getDeviceNameResource() { return R.string.devicetype_colmi_r03; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.RING; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR06Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR06Coordinator.java index 3762cefb6c..e753bd8224 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR06Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR06Coordinator.java @@ -16,12 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.yawell.ring; +import androidx.annotation.NonNull; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class ColmiR06Coordinator extends AbstractYawellRingCoordinator { private static final Logger LOG = LoggerFactory.getLogger(ColmiR06Coordinator.class); @@ -35,4 +38,9 @@ public class ColmiR06Coordinator extends AbstractYawellRingCoordinator { public int getDeviceNameResource() { return R.string.devicetype_colmi_r06; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.RING; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR07Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR07Coordinator.java index 32615b7988..76385637ab 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR07Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR07Coordinator.java @@ -16,12 +16,12 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.yawell.ring; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import androidx.annotation.NonNull; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class ColmiR07Coordinator extends AbstractYawellRingCoordinator { @Override @@ -33,4 +33,9 @@ public class ColmiR07Coordinator extends AbstractYawellRingCoordinator { public int getDeviceNameResource() { return R.string.devicetype_colmi_r07; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.RING; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR09Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR09Coordinator.java index 5f4b687483..482938ce1a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR09Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR09Coordinator.java @@ -16,6 +16,8 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.yawell.ring; +import androidx.annotation.NonNull; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -46,4 +48,9 @@ public class ColmiR09Coordinator extends AbstractYawellRingCoordinator { public boolean supportsContinuousTemperature(final GBDevice device) { return true; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.RING; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR10Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR10Coordinator.java index fcbd33de05..91b93492f8 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR10Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR10Coordinator.java @@ -16,12 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.yawell.ring; +import androidx.annotation.NonNull; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class ColmiR10Coordinator extends AbstractYawellRingCoordinator { private static final Logger LOG = LoggerFactory.getLogger(ColmiR10Coordinator.class); @@ -35,4 +38,9 @@ public class ColmiR10Coordinator extends AbstractYawellRingCoordinator { public int getDeviceNameResource() { return R.string.devicetype_colmi_r10; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.RING; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR12Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR12Coordinator.java index 49a195d099..da46453979 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR12Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/ColmiR12Coordinator.java @@ -16,12 +16,15 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.yawell.ring; +import androidx.annotation.NonNull; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class ColmiR12Coordinator extends AbstractYawellRingCoordinator { private static final Logger LOG = LoggerFactory.getLogger(ColmiR12Coordinator.class); @@ -40,4 +43,9 @@ public class ColmiR12Coordinator extends AbstractYawellRingCoordinator { public boolean hasDisplay() { return true; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.RING; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/H59Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/H59Coordinator.java index 0b55f9960e..1df3a59ea3 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/H59Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/H59Coordinator.java @@ -16,9 +16,12 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.yawell.ring; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class H59Coordinator extends AbstractYawellRingCoordinator { @Override @@ -40,4 +43,9 @@ public class H59Coordinator extends AbstractYawellRingCoordinator { public String getManufacturer() { return "Brandless"; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.FITNESS_BAND; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/YawellR10Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/YawellR10Coordinator.java index 5a410ba5c8..f286e7ad96 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/YawellR10Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/YawellR10Coordinator.java @@ -16,6 +16,8 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.yawell.ring; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; @@ -41,4 +43,9 @@ public class YawellR10Coordinator extends AbstractYawellRingCoordinator { public boolean supportsContinuousTemperature(final GBDevice device) { return true; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.RING; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/YawellR11Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/YawellR11Coordinator.java index 3fc12e3896..c293a85101 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/YawellR11Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/YawellR11Coordinator.java @@ -16,9 +16,12 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.yawell.ring; +import androidx.annotation.NonNull; + import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class YawellR11Coordinator extends AbstractYawellRingCoordinator { @Override @@ -35,4 +38,9 @@ public class YawellR11Coordinator extends AbstractYawellRingCoordinator { public boolean hasDisplay() { return true; } + + @Override + public DeviceKind getDeviceKind(@NonNull GBDevice device) { + return DeviceKind.RING; + } }