diff options
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.java | 50 |
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() { } } } |