aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/io/trygvis/android/bt/BtService.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/io/trygvis/android/bt/BtService.java')
-rw-r--r--app/src/main/java/io/trygvis/android/bt/BtService.java55
1 files changed, 55 insertions, 0 deletions
diff --git a/app/src/main/java/io/trygvis/android/bt/BtService.java b/app/src/main/java/io/trygvis/android/bt/BtService.java
new file mode 100644
index 0000000..123be3a
--- /dev/null
+++ b/app/src/main/java/io/trygvis/android/bt/BtService.java
@@ -0,0 +1,55 @@
+package io.trygvis.android.bt;
+
+import android.os.Binder;
+
+import java.util.List;
+
+public interface BtService<A> {
+
+ boolean initialize(BtServiceListener<A> btServiceListener, Supplier<A> dataSupplier);
+
+ void clearCache();
+
+ boolean isScanning();
+
+ boolean startScanning(long timeoutMs);
+
+ void stopScanning();
+
+// BtDevice<A> getDevice(String macAddress);
+
+ List<BtDevice<A>> getDevices();
+
+ interface Supplier<A> {
+ A get();
+ }
+
+ interface BtServiceListener<A> {
+ void onScanStarted();
+
+ void onNewDevice(BtDevice<A> device);
+
+ void onScanStopped();
+ }
+
+ public abstract class AbstractBtServiceListener<A> implements BtServiceListener<A> {
+
+ public void onScanStarted() {
+ }
+
+ public void onScanStopped() {
+ }
+ }
+
+ public class LocalBinder<A> extends Binder {
+ private final BtService<A> service;
+
+ public LocalBinder(BtService<A> service) {
+ this.service = service;
+ }
+
+ public BtService<A> getService() {
+ return service;
+ }
+ }
+}