aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2015-01-27 21:23:50 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2015-01-27 21:23:50 +0100
commitc4685214d8db34166213ffa373a16af1a99401a5 (patch)
tree56e24e25119f28ff8c0a730c4d5313bc523a5c66 /app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java
parent138b49247a72890df66af9a01e1179dab72a4b71 (diff)
downloadio.trygvis.soilmoisture-android-c4685214d8db34166213ffa373a16af1a99401a5.tar.gz
io.trygvis.soilmoisture-android-c4685214d8db34166213ffa373a16af1a99401a5.tar.bz2
io.trygvis.soilmoisture-android-c4685214d8db34166213ffa373a16af1a99401a5.tar.xz
io.trygvis.soilmoisture-android-c4685214d8db34166213ffa373a16af1a99401a5.zip
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.
Diffstat (limited to 'app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java')
-rw-r--r--app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java15
1 files changed, 13 insertions, 2 deletions
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<byte[], BtPromise.PromiseResult> 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);
}
}