Fixed a bug where null device are returned on sync request
This commit is contained in:
parent
b6a0e39ac3
commit
370fecaa8a
1 changed files with 7 additions and 5 deletions
|
|
@ -108,10 +108,8 @@ public class SmartHomeImpl extends SmartHomeApp implements OAuth2TokenRegistrati
|
||||||
logger.log(Level.WARNING, "Unable to retrieve devices.", e);
|
logger.log(Level.WARNING, "Unable to retrieve devices.", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
res.payload.agentUserId = userAgent;
|
ArrayList<SyncResponse.Payload.Device> responseDeviceList = new ArrayList<>(deviceList.size());
|
||||||
res.payload.devices = new SyncResponse.Payload.Device[deviceList.size()];
|
for (HalAbstractDevice device : deviceList) {
|
||||||
for (int i = 0; i < res.payload.devices.length; i++) {
|
|
||||||
HalAbstractDevice device = deviceList.get(i);
|
|
||||||
DeviceType type = DeviceType.getType(device);
|
DeviceType type = DeviceType.getType(device);
|
||||||
DeviceTrait[] traits = DeviceTraitFactory.getTraits(device);
|
DeviceTrait[] traits = DeviceTraitFactory.getTraits(device);
|
||||||
|
|
||||||
|
|
@ -156,9 +154,13 @@ public class SmartHomeImpl extends SmartHomeApp implements OAuth2TokenRegistrati
|
||||||
customDataJson.put("id", device.getId());
|
customDataJson.put("id", device.getId());
|
||||||
deviceBuilder.setCustomData(customDataJson);
|
deviceBuilder.setCustomData(customDataJson);
|
||||||
|
|
||||||
res.payload.devices[i] = deviceBuilder.build();
|
responseDeviceList.add(deviceBuilder.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
res.payload.agentUserId = userAgent;
|
||||||
|
res.payload.devices = responseDeviceList.toArray(
|
||||||
|
new SyncResponse.Payload.Device[responseDeviceList.size()]);
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue