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; public interface SoilMoistureService { List getDevices(Comparator comparator); SmDevice getDevice(String address); void probe(String address); boolean isScanning(); boolean startScanning(long scanPeriod); void stopScanning(); abstract class SoilMoistureListener extends BroadcastReceiver { public static final String INTENT_NAME = SoilMoistureListener.class.getName(); public static final IntentFilter INTENT_FILTER = new IntentFilter(INTENT_NAME); public final void onReceive(Context context, Intent intent) { if (!intent.getAction().equals(INTENT_NAME)) { return; } DefaultSoilMoistureService.dispatchEvent(intent, this); } public void onToast(int id, int length) { } public void onReady(boolean ok) { } public void onScanStarted() { } public void onScanStopped() { } public void onNewDevice(String address) { } public void onNewSample(String address, int sensor) { } public void onDevicePropertyUpdated(String address) { } } }