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.java50
1 files changed, 25 insertions, 25 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
index 123be3a..968a4a8 100644
--- a/app/src/main/java/io/trygvis/android/bt/BtService.java
+++ b/app/src/main/java/io/trygvis/android/bt/BtService.java
@@ -1,12 +1,17 @@
package io.trygvis.android.bt;
-import android.os.Binder;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
-import java.util.List;
+import java.util.Collection;
-public interface BtService<A> {
+import io.trygvis.android.Function;
- boolean initialize(BtServiceListener<A> btServiceListener, Supplier<A> dataSupplier);
+public interface BtService<A extends BtDevice.BtDeviceWrapper<A>> {
+
+ boolean initialize(Function<BtDevice<A>, A> tagConstructor);
void clearCache();
@@ -16,40 +21,35 @@ public interface BtService<A> {
void stopScanning();
-// BtDevice<A> getDevice(String macAddress);
+ BtDevice<A> getDevice(String address);
- List<BtDevice<A>> getDevices();
+ A getTag(String address);
- interface Supplier<A> {
- A get();
- }
+ Collection<BtDevice<A>> getDevices();
- interface BtServiceListener<A> {
- void onScanStarted();
+ Collection<A> getTags();
- void onNewDevice(BtDevice<A> device);
+ public static class BtServiceListenerBroadcastReceiver extends BroadcastReceiver {
- void onScanStopped();
- }
+ public static final String INTENT_NAME = BtServiceListenerBroadcastReceiver.class.getName();
- public abstract class AbstractBtServiceListener<A> implements BtServiceListener<A> {
+ public static final IntentFilter INTENT_FILTER = new IntentFilter(INTENT_NAME);
- public void onScanStarted() {
- }
+ public void onReceive(Context context, Intent intent) {
+ if (!intent.getAction().equals(INTENT_NAME)) {
+ return;
+ }
- public void onScanStopped() {
+ DefaultBtService.dispatchEvent(intent, this);
}
- }
- public class LocalBinder<A> extends Binder {
- private final BtService<A> service;
+ public void onScanStarted() {
+ }
- public LocalBinder(BtService<A> service) {
- this.service = service;
+ public void onNewDevice(String address) {
}
- public BtService<A> getService() {
- return service;
+ public void onScanStopped() {
}
}
}