diff options
Diffstat (limited to 'app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java')
-rw-r--r-- | app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java | 18 |
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 { |