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 | 55 |
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; + } + } +} |