aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java')
-rw-r--r--app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java18
1 files changed, 17 insertions, 1 deletions
diff --git a/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java b/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java
index 8a36476..0f08076 100644
--- a/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java
+++ b/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java
@@ -5,6 +5,7 @@ import android.bluetooth.BluetoothGatt;
import android.bluetooth.BluetoothGattCharacteristic;
import android.bluetooth.BluetoothGattService;
import android.content.ComponentName;
+import android.content.ContentValues;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.IBinder;
@@ -27,6 +28,7 @@ import static io.trygvis.android.bt.BtService.BtServiceListenerBroadcastReceiver
public class DefaultSoilMoistureService extends Service implements SoilMoistureService {
private final static String TAG = DefaultSoilMoistureService.class.getSimpleName();
+ private final static int DEFAULT_WARNING_LEVEL = 750;
private final IBinder binder = new LocalBinder<>(this);
@@ -123,7 +125,21 @@ public class DefaultSoilMoistureService extends Service implements SoilMoistureS
return false;
}).
- onFinally(() -> sendBroadcast(createNewDevice(address)));
+ onFinally(() -> {
+ btService.runTx(db -> {
+ if (!btDevice.isSeenBefore() && smDevice.isUseful()) {
+ for (SmSensor soilMonitor : smDevice.getSensors()) {
+ ContentValues values = new ContentValues();
+ values.put("bt_device", btDevice.getId());
+ values.put("warning_level", DEFAULT_WARNING_LEVEL);
+ db.insert("soil_monitor", null, values);
+ }
+ }
+
+ return null;
+ });
+ sendBroadcast(createNewDevice(address));
+ });
btDevice.connect(executor);
} else {