package hk.hku.cs.srli.supermonkey.service;
import android.content.Context;
import android.util.Log;
public class CalibratingController extends ServiceControllerBase {
private Callback callback;
public CalibratingController(Context context, Callback callback) {
super(context, callback);
this.callback = callback;
}
public void startCalibration() {
send("calib_start");
}
public void addCalibrationPoint(float x, float y) {
send("calib_add " + x + " " + y);
}
public void computeCalibration() {
send("calib_compute");
}
public void abortCalibration() {
send("calib_abort");
// XXX: workaround
callback.handleStopped();
}
@Override
protected void handleCommand(String command, String opt) {
Log.v("CalibratingController", command + " " + opt);
if (command.equals("calib_started")) {
callback.handleStarted();
} else if (command.equals("calib_added")) {
callback.handleAdded();
} else if (command.equals("calib_done")) {
callback.handleDone();
} else if (command.equals("calib_stopped")) {
callback.handleStopped();
} else if (command.equals("error")) {
if (opt.length() > 0) callback.handleError(opt);
}
}
public interface Callback extends ServiceControllerBase.Callback {
public void handleStarted();
public void handleAdded();
public void handleDone();
public void handleStopped();
}
}