aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/io/trygvis/soilmoisture/SmDevicesManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/io/trygvis/soilmoisture/SmDevicesManager.java')
-rw-r--r--app/src/main/java/io/trygvis/soilmoisture/SmDevicesManager.java50
1 files changed, 50 insertions, 0 deletions
diff --git a/app/src/main/java/io/trygvis/soilmoisture/SmDevicesManager.java b/app/src/main/java/io/trygvis/soilmoisture/SmDevicesManager.java
new file mode 100644
index 0000000..531061a
--- /dev/null
+++ b/app/src/main/java/io/trygvis/soilmoisture/SmDevicesManager.java
@@ -0,0 +1,50 @@
+package io.trygvis.soilmoisture;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+
+import java.util.Comparator;
+import java.util.List;
+
+import io.trygvis.android.bt.BtDevice;
+
+public interface SmDevicesManager {
+ List<SmDevice> getDevices(Comparator<SmDevice> comparator);
+
+ SmDevice getDevice(String address);
+
+ boolean isScanning();
+
+ boolean startScanning(long scanPeriod);
+
+ void stopScanning();
+
+ public abstract static class SmDeviceListener extends BroadcastReceiver {
+
+ public static final String INTENT_NAME = SmDeviceListener.class.getName();
+
+ public static final IntentFilter INTENT_FILTER = new IntentFilter(INTENT_NAME);
+
+ public void onReceive(Context context, Intent intent) {
+ if (!intent.getAction().equals(INTENT_NAME)) {
+ return;
+ }
+
+ DefaultSmDevicesManager.dispatchEvent(intent, this);
+ }
+
+ public void onReady(boolean ok) {
+ }
+
+ public void onScanStarted() {
+ }
+
+ public void onNewDevice(String address) {
+ }
+
+ public void onScanStopped() {
+ }
+ }
+}