igpsport: Split IGPSport coordinator add iGS630

This commit is contained in:
Vitaliy Tomin
2026-05-13 23:33:24 +02:00
committed by José Rebelo
parent 601eca82ef
commit d487666624
5 changed files with 51 additions and 20 deletions
@@ -19,12 +19,7 @@ import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport;
import nodomain.freeyourgadget.gadgetbridge.service.devices.igpsport.IGPSportDeviceSupport;
public class IGPSportCoordinator extends AbstractBLEDeviceCoordinator {
@Override
public int getDeviceNameResource() {
return R.string.devicetype_igpsport_bsc200;
}
public abstract class IGPSportAbstractCoordinator extends AbstractBLEDeviceCoordinator {
@Override
public int getDefaultIconResource() {
return R.drawable.ic_device_default;
@@ -46,15 +41,6 @@ public class IGPSportCoordinator extends AbstractBLEDeviceCoordinator {
return BONDING_STYLE_ASK;
}
@Override
protected Pattern getSupportedDeviceName() {
/* return Pattern.compile("Amazfit T-Rex", Pattern.CASE_INSENSITIVE); */
/* return Pattern.compile("Xiaomi Smart Band 7.*"); */
/* return Pattern.compile("Bangle\\.js.*|Pixl\\.js.*|Puck\\.js.*|MDBT42Q.*|Espruino.*"); /*
/* return Pattern.compile("M6.*|M4.*|LH716|Sunset 6|Watch7|Fit1900"); */
return Pattern.compile("BSC200");
}
@Override
protected void deleteDevice(@NonNull GBDevice gbDevice, @NonNull Device device, @NonNull DaoSession session) throws GBException {
// Long deviceId = device.getId();
@@ -0,0 +1,23 @@
package nodomain.freeyourgadget.gadgetbridge.devices.igpsport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R;
public class IGPSportBSC200Coordinator extends IGPSportAbstractCoordinator{
private static final Logger LOG = LoggerFactory.getLogger(IGPSportBSC200Coordinator.class);
@Override
public int getDeviceNameResource() {
return R.string.devicetype_igpsport_bsc200;
}
@Override
protected Pattern getSupportedDeviceName() {
return Pattern.compile("BSC200");
}
}
@@ -79,7 +79,7 @@ public class IGPSportRouteInstallHandler implements InstallHandler {
}
final DeviceCoordinator coordinator = device.getDeviceCoordinator();
if (!(coordinator instanceof IGPSportCoordinator)) {
if (!(coordinator instanceof IGPSportAbstractCoordinator)) {
LOG.warn("Coordinator is not a IGPSportCoordinator: {}", coordinator.getClass());
installActivity.setInfoText(mContext.getString(R.string.fwapp_install_device_not_supported));
installActivity.setInstallEnabled(false);
@@ -0,0 +1,22 @@
package nodomain.freeyourgadget.gadgetbridge.devices.igpsport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.R;
public class IGPSportiGS630Coordinator extends IGPSportAbstractCoordinator {
private static final Logger LOG = LoggerFactory.getLogger(IGPSportiGS630Coordinator.class);
@Override
public int getDeviceNameResource() {
return R.string.devicetype_igpsport_igs630;
}
@Override
protected Pattern getSupportedDeviceName() {
return Pattern.compile("iGS630");
}
}
@@ -183,11 +183,11 @@ public class IGPSportDeviceSupport extends AbstractBTLEDeviceSupport {
@Override
public boolean onCharacteristicChanged(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic) {
super.onCharacteristicChanged(gatt, characteristic);
BluetoothGattCharacteristic characteristic, byte[] value) {
super.onCharacteristicChanged(gatt, characteristic, value);
UUID characteristicUUID = characteristic.getUuid();
byte[] value = characteristic.getValue();
LOG.info("Characteristic changed UUID: " + characteristicUUID);
LOG.info("Characteristic changed value: " + GB.hexdump(characteristic.getValue()));
@@ -393,7 +393,7 @@ public class IGPSportDeviceSupport extends AbstractBTLEDeviceSupport {
case ActivityUser.PREF_USER_WEIGHT_KG:
case ActivityUser.PREF_USER_GENDER:
case ActivityUser.PREF_USER_HEIGHT_CM:
case ActivityUser.PREF_USER_YEAR_OF_BIRTH:
case ActivityUser.PREF_USER_DATE_OF_BIRTH:
setUserData(builder);
break;
case SettingsActivity.PREF_MEASUREMENT_SYSTEM: