package io.trygvis.android.bt;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.database.sqlite.SQLiteDatabase;
import java.util.Collection;
import io.trygvis.android.Function;
public interface BtService {
boolean initialize(BtDbIntegration btDbIntegration);
void clearCache();
boolean isScanning();
boolean startScanning(long timeoutMs);
void stopScanning();
BtDevice getDevice(String address);
A getTag(String address);
Collection> getDevices();
Collection getTags();
T runTx(Function action);
public static interface BtDbIntegration {
A createTag(SQLiteDatabase db, BtDevice a);
}
public static class BtServiceListenerBroadcastReceiver extends BroadcastReceiver {
public static final String INTENT_NAME = BtServiceListenerBroadcastReceiver.class.getName();
public static final IntentFilter INTENT_FILTER = new IntentFilter(INTENT_NAME);
public void onReceive(Context context, Intent intent) {
if (!intent.getAction().equals(INTENT_NAME)) {
return;
}
DefaultBtService.dispatchEvent(intent, this);
}
public void onScanStarted() {
}
public void onScanStopped() {
}
public void onNewDevice(String address) {
}
public void onDeviceConnection(String address) {
}
}
}