package io.trygvis.soilmoisture; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import java.util.Comparator; import java.util.List; import io.trygvis.android.bt.BtDevice; public interface SmDevicesManager { List getDevices(Comparator comparator); SmDevice getDevice(String address); boolean isScanning(); boolean startScanning(long scanPeriod); void stopScanning(); public abstract static class SmDeviceListener extends BroadcastReceiver { public static final String INTENT_NAME = SmDeviceListener.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; } DefaultSmDevicesManager.dispatchEvent(intent, this); } public void onReady(boolean ok) { } public void onScanStarted() { } public void onNewDevice(String address) { } public void onScanStopped() { } } }