Add DeviceKind (#5382)

Adding DeviceKinds to DeviceCoordinators as introduced by https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/5346

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/5382
Co-authored-by: Gideon Zenz <gzenz@gmx.de>
Co-committed-by: Gideon Zenz <gzenz@gmx.de>
This commit is contained in:
Gideon Zenz
2025-09-23 23:23:20 +02:00
committed by José Rebelo
parent 15ed83313f
commit d869eae55c
175 changed files with 1243 additions and 18 deletions
@@ -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 * Returns the type of connection, Classic of BLE
* *
@@ -893,4 +905,13 @@ public interface DeviceCoordinator {
String getAuthHelp(); String getAuthHelp();
List<DeviceCardAction> getCustomActions(); List<DeviceCardAction> 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;
}
} }
@@ -149,4 +149,9 @@ public class UnknownDeviceCoordinator extends AbstractDeviceCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_unknown; return R.drawable.ic_device_unknown;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.UNKNOWN;
}
} }
@@ -27,6 +27,7 @@ import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpec
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLClassicDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLClassicDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig;
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport;
@@ -105,4 +106,9 @@ public class AAWirelessCoordinator extends AbstractBLClassicDeviceCoordinator {
public DeviceSpecificSettingsCustomizer getDeviceSpecificSettingsCustomizer(final GBDevice device) { public DeviceSpecificSettingsCustomizer getDeviceSpecificSettingsCustomizer(final GBDevice device) {
return new AAWirelessSettingsCustomizer(); return new AAWirelessSettingsCustomizer();
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.UNKNOWN;
}
} }
@@ -30,6 +30,7 @@ import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport;
@@ -87,4 +88,9 @@ public class ATCBLEOEPLCoordinator extends AbstractDeviceCoordinator {
R.xml.devicesettings_atc_ble_oepl R.xml.devicesettings_atc_ble_oepl
}; };
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.SMART_DISPLAY;
}
} }
@@ -6,8 +6,6 @@ import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; 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.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig;
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; 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;
}
} }
@@ -28,6 +28,7 @@ import java.util.Collections;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; 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.devices.binary_sensor.activity.DataActivity;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate;
@@ -95,4 +96,9 @@ public class BinarySensorCoordinator extends AbstractBLEDeviceCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_unknown; return R.drawable.ic_device_unknown;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.UNKNOWN;
}
} }
@@ -1,6 +1,8 @@
package nodomain.freeyourgadget.gadgetbridge.devices.coospo package nodomain.freeyourgadget.gadgetbridge.devices.coospo
import nodomain.freeyourgadget.gadgetbridge.R import nodomain.freeyourgadget.gadgetbridge.R
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice
import java.util.regex.Pattern import java.util.regex.Pattern
/// #5025 /// #5025
@@ -12,4 +14,8 @@ class CoospoH6Coordinator: CoospoHeartRateCoordinator() {
override fun getDeviceNameResource(): Int { override fun getDeviceNameResource(): Int {
return R.string.devicetype_coospo_h6 return R.string.devicetype_coospo_h6
} }
override fun getDeviceKind(device: GBDevice): DeviceCoordinator.DeviceKind {
return DeviceCoordinator.DeviceKind.CHEST_STRAP
}
} }
@@ -1,6 +1,8 @@
package nodomain.freeyourgadget.gadgetbridge.devices.coospo package nodomain.freeyourgadget.gadgetbridge.devices.coospo
import nodomain.freeyourgadget.gadgetbridge.R import nodomain.freeyourgadget.gadgetbridge.R
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice
import java.util.regex.Pattern import java.util.regex.Pattern
/// #5025 /// #5025
@@ -10,6 +12,10 @@ class CoospoHW807Coordinator: CoospoHeartRateCoordinator() {
} }
override fun getDeviceNameResource(): Int { 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
} }
} }
@@ -1,6 +1,8 @@
package nodomain.freeyourgadget.gadgetbridge.devices.coospo package nodomain.freeyourgadget.gadgetbridge.devices.coospo
import nodomain.freeyourgadget.gadgetbridge.R import nodomain.freeyourgadget.gadgetbridge.R
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice
import java.util.regex.Pattern import java.util.regex.Pattern
/// #5110 /// #5110
@@ -12,4 +14,8 @@ class CoospoHW9Coordinator: CoospoHeartRateCoordinator() {
override fun getDeviceNameResource(): Int { override fun getDeviceNameResource(): Int {
return R.string.devicetype_coospo_hw9 return R.string.devicetype_coospo_hw9
} }
override fun getDeviceKind(device: GBDevice): DeviceCoordinator.DeviceKind {
return DeviceCoordinator.DeviceKind.CHEST_STRAP
}
} }
@@ -11,6 +11,7 @@ import de.greenrobot.dao.AbstractDao;
import de.greenrobot.dao.Property; import de.greenrobot.dao.Property;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.TimeSampleProvider; import nodomain.freeyourgadget.gadgetbridge.devices.TimeSampleProvider;
import nodomain.freeyourgadget.gadgetbridge.devices.cycling_sensor.activity.CyclingLiveDataActivity; import nodomain.freeyourgadget.gadgetbridge.devices.cycling_sensor.activity.CyclingLiveDataActivity;
import nodomain.freeyourgadget.gadgetbridge.devices.cycling_sensor.db.CyclingSampleProvider; import nodomain.freeyourgadget.gadgetbridge.devices.cycling_sensor.db.CyclingSampleProvider;
@@ -110,5 +111,8 @@ public class CyclingSensorCoordinator extends AbstractBLEDeviceCoordinator {
return true; return true;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.UNKNOWN;
}
} }
@@ -93,4 +93,9 @@ public class PixooCoordinator extends AbstractBLEDeviceCoordinator {
R.xml.devicesettings_device_name, R.xml.devicesettings_device_name,
}; };
} }
@Override
public DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.SMART_DISPLAY;
}
} }
@@ -23,6 +23,7 @@ import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport;
import nodomain.freeyourgadget.gadgetbridge.service.ServiceDeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.ServiceDeviceSupport;
@@ -64,4 +65,9 @@ public class DomyosT540Coordinator extends AbstractBLEDeviceCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_lovetoy; return R.drawable.ic_device_lovetoy;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.UNKNOWN;
}
} }
@@ -13,6 +13,7 @@ import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate;
import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig;
@@ -105,4 +106,9 @@ public class EarFunAirPro4Coordinator extends AbstractEarFunCoordinator {
public DeviceSpecificSettingsCustomizer getDeviceSpecificSettingsCustomizer(final GBDevice device) { public DeviceSpecificSettingsCustomizer getDeviceSpecificSettingsCustomizer(final GBDevice device) {
return new EarFunAirPro4SettingsCustomizer(device); return new EarFunAirPro4SettingsCustomizer(device);
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.HEAD_MOUNTED;
}
} }
@@ -13,6 +13,7 @@ import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate;
import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig;
@@ -101,4 +102,9 @@ public class EarFunAirSCoordinator extends AbstractEarFunCoordinator {
public DeviceSpecificSettingsCustomizer getDeviceSpecificSettingsCustomizer(final GBDevice device) { public DeviceSpecificSettingsCustomizer getDeviceSpecificSettingsCustomizer(final GBDevice device) {
return new EarFunAirSSettingsCustomizer(device); return new EarFunAirSSettingsCustomizer(device);
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.HEAD_MOUNTED;
}
} }
@@ -219,4 +219,9 @@ public class G1DeviceCoordinator extends AbstractBLEDeviceCoordinator {
public boolean supportsWeather(final GBDevice device) { public boolean supportsWeather(final GBDevice device) {
return true; return true;
} }
@Override
public DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.HEAD_MOUNTED;
}
} }
@@ -26,6 +26,7 @@ import de.greenrobot.dao.AbstractDao;
import de.greenrobot.dao.Property; import de.greenrobot.dao.Property;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.TimeSampleProvider; import nodomain.freeyourgadget.gadgetbridge.devices.TimeSampleProvider;
import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession;
import nodomain.freeyourgadget.gadgetbridge.entities.FemometerVinca2TemperatureSample; 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;
}
} }
@@ -170,4 +170,9 @@ public class FitProDeviceCoordinator extends AbstractBLEDeviceCoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_fitpro; return R.string.devicetype_fitpro;
} }
@Override
public DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.FITNESS_BAND;
}
} }
@@ -18,6 +18,7 @@
package nodomain.freeyourgadget.gadgetbridge.devices.fitpro.colacao; package nodomain.freeyourgadget.gadgetbridge.devices.fitpro.colacao;
import androidx.annotation.DrawableRes; import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@@ -47,4 +48,9 @@ public class ColaCao21Coordinator extends FitProDeviceCoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_colacao21; return R.string.devicetype_colacao21;
} }
@Override
public DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.FITNESS_BAND;
}
} }
@@ -18,6 +18,7 @@
package nodomain.freeyourgadget.gadgetbridge.devices.fitpro.colacao; package nodomain.freeyourgadget.gadgetbridge.devices.fitpro.colacao;
import androidx.annotation.DrawableRes; import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@@ -47,4 +48,9 @@ public class ColaCao23Coordinator extends FitProDeviceCoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_colacao23; return R.string.devicetype_colacao23;
} }
@Override
public DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.FITNESS_BAND;
}
} }
@@ -20,11 +20,9 @@ import androidx.annotation.NonNull;
import java.util.UUID; import java.util.UUID;
import nodomain.freeyourgadget.gadgetbridge.GBException;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.entities.Device;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate;
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport;
@@ -64,4 +62,9 @@ public class FlipperZeroCoordinator extends AbstractBLEDeviceCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_flipper; return R.drawable.ic_device_flipper;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.UNKNOWN;
}
} }
@@ -16,10 +16,13 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.galaxy_buds; package nodomain.freeyourgadget.gadgetbridge.devices.galaxy_buds;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig;
@@ -61,6 +64,11 @@ public class GalaxyBuds2DeviceCoordinator extends GalaxyBudsGenericCoordinator {
return R.string.devicetype_galaxybuds_2; return R.string.devicetype_galaxybuds_2;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.HEAD_MOUNTED;
}
@Override @Override
public int getDefaultIconResource() { public int getDefaultIconResource() {
@@ -16,10 +16,13 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.galaxy_buds; package nodomain.freeyourgadget.gadgetbridge.devices.galaxy_buds;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig;
@@ -60,6 +63,11 @@ public class GalaxyBuds2ProDeviceCoordinator extends GalaxyBudsGenericCoordinato
return R.string.devicetype_galaxybuds_2_pro; return R.string.devicetype_galaxybuds_2_pro;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.HEAD_MOUNTED;
}
@Override @Override
public int getDefaultIconResource() { public int getDefaultIconResource() {
@@ -21,10 +21,9 @@ import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate;
import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig;
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
public class GalaxyBudsDeviceCoordinator extends GalaxyBudsGenericCoordinator { public class GalaxyBudsDeviceCoordinator extends GalaxyBudsGenericCoordinator {
@Override @Override
@@ -49,6 +48,11 @@ public class GalaxyBudsDeviceCoordinator extends GalaxyBudsGenericCoordinator {
return R.string.devicetype_galaxybuds; return R.string.devicetype_galaxybuds;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.HEAD_MOUNTED;
}
@Override @Override
public int[] getSupportedDeviceSpecificSettings(GBDevice device) { public int[] getSupportedDeviceSpecificSettings(GBDevice device) {
return new int[]{ return new int[]{
@@ -16,12 +16,15 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.galaxy_buds; package nodomain.freeyourgadget.gadgetbridge.devices.galaxy_buds;
import androidx.annotation.NonNull;
import java.util.List; import java.util.List;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig;
@@ -59,6 +62,11 @@ public class GalaxyBudsLiveDeviceCoordinator extends GalaxyBudsGenericCoordinato
return R.string.devicetype_galaxybuds_live; return R.string.devicetype_galaxybuds_live;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.HEAD_MOUNTED;
}
@Override @Override
public int getDefaultIconResource() { public int getDefaultIconResource() {
@@ -16,10 +16,13 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.galaxy_buds; package nodomain.freeyourgadget.gadgetbridge.devices.galaxy_buds;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig; import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig;
@@ -60,6 +63,11 @@ public class GalaxyBudsProDeviceCoordinator extends GalaxyBudsGenericCoordinator
return R.string.devicetype_galaxybuds_pro; return R.string.devicetype_galaxybuds_pro;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.HEAD_MOUNTED;
}
@Override @Override
public int getDefaultIconResource() { public int getDefaultIconResource() {
@@ -5,6 +5,7 @@ import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
public class GarminEdge130PlusCoordinator extends GarminBikeComputerCoordinator { public class GarminEdge130PlusCoordinator extends GarminBikeComputerCoordinator {
@@ -32,4 +33,9 @@ public class GarminEdge130PlusCoordinator extends GarminBikeComputerCoordinator
public boolean supportsMusicInfo(@NonNull GBDevice device) { public boolean supportsMusicInfo(@NonNull GBDevice device) {
return false; return false;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.UNKNOWN;
}
} }
@@ -1,8 +1,11 @@
package nodomain.freeyourgadget.gadgetbridge.devices.garmin.bike; package nodomain.freeyourgadget.gadgetbridge.devices.garmin.bike;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
public class GarminEdge540Coordinator extends GarminBikeComputerCoordinator { public class GarminEdge540Coordinator extends GarminBikeComputerCoordinator {
@@ -20,4 +23,9 @@ public class GarminEdge540Coordinator extends GarminBikeComputerCoordinator {
public int getBatteryCount(final GBDevice device) { public int getBatteryCount(final GBDevice device) {
return 0; // does not seem to report the battery % return 0; // does not seem to report the battery %
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.SMART_DISPLAY;
}
} }
@@ -1,8 +1,11 @@
package nodomain.freeyourgadget.gadgetbridge.devices.garmin.bike; package nodomain.freeyourgadget.gadgetbridge.devices.garmin.bike;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
public class GarminEdgeExplore2Coordinator extends GarminBikeComputerCoordinator { public class GarminEdgeExplore2Coordinator extends GarminBikeComputerCoordinator {
@@ -20,4 +23,9 @@ public class GarminEdgeExplore2Coordinator extends GarminBikeComputerCoordinator
public int getBatteryCount(final GBDevice device) { public int getBatteryCount(final GBDevice device) {
return 0; // does not seem to report the battery % return 0; // does not seem to report the battery %
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.SMART_DISPLAY;
}
} }
@@ -1,8 +1,11 @@
package nodomain.freeyourgadget.gadgetbridge.devices.garmin.gps; package nodomain.freeyourgadget.gadgetbridge.devices.garmin.gps;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.garmin.GarminCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.GarminCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
@@ -39,4 +42,9 @@ public class GarminETrexSeCoordinator extends GarminCoordinator {
return R.string.devicetype_garmin_etrex_se; return R.string.devicetype_garmin_etrex_se;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.UNKNOWN;
}
} }
@@ -1,6 +1,8 @@
package nodomain.freeyourgadget.gadgetbridge.devices.garmin.hrm package nodomain.freeyourgadget.gadgetbridge.devices.garmin.hrm
import nodomain.freeyourgadget.gadgetbridge.R import nodomain.freeyourgadget.gadgetbridge.R
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice
import java.util.regex.Pattern import java.util.regex.Pattern
/// #5110 /// #5110
@@ -12,4 +14,8 @@ class GarminHrm200Coordinator: GarminHrmCoordinator() {
override fun getDeviceNameResource(): Int { override fun getDeviceNameResource(): Int {
return R.string.devicetype_garmin_hrm_200 return R.string.devicetype_garmin_hrm_200
} }
override fun getDeviceKind(device: GBDevice): DeviceCoordinator.DeviceKind {
return DeviceCoordinator.DeviceKind.CHEST_STRAP
}
} }
@@ -5,6 +5,7 @@ import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.GarminWatchCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.GarminWatchCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
@@ -23,4 +24,9 @@ public class GarminVivosmart3Coordinator extends GarminWatchCoordinator {
public boolean supportsTrainingLoad(@NonNull GBDevice device) { public boolean supportsTrainingLoad(@NonNull GBDevice device) {
return false; return false;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -5,6 +5,7 @@ import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.GarminWatchCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.GarminWatchCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
@@ -23,4 +24,9 @@ public class GarminVivosmart4Coordinator extends GarminWatchCoordinator {
public boolean supportsTrainingLoad(@NonNull GBDevice device) { public boolean supportsTrainingLoad(@NonNull GBDevice device) {
return false; return false;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -5,6 +5,7 @@ import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.GarminWatchCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.GarminWatchCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
@@ -23,4 +24,9 @@ public class GarminVivosmart5Coordinator extends GarminWatchCoordinator {
public boolean supportsTrainingLoad(@NonNull GBDevice device) { public boolean supportsTrainingLoad(@NonNull GBDevice device) {
return false; return false;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -5,6 +5,7 @@ import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.GarminWatchCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.garmin.watches.GarminWatchCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
@@ -23,4 +24,9 @@ public class GarminVivosportCoordinator extends GarminWatchCoordinator {
public boolean supportsTrainingLoad(@NonNull GBDevice device) { public boolean supportsTrainingLoad(@NonNull GBDevice device) {
return false; return false;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -11,6 +11,7 @@ import org.slf4j.LoggerFactory;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate;
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport;
@@ -88,4 +89,9 @@ public class GenericHeadphonesCoordinator extends AbstractDeviceCoordinator {
public boolean supportsOSBatteryLevel(@NonNull GBDevice device) { public boolean supportsOSBatteryLevel(@NonNull GBDevice device) {
return true; return true;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.HEAD_MOUNTED;
}
} }
@@ -4,6 +4,7 @@ import de.greenrobot.dao.AbstractDao
import de.greenrobot.dao.Property import de.greenrobot.dao.Property
import nodomain.freeyourgadget.gadgetbridge.R import nodomain.freeyourgadget.gadgetbridge.R
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator
import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider
import nodomain.freeyourgadget.gadgetbridge.entities.AbstractActivitySample import nodomain.freeyourgadget.gadgetbridge.entities.AbstractActivitySample
import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession 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
}
} }
@@ -21,6 +21,7 @@ import de.greenrobot.dao.Property
import nodomain.freeyourgadget.gadgetbridge.R import nodomain.freeyourgadget.gadgetbridge.R
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCardAction import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCardAction
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator
import nodomain.freeyourgadget.gadgetbridge.devices.GenericWeightSampleProvider import nodomain.freeyourgadget.gadgetbridge.devices.GenericWeightSampleProvider
import nodomain.freeyourgadget.gadgetbridge.devices.TimeSampleProvider import nodomain.freeyourgadget.gadgetbridge.devices.TimeSampleProvider
import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession
@@ -110,4 +111,8 @@ class GenericWeightScaleCoordinator : AbstractBLEDeviceCoordinator() {
override fun supportsSpeedzones(device: GBDevice): Boolean { override fun supportsSpeedzones(device: GBDevice): Boolean {
return false return false
} }
override fun getDeviceKind(device: GBDevice): DeviceCoordinator.DeviceKind {
return DeviceCoordinator.DeviceKind.SCALE
}
} }
@@ -7,11 +7,9 @@ import androidx.annotation.Nullable;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.GBException;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.entities.Device;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport;
import nodomain.freeyourgadget.gadgetbridge.service.devices.gree.GreeAcSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.gree.GreeAcSupport;
@@ -60,4 +58,9 @@ public class GreeAcCoordinator extends AbstractBLEDeviceCoordinator {
public Class<? extends Activity> getPairingActivity() { public Class<? extends Activity> getPairingActivity() {
return GreeAcPairingActivity.class; return GreeAcPairingActivity.class;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.UNKNOWN;
}
} }
@@ -54,4 +54,9 @@ public class EXRIZUK8Coordinator extends HPlusCoordinator {
public Class<? extends DeviceSupport> getDeviceSupportClass(final GBDevice device) { public Class<? extends DeviceSupport> getDeviceSupportClass(final GBDevice device) {
return EXRIZUK8Support.class; return EXRIZUK8Support.class;
} }
@Override
public DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.FITNESS_BAND;
}
} }
@@ -22,6 +22,8 @@ import android.bluetooth.le.ScanFilter;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.os.ParcelUuid; import android.os.ParcelUuid;
import androidx.annotation.NonNull;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -32,8 +34,6 @@ import java.util.Locale;
import java.util.Map; import java.util.Map;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import androidx.annotation.NonNull;
import de.greenrobot.dao.AbstractDao; import de.greenrobot.dao.AbstractDao;
import de.greenrobot.dao.Property; import de.greenrobot.dao.Property;
import nodomain.freeyourgadget.gadgetbridge.GBApplication; import nodomain.freeyourgadget.gadgetbridge.GBApplication;
@@ -264,4 +264,9 @@ public class HPlusCoordinator extends AbstractBLEDeviceCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_hplus; return R.drawable.ic_device_hplus;
} }
@Override
public DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.FITNESS_BAND;
}
} }
@@ -54,4 +54,9 @@ public class Q8Coordinator extends HPlusCoordinator {
public Class<? extends DeviceSupport> getDeviceSupportClass(final GBDevice device) { public Class<? extends DeviceSupport> getDeviceSupportClass(final GBDevice device) {
return Q8Support.class; return Q8Support.class;
} }
@Override
public DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.FITNESS_BAND;
}
} }
@@ -28,6 +28,7 @@ import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler;
import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst;
import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiCoordinator;
@@ -180,4 +181,9 @@ public class AmazfitBand5Coordinator extends HuamiCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_miband2; return R.drawable.ic_device_miband2;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -28,6 +28,7 @@ import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler;
import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
@@ -144,4 +145,9 @@ public class AmazfitCorCoordinator extends HuamiCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_default; return R.drawable.ic_device_default;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -144,4 +144,9 @@ public class AmazfitCor2Coordinator extends HuamiCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_default; return R.drawable.ic_device_default;
} }
@Override
public DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.FITNESS_BAND;
}
} }
@@ -28,6 +28,7 @@ import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler;
import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst;
import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiCoordinator;
@@ -143,4 +144,9 @@ public class AmazfitXCoordinator extends HuamiCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_miband2; return R.drawable.ic_device_miband2;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -30,6 +30,7 @@ import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler;
import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst;
import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiCoordinator;
@@ -133,4 +134,9 @@ public class MiBand2Coordinator extends HuamiCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_miband2; return R.drawable.ic_device_miband2;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -27,6 +27,7 @@ import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; 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.HuamiConst;
import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandSettingsCustomizer;
@@ -114,4 +115,9 @@ public class MiBand2HRXCoordinator extends HuamiCoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_miband2_hrx; return R.string.devicetype_miband2_hrx;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -167,4 +167,9 @@ public class MiBand3Coordinator extends HuamiCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_miband2; return R.drawable.ic_device_miband2;
} }
@Override
public DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.FITNESS_BAND;
}
} }
@@ -177,4 +177,9 @@ public class MiBand4Coordinator extends HuamiCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_miband2; return R.drawable.ic_device_miband2;
} }
@Override
public DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.FITNESS_BAND;
}
} }
@@ -196,4 +196,9 @@ public class MiBand5Coordinator extends HuamiCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_miband2; return R.drawable.ic_device_miband2;
} }
@Override
public DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.FITNESS_BAND;
}
} }
@@ -218,4 +218,9 @@ public class MiBand6Coordinator extends HuamiCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_miband6; return R.drawable.ic_device_miband6;
} }
@Override
public DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.FITNESS_BAND;
}
} }
@@ -16,12 +16,15 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.rings; package nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.rings;
import androidx.annotation.NonNull;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.ZeppOsCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.ZeppOsCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
public class AmazfitHelioRingCoordinator extends ZeppOsCoordinator { public class AmazfitHelioRingCoordinator extends ZeppOsCoordinator {
@Override @Override
@@ -48,4 +51,9 @@ public class AmazfitHelioRingCoordinator extends ZeppOsCoordinator {
public boolean hasDisplay() { public boolean hasDisplay() {
return false; return false;
} }
@Override
public DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.RING;
}
} }
@@ -16,12 +16,15 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.straps; package nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.straps;
import androidx.annotation.NonNull;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.ZeppOsCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.ZeppOsCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
public class AmazfitHelioStrapCoordinator extends ZeppOsCoordinator { public class AmazfitHelioStrapCoordinator extends ZeppOsCoordinator {
@Override @Override
@@ -48,4 +51,9 @@ public class AmazfitHelioStrapCoordinator extends ZeppOsCoordinator {
public boolean hasDisplay() { public boolean hasDisplay() {
return false; return false;
} }
@Override
public DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.FITNESS_BAND;
}
} }
@@ -16,6 +16,8 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.watches; package nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.watches;
import androidx.annotation.NonNull;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet; import java.util.HashSet;
@@ -61,4 +63,9 @@ public class AmazfitBand7Coordinator extends ZeppOsCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_default; return R.drawable.ic_device_default;
} }
@Override
public DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.FITNESS_BAND;
}
} }
@@ -16,6 +16,8 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.watches; package nodomain.freeyourgadget.gadgetbridge.devices.huami.zeppos.watches;
import androidx.annotation.NonNull;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
@@ -80,4 +82,9 @@ public class MiBand7Coordinator extends ZeppOsCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_miband6; return R.drawable.ic_device_miband6;
} }
@Override
public DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.FITNESS_BAND;
}
} }
@@ -25,6 +25,7 @@ import java.util.Set;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiFreebudsCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiFreebudsCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiHeadphonesCapabilities;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
@@ -62,4 +63,9 @@ public class HuaweiFreebuds5iCoordinator extends HuaweiFreebudsCoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_huawei_freebuds_5i; return R.string.devicetype_huawei_freebuds_5i;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.HEAD_MOUNTED;
}
} }
@@ -25,6 +25,7 @@ import java.util.Set;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiFreebudsCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiFreebudsCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiHeadphonesCapabilities;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
@@ -62,4 +63,9 @@ public class HuaweiFreebuds6Coordinator extends HuaweiFreebudsCoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_huawei_freebuds_6; return R.string.devicetype_huawei_freebuds_6;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.HEAD_MOUNTED;
}
} }
@@ -25,6 +25,7 @@ import java.util.Set;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiFreebudsCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiFreebudsCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiHeadphonesCapabilities; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiHeadphonesCapabilities;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
@@ -64,4 +65,9 @@ public class HuaweiFreebudsProCoordinator extends HuaweiFreebudsCoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_huawei_freebuds_pro; return R.string.devicetype_huawei_freebuds_pro;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.HEAD_MOUNTED;
}
} }
@@ -21,6 +21,7 @@ import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
@@ -51,4 +52,9 @@ public class HonorBand3Coordinator extends HuaweiLECoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_honor_band3; return R.string.devicetype_honor_band3;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -16,11 +16,15 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.huawei.honorband4; package nodomain.freeyourgadget.gadgetbridge.devices.huawei.honorband4;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
public class HonorBand4Coordinator extends HuaweiLECoordinator { public class HonorBand4Coordinator extends HuaweiLECoordinator {
@@ -43,4 +47,9 @@ public class HonorBand4Coordinator extends HuaweiLECoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_honor_band4; return R.string.devicetype_honor_band4;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -16,11 +16,15 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.huawei.honorband5; package nodomain.freeyourgadget.gadgetbridge.devices.huawei.honorband5;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
public class HonorBand5Coordinator extends HuaweiLECoordinator { public class HonorBand5Coordinator extends HuaweiLECoordinator {
@@ -43,4 +47,9 @@ public class HonorBand5Coordinator extends HuaweiLECoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_honor_band5; return R.string.devicetype_honor_band5;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -16,11 +16,15 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.huawei.honorband6; package nodomain.freeyourgadget.gadgetbridge.devices.huawei.honorband6;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
public class HonorBand6Coordinator extends HuaweiLECoordinator { public class HonorBand6Coordinator extends HuaweiLECoordinator {
@@ -43,4 +47,9 @@ public class HonorBand6Coordinator extends HuaweiLECoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_honor_band6; return R.string.devicetype_honor_band6;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -16,11 +16,15 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.huawei.honorband7; package nodomain.freeyourgadget.gadgetbridge.devices.huawei.honorband7;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
public class HonorBand7Coordinator extends HuaweiLECoordinator { public class HonorBand7Coordinator extends HuaweiLECoordinator {
@@ -43,4 +47,9 @@ public class HonorBand7Coordinator extends HuaweiLECoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_honor_band7; return R.string.devicetype_honor_band7;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -16,11 +16,15 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband10; package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband10;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
public class HuaweiBand10Coordinator extends HuaweiLECoordinator { public class HuaweiBand10Coordinator extends HuaweiLECoordinator {
@@ -43,4 +47,9 @@ public class HuaweiBand10Coordinator extends HuaweiLECoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_huawei_band10; return R.string.devicetype_huawei_band10;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -16,11 +16,15 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband2pro; package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband2pro;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
public class HuaweiBand2ProCoordinator extends HuaweiLECoordinator { public class HuaweiBand2ProCoordinator extends HuaweiLECoordinator {
@@ -38,4 +42,9 @@ public class HuaweiBand2ProCoordinator extends HuaweiLECoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_huawei_band2pro; return R.string.devicetype_huawei_band2pro;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -16,11 +16,15 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband3pro; package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband3pro;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
public class HuaweiBand3ProCoordinator extends HuaweiLECoordinator { public class HuaweiBand3ProCoordinator extends HuaweiLECoordinator {
@@ -38,4 +42,9 @@ public class HuaweiBand3ProCoordinator extends HuaweiLECoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_huawei_band3pro; return R.string.devicetype_huawei_band3pro;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -16,11 +16,15 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband4pro; package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband4pro;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
public class HuaweiBand4ProCoordinator extends HuaweiLECoordinator { public class HuaweiBand4ProCoordinator extends HuaweiLECoordinator {
@@ -38,4 +42,9 @@ public class HuaweiBand4ProCoordinator extends HuaweiLECoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_huawei_band4pro; return R.string.devicetype_huawei_band4pro;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -16,11 +16,15 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband6; package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband6;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
public class HuaweiBand6Coordinator extends HuaweiLECoordinator { public class HuaweiBand6Coordinator extends HuaweiLECoordinator {
@@ -38,4 +42,9 @@ public class HuaweiBand6Coordinator extends HuaweiLECoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_huawei_band6; return R.string.devicetype_huawei_band6;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -16,11 +16,15 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband7; package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband7;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
public class HuaweiBand7Coordinator extends HuaweiLECoordinator { public class HuaweiBand7Coordinator extends HuaweiLECoordinator {
@@ -38,4 +42,9 @@ public class HuaweiBand7Coordinator extends HuaweiLECoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_huawei_band7; return R.string.devicetype_huawei_band7;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -16,11 +16,15 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband8; package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband8;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
public class HuaweiBand8Coordinator extends HuaweiLECoordinator { public class HuaweiBand8Coordinator extends HuaweiLECoordinator {
@@ -38,4 +42,9 @@ public class HuaweiBand8Coordinator extends HuaweiLECoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_huawei_band8; return R.string.devicetype_huawei_band8;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -16,11 +16,15 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband9; package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweiband9;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
public class HuaweiBand9Coordinator extends HuaweiLECoordinator { public class HuaweiBand9Coordinator extends HuaweiLECoordinator {
@@ -43,4 +47,9 @@ public class HuaweiBand9Coordinator extends HuaweiLECoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_huawei_band9; return R.string.devicetype_huawei_band9;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -16,11 +16,15 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweibandaw70; package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweibandaw70;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiLECoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
public class HuaweiBandAw70Coordinator extends HuaweiLECoordinator { public class HuaweiBandAw70Coordinator extends HuaweiLECoordinator {
@@ -43,4 +47,9 @@ public class HuaweiBandAw70Coordinator extends HuaweiLECoordinator {
public HuaweiDeviceType getHuaweiType() { public HuaweiDeviceType getHuaweiType() {
return HuaweiDeviceType.AW; return HuaweiDeviceType.AW;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -16,11 +16,15 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweitalkbandb6; package nodomain.freeyourgadget.gadgetbridge.devices.huawei.huaweitalkbandb6;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiBRCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiBRCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants; import nodomain.freeyourgadget.gadgetbridge.devices.huawei.HuaweiConstants;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
public class HuaweiTalkBandB6Coordinator extends HuaweiBRCoordinator { public class HuaweiTalkBandB6Coordinator extends HuaweiBRCoordinator {
@@ -43,4 +47,9 @@ public class HuaweiTalkBandB6Coordinator extends HuaweiBRCoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_huawei_talk_band_b6; return R.string.devicetype_huawei_talk_band_b6;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -31,6 +31,7 @@ import de.greenrobot.dao.AbstractDao;
import de.greenrobot.dao.Property; import de.greenrobot.dao.Property;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider;
import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession;
import nodomain.freeyourgadget.gadgetbridge.entities.ID115ActivitySampleDao; import nodomain.freeyourgadget.gadgetbridge.entities.ID115ActivitySampleDao;
@@ -100,6 +101,11 @@ public class ID115Coordinator extends AbstractBLEDeviceCoordinator {
return R.string.devicetype_id115; return R.string.devicetype_id115;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
@Override @Override
public int getDefaultIconResource() { public int getDefaultIconResource() {
@@ -9,6 +9,7 @@ import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport;
import nodomain.freeyourgadget.gadgetbridge.service.devices.idasen.IdasenDeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.idasen.IdasenDeviceSupport;
@@ -60,4 +61,9 @@ public class IdasenCoordinator extends AbstractBLEDeviceCoordinator {
R.xml.devicesettings_idasen R.xml.devicesettings_idasen
}; };
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.UNKNOWN;
}
} }
@@ -27,6 +27,7 @@ import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport;
import nodomain.freeyourgadget.gadgetbridge.service.devices.itag.ITagSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.itag.ITagSupport;
@@ -87,4 +88,9 @@ public class ITagCoordinator extends AbstractBLEDeviceCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_itag; return R.drawable.ic_device_itag;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.UNKNOWN;
}
} }
@@ -29,6 +29,7 @@ import androidx.annotation.NonNull;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport;
import nodomain.freeyourgadget.gadgetbridge.service.devices.jyou.BFH16DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.jyou.BFH16DeviceSupport;
@@ -93,4 +94,9 @@ public class BFH16DeviceCoordinator extends AbstractBLEDeviceCoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_bfh16; return R.string.devicetype_bfh16;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -28,6 +28,7 @@ import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.jyou.JYouConstants; import nodomain.freeyourgadget.gadgetbridge.devices.jyou.JYouConstants;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate;
@@ -98,6 +99,11 @@ public class TeclastH30Coordinator extends AbstractBLEDeviceCoordinator {
return R.string.devicetype_teclast_h30; return R.string.devicetype_teclast_h30;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
@Override @Override
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_h30_h10; return R.drawable.ic_device_h30_h10;
@@ -27,6 +27,7 @@ import de.greenrobot.dao.AbstractDao;
import de.greenrobot.dao.Property; import de.greenrobot.dao.Property;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider;
import nodomain.freeyourgadget.gadgetbridge.devices.jyou.JYouSampleProvider; import nodomain.freeyourgadget.gadgetbridge.devices.jyou.JYouSampleProvider;
import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession;
@@ -109,4 +110,9 @@ public class Y5Coordinator extends AbstractBLEDeviceCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_h30_h10; return R.drawable.ic_device_h30_h10;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -21,6 +21,7 @@ import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
public class BohemicSmartBraceletDeviceCoordinator extends LefunDeviceCoordinator { public class BohemicSmartBraceletDeviceCoordinator extends LefunDeviceCoordinator {
@@ -53,4 +54,9 @@ public class BohemicSmartBraceletDeviceCoordinator extends LefunDeviceCoordinato
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_bohemic_smart_bracelet; return R.string.devicetype_bohemic_smart_bracelet;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -23,6 +23,7 @@ import de.greenrobot.dao.AbstractDao;
import de.greenrobot.dao.Property; import de.greenrobot.dao.Property;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider;
import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession;
import nodomain.freeyourgadget.gadgetbridge.entities.LefunActivitySampleDao; import nodomain.freeyourgadget.gadgetbridge.entities.LefunActivitySampleDao;
@@ -164,4 +165,9 @@ public class LefunDeviceCoordinator extends AbstractBLEDeviceCoordinator {
map.put(session.getLefunSleepSampleDao(), LefunSleepSampleDao.Properties.DeviceId); map.put(session.getLefunSleepSampleDao(), LefunSleepSampleDao.Properties.DeviceId);
return map; return map;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -21,6 +21,7 @@ import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
public class VivitarHrBpMonitorActivityTrackerCoordinator extends LefunDeviceCoordinator { public class VivitarHrBpMonitorActivityTrackerCoordinator extends LefunDeviceCoordinator {
@@ -52,4 +53,9 @@ public class VivitarHrBpMonitorActivityTrackerCoordinator extends LefunDeviceCoo
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_vivitar_hr_bp_monitor_activity_tracker; return R.string.devicetype_vivitar_hr_bp_monitor_activity_tracker;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -23,6 +23,7 @@ import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLClassicDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLClassicDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport;
import nodomain.freeyourgadget.gadgetbridge.service.devices.liveview.LiveviewSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.liveview.LiveviewSupport;
@@ -36,6 +36,7 @@ import de.greenrobot.dao.Property;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider;
import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession;
import nodomain.freeyourgadget.gadgetbridge.entities.MakibesHR3ActivitySampleDao; import nodomain.freeyourgadget.gadgetbridge.entities.MakibesHR3ActivitySampleDao;
@@ -202,4 +203,9 @@ public class MakibesHR3Coordinator extends AbstractBLEDeviceCoordinator {
public int getDeviceNameResource() { public int getDeviceNameResource() {
return R.string.devicetype_makibes_hr3; return R.string.devicetype_makibes_hr3;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -25,6 +25,7 @@ import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport;
import nodomain.freeyourgadget.gadgetbridge.service.devices.marstek.MarstekB2500DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.marstek.MarstekB2500DeviceSupport;
@@ -85,4 +86,9 @@ public class MarstekB2500DeviceCoordinator extends AbstractBLEDeviceCoordinator
public boolean isExperimental() { public boolean isExperimental() {
return true; return true;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.UNKNOWN;
}
} }
@@ -48,6 +48,7 @@ import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpec
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler;
import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider;
import nodomain.freeyourgadget.gadgetbridge.entities.AbstractActivitySample; import nodomain.freeyourgadget.gadgetbridge.entities.AbstractActivitySample;
@@ -299,4 +300,9 @@ public class MiBandCoordinator extends AbstractBLEDeviceCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_miband; return R.drawable.ic_device_miband;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -16,9 +16,13 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.mijia_lywsd; package nodomain.freeyourgadget.gadgetbridge.devices.mijia_lywsd;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
public class MijiaLywsd02Coordinator extends AbstractMijiaLywsdCoordinator { public class MijiaLywsd02Coordinator extends AbstractMijiaLywsdCoordinator {
@Override @Override
@@ -40,4 +44,9 @@ public class MijiaLywsd02Coordinator extends AbstractMijiaLywsdCoordinator {
public boolean supportsSetTime() { public boolean supportsSetTime() {
return true; return true;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.UNKNOWN;
}
} }
@@ -16,9 +16,13 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.mijia_lywsd; package nodomain.freeyourgadget.gadgetbridge.devices.mijia_lywsd;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
public class MijiaLywsd03Coordinator extends AbstractMijiaLywsdCoordinator { public class MijiaLywsd03Coordinator extends AbstractMijiaLywsdCoordinator {
@Override @Override
@@ -40,4 +44,9 @@ public class MijiaLywsd03Coordinator extends AbstractMijiaLywsdCoordinator {
public boolean supportsSetTime() { public boolean supportsSetTime() {
return false; return false;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.UNKNOWN;
}
} }
@@ -16,9 +16,13 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.mijia_lywsd; package nodomain.freeyourgadget.gadgetbridge.devices.mijia_lywsd;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
public class MijiaMhoC303Coordinator extends AbstractMijiaLywsdCoordinator { public class MijiaMhoC303Coordinator extends AbstractMijiaLywsdCoordinator {
@Override @Override
@@ -40,4 +44,9 @@ public class MijiaMhoC303Coordinator extends AbstractMijiaLywsdCoordinator {
public boolean supportsSetTime() { public boolean supportsSetTime() {
return true; return true;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.UNKNOWN;
}
} }
@@ -16,9 +16,13 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.mijia_lywsd; package nodomain.freeyourgadget.gadgetbridge.devices.mijia_lywsd;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
public class MijiaXmwsdj04Coordinator extends AbstractMijiaLywsdCoordinator { public class MijiaXmwsdj04Coordinator extends AbstractMijiaLywsdCoordinator {
@Override @Override
@@ -40,4 +44,9 @@ public class MijiaXmwsdj04Coordinator extends AbstractMijiaLywsdCoordinator {
public boolean supportsSetTime() { public boolean supportsSetTime() {
return false; return false;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.UNKNOWN;
}
} }
@@ -134,4 +134,9 @@ public class MiCompositionScaleCoordinator extends AbstractBLEDeviceCoordinator
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_miscale; return R.drawable.ic_device_miscale;
} }
@Override
public DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.SCALE;
}
} }
@@ -130,4 +130,9 @@ public class MiSmartScaleCoordinator extends AbstractBLEDeviceCoordinator {
public EnumSet<ServiceDeviceSupport.Flags> getInitialFlags() { public EnumSet<ServiceDeviceSupport.Flags> getInitialFlags() {
return EnumSet.noneOf(ServiceDeviceSupport.Flags.class); return EnumSet.noneOf(ServiceDeviceSupport.Flags.class);
} }
@Override
public DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceKind.SCALE;
}
} }
@@ -24,6 +24,7 @@ import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings;
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLClassicDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLClassicDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport;
import nodomain.freeyourgadget.gadgetbridge.service.devices.moondrop.MoondropSpaceTravelDeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.moondrop.MoondropSpaceTravelDeviceSupport;
@@ -76,4 +77,9 @@ public class MoondropSpaceTravelCoordinator extends AbstractBLClassicDeviceCoord
public Class<? extends DeviceSupport> getDeviceSupportClass(final GBDevice device) { public Class<? extends DeviceSupport> getDeviceSupportClass(final GBDevice device) {
return MoondropSpaceTravelDeviceSupport.class; return MoondropSpaceTravelDeviceSupport.class;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.HEAD_MOUNTED;
}
} }
@@ -33,6 +33,7 @@ import de.greenrobot.dao.AbstractDao;
import de.greenrobot.dao.Property; import de.greenrobot.dao.Property;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider;
import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession;
import nodomain.freeyourgadget.gadgetbridge.entities.No1F1ActivitySampleDao; import nodomain.freeyourgadget.gadgetbridge.entities.No1F1ActivitySampleDao;
@@ -119,4 +120,9 @@ public class No1F1Coordinator extends AbstractBLEDeviceCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_hplus; return R.drawable.ic_device_hplus;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
}
} }
@@ -16,9 +16,13 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.nothing; package nodomain.freeyourgadget.gadgetbridge.devices.nothing;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
public class CmfBudsPro2Coordinator extends AbstractEarCoordinator { public class CmfBudsPro2Coordinator extends AbstractEarCoordinator {
@Override @Override
@@ -31,6 +35,11 @@ public class CmfBudsPro2Coordinator extends AbstractEarCoordinator {
return R.string.devicetype_nothing_cmf_buds_pro_2; return R.string.devicetype_nothing_cmf_buds_pro_2;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.HEAD_MOUNTED;
}
@Override @Override
public boolean incrementCounter() { public boolean incrementCounter() {
return false; return false;
@@ -17,9 +17,13 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.nothing; package nodomain.freeyourgadget.gadgetbridge.devices.nothing;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
public class Ear1Coordinator extends AbstractEarCoordinator { public class Ear1Coordinator extends AbstractEarCoordinator {
@Override @Override
@@ -32,6 +36,11 @@ public class Ear1Coordinator extends AbstractEarCoordinator {
return R.string.devicetype_nothingear1; return R.string.devicetype_nothingear1;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.HEAD_MOUNTED;
}
@Override @Override
public boolean incrementCounter() { public boolean incrementCounter() {
return false; return false;
@@ -16,9 +16,13 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.nothing; package nodomain.freeyourgadget.gadgetbridge.devices.nothing;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
public class Ear2Coordinator extends AbstractEarCoordinator { public class Ear2Coordinator extends AbstractEarCoordinator {
@Override @Override
@@ -31,6 +35,11 @@ public class Ear2Coordinator extends AbstractEarCoordinator {
return R.string.devicetype_nothingear2; return R.string.devicetype_nothingear2;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.HEAD_MOUNTED;
}
@Override @Override
public boolean incrementCounter() { public boolean incrementCounter() {
return false; return false;
@@ -16,9 +16,13 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.nothing; package nodomain.freeyourgadget.gadgetbridge.devices.nothing;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
public class EarACoordinator extends AbstractEarCoordinator { public class EarACoordinator extends AbstractEarCoordinator {
@Override @Override
@@ -31,6 +35,11 @@ public class EarACoordinator extends AbstractEarCoordinator {
return R.string.devicetype_nothing_ear_a; return R.string.devicetype_nothing_ear_a;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.HEAD_MOUNTED;
}
@Override @Override
public boolean incrementCounter() { public boolean incrementCounter() {
return true; return true;
@@ -16,9 +16,13 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.nothing; package nodomain.freeyourgadget.gadgetbridge.devices.nothing;
import androidx.annotation.NonNull;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
public class EarStickCoordinator extends AbstractEarCoordinator { public class EarStickCoordinator extends AbstractEarCoordinator {
@Override @Override
@@ -31,6 +35,11 @@ public class EarStickCoordinator extends AbstractEarCoordinator {
return R.string.devicetype_nothingearstick; return R.string.devicetype_nothingearstick;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.HEAD_MOUNTED;
}
@Override @Override
public boolean incrementCounter() { public boolean incrementCounter() {
return true; return true;
@@ -27,6 +27,7 @@ import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport;
import nodomain.freeyourgadget.gadgetbridge.service.devices.nut.NutSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.nut.NutSupport;
@@ -83,4 +84,9 @@ public class NutCoordinator extends AbstractBLEDeviceCoordinator {
public int getDefaultIconResource() { public int getDefaultIconResource() {
return R.drawable.ic_device_itag; return R.drawable.ic_device_itag;
} }
@Override
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
return DeviceCoordinator.DeviceKind.UNKNOWN;
}
} }

Some files were not shown because too many files have changed in this diff Show More