diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2015-01-02 21:38:52 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2015-01-02 21:38:52 +0100 |
commit | da80f3d219c0c05568db0cb9a8910f02cc281d47 (patch) | |
tree | f62e2c251a03e2a33a7733f1e5d1829a40bdb1ba /app/src/main/java/io/trygvis/android/bt/BtService.java | |
parent | ed559834ccddafa955df5b528f08fba964e57699 (diff) | |
download | io.trygvis.soilmoisture-android-da80f3d219c0c05568db0cb9a8910f02cc281d47.tar.gz io.trygvis.soilmoisture-android-da80f3d219c0c05568db0cb9a8910f02cc281d47.tar.bz2 io.trygvis.soilmoisture-android-da80f3d219c0c05568db0cb9a8910f02cc281d47.tar.xz io.trygvis.soilmoisture-android-da80f3d219c0c05568db0cb9a8910f02cc281d47.zip |
o Getting closer to something that actually work.
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() { } } } |