From c4685214d8db34166213ffa373a16af1a99401a5 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Tue, 27 Jan 2015 21:23:50 +0100 Subject: o Adding 'recently seen' on BtDevice. Updated when scanning. o Removing BtScanResult, it was never used. o Getting MainActivity to listen on device property changed so the UI is properly updated. o Adding a status bar with color to indicate if the device is available, connected or not seen. --- .../trygvis/soilmoisture/DefaultSoilMoistureService.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java') diff --git a/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java b/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java index 85a6afb..3e1c93b 100644 --- a/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java +++ b/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java @@ -119,7 +119,8 @@ public class DefaultSoilMoistureService extends Service implements SoilMoistureS sendBroadcast(createNewDevice(address)); boolean candidate = btDevice.getAddress().startsWith("FB:") || - btDevice.getAddress().startsWith("FD:"); + btDevice.getAddress().startsWith("FD:") || + btDevice.getAddress().startsWith("CE:"); if (!candidate) { Log.w(TAG, "Skipping device: " + btDevice.getAddress()); @@ -131,6 +132,11 @@ public class DefaultSoilMoistureService extends Service implements SoilMoistureS probe(smDevice.getBtDevice().getAddress()); } } + + @Override + public void onDevicePropertyUpdated(String address) { + sendBroadcast(createDevicePropertyUpdated(getDevice(address))); + } }; private BtPromise readAttribute(String value, byte[] req, Function handler) { @@ -159,7 +165,7 @@ public class DefaultSoilMoistureService extends Service implements SoilMoistureS GetSensorNameRes res = parseResponse(bytes, GET_SENSOR_NAME, GetSensorNameRes.class); String name = res.name; - device.getSensorByIndex(index).ifPresent(sensor -> { + device.getSensorByNumber(index).ifPresent(sensor -> { sensor.setName(name); sendBroadcast(createDevicePropertyUpdated(device)); }); @@ -198,6 +204,7 @@ public class DefaultSoilMoistureService extends Service implements SoilMoistureS return continueDirectly(); }). onFinally(success -> { + Log.i(TAG, "finally, smDevice.getIsUseful()=" + smDevice.getIsUseful()); if (smDevice.getIsUseful() == null) { smDevice.setIsUseful(false); } @@ -256,7 +263,11 @@ public class DefaultSoilMoistureService extends Service implements SoilMoistureS values.put(Tables.C_INDEX, i); id = db.insert(Tables.T_SM_SENSOR, null, values); + Log.i(TAG, "Created new sensor row, id=" + id); + device.addSensor(new SmSensor(device, id, (byte) i)); + } else { + Log.i(TAG, "Using existing sensor row, id=" + id); } } -- cgit v1.2.3