mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2026-07-31 07:44:24 +02:00
igpsport: Get SN from device
* need to find way to use it as idintifier in DB since it is constant for each device, but MAC changes on unpair
This commit is contained in:
committed by
José Rebelo
parent
b0308d01b7
commit
f6aa398316
+11
@@ -180,6 +180,12 @@ public class IGPSportDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
|
||||
builder.write(writeCharacteristic, factoryGetBatterydata);
|
||||
|
||||
Factory.factory_msg.Builder snFfactoryBuilder = Factory.factory_msg.newBuilder();
|
||||
snFfactoryBuilder.setServiceType(Common.service_type_index.enum_SERVICE_TYPE_INDEX_FACTORY);
|
||||
snFfactoryBuilder.setFactoryOperateType(Factory.FACTORY_OPERATE_TYPE.enum_FACTORY_OPERATE_TYPE_SN_GET);
|
||||
byte[] factoryGetSNdata = craftData(snFfactoryBuilder.getServiceType().getNumber(), 0xff, snFfactoryBuilder.getFactoryOperateType().getNumber(), snFfactoryBuilder.build().toByteArray());
|
||||
builder.write(writeCharacteristic, factoryGetSNdata);
|
||||
|
||||
// set device firmware to prevent the following error when you (later) try to save data to database and
|
||||
// device firmware has not been set yet
|
||||
// Error executing 'the bind value at index 2 is null'java.lang.IllegalArgumentException: the bind value at index 2 is null
|
||||
@@ -281,6 +287,11 @@ public class IGPSportDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
if (factoryMsg.hasBattaryMsg()) {
|
||||
gbDevice.setBatteryLevel(factoryMsg.getBattaryMsg().getPowerPercent());
|
||||
}
|
||||
if (factoryMsg.getFactorySnMsgList().size() > 0) {
|
||||
// save serial to volatile address now, need to find way to use it as identifier in database
|
||||
// instead of MAc, because MAC changes on rebind for this devices
|
||||
gbDevice.setVolatileAddress(factoryMsg.getFactorySnMsg(0).getSn());
|
||||
}
|
||||
}
|
||||
|
||||
public void handleFirmwareData(byte[] data) throws InvalidProtocolBufferException {
|
||||
|
||||
Reference in New Issue
Block a user