Inject scripter into commands.
This commit is contained in:
parent
04a03dedc3
commit
fe7f831429
10 changed files with 13 additions and 16 deletions
|
@ -304,7 +304,8 @@ public class RuffyScripter {
|
|||
PumpState pumpState = readPumpState();
|
||||
log.debug("Pump state before running command: " + pumpState);
|
||||
long cmdStartTime = System.currentTimeMillis();
|
||||
returnable.cmdResult = cmd.execute(scripter, pumpState);
|
||||
cmd.setScripter(scripter);
|
||||
returnable.cmdResult = cmd.execute(pumpState);
|
||||
long cmdEndTime = System.currentTimeMillis();
|
||||
returnable.cmdResult.completionTime = cmdEndTime;
|
||||
log.debug("Executing " + cmd + " took " + (cmdEndTime - cmdStartTime) + "ms");
|
||||
|
|
|
@ -5,7 +5,7 @@ import de.jotomo.ruffyscripter.RuffyScripter;
|
|||
public abstract class BaseCommand implements Command {
|
||||
// RS will inject itself here
|
||||
protected RuffyScripter scripter;
|
||||
public void setScripter(RuffyScripter scripter) { this.scripter = scripter; }
|
||||
@Override public void setScripter(RuffyScripter scripter) { this.scripter = scripter; }
|
||||
|
||||
// TODO upcoming
|
||||
protected volatile boolean cancelRequested = false;
|
||||
|
|
|
@ -35,7 +35,7 @@ public class BolusCommand extends BaseCommand {
|
|||
}
|
||||
|
||||
@Override
|
||||
public CommandResult execute(RuffyScripter scripter, PumpState initialPumpState) {
|
||||
public CommandResult execute(PumpState initialPumpState) {
|
||||
try {
|
||||
enterBolusMenu(scripter);
|
||||
|
||||
|
|
|
@ -8,7 +8,6 @@ import java.util.Collections;
|
|||
import java.util.List;
|
||||
|
||||
import de.jotomo.ruffyscripter.PumpState;
|
||||
import de.jotomo.ruffyscripter.RuffyScripter;
|
||||
import info.nightscout.androidaps.MainApp;
|
||||
|
||||
// TODO robustness: can a TBR run out, whilst we're trying to cancel it?
|
||||
|
@ -23,7 +22,7 @@ public class CancelTbrCommand extends BaseCommand {
|
|||
}
|
||||
|
||||
@Override
|
||||
public CommandResult execute(RuffyScripter scripter, PumpState initialPumpState) {
|
||||
public CommandResult execute(PumpState initialPumpState) {
|
||||
try {
|
||||
scripter.verifyMenuIsDisplayed(MenuType.MAIN_MENU);
|
||||
if (!initialPumpState.tbrActive) {
|
||||
|
@ -49,7 +48,7 @@ public class CancelTbrCommand extends BaseCommand {
|
|||
}
|
||||
log.debug("Cancelling active TBR of " + initialPumpState.tbrPercent
|
||||
+ "% with " + initialPumpState.tbrRemainingDuration + " min remaining");
|
||||
return new SetTbrCommand(100, 0).execute(scripter, initialPumpState);
|
||||
return new SetTbrCommand(100, 0).execute(initialPumpState);
|
||||
} catch (CommandException e) {
|
||||
return e.toCommandResult();
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ import de.jotomo.ruffyscripter.RuffyScripter;
|
|||
* sequence, letting the methods take care of waits.
|
||||
*/
|
||||
public interface Command {
|
||||
CommandResult execute(RuffyScripter ruffyScripter, PumpState initialPumpState);
|
||||
CommandResult execute(PumpState initialPumpState);
|
||||
List<String> validateArguments();
|
||||
void setScripter(RuffyScripter scripter);
|
||||
}
|
||||
|
|
|
@ -2,8 +2,6 @@ package de.jotomo.ruffyscripter.commands;
|
|||
|
||||
import android.os.SystemClock;
|
||||
|
||||
import com.j256.ormlite.stmt.query.In;
|
||||
|
||||
import org.monkey.d.ruffy.ruffy.driver.display.MenuAttribute;
|
||||
import org.monkey.d.ruffy.ruffy.driver.display.MenuType;
|
||||
import org.monkey.d.ruffy.ruffy.driver.display.menu.MenuTime;
|
||||
|
@ -12,7 +10,6 @@ import org.slf4j.LoggerFactory;
|
|||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import de.jotomo.ruffyscripter.PumpCapabilities;
|
||||
import de.jotomo.ruffyscripter.PumpState;
|
||||
|
@ -30,7 +27,7 @@ public class DetermineCapabilitiesCommand extends BaseCommand {
|
|||
}
|
||||
|
||||
@Override
|
||||
public CommandResult execute(RuffyScripter scripter, PumpState initialPumpState) {
|
||||
public CommandResult execute(PumpState initialPumpState) {
|
||||
try {
|
||||
|
||||
//read main menu 100% or TBR? Read remaining duration.
|
||||
|
|
|
@ -102,7 +102,7 @@ public class GetBasalCommand extends BaseCommand {
|
|||
// }
|
||||
// }
|
||||
@Override
|
||||
public CommandResult execute(RuffyScripter scripter, PumpState initialPumpState) {
|
||||
public CommandResult execute(PumpState initialPumpState) {
|
||||
try {
|
||||
Map<Integer,Double> rate = new HashMap<>();
|
||||
|
||||
|
|
|
@ -4,11 +4,10 @@ import java.util.Collections;
|
|||
import java.util.List;
|
||||
|
||||
import de.jotomo.ruffyscripter.PumpState;
|
||||
import de.jotomo.ruffyscripter.RuffyScripter;
|
||||
|
||||
public class ReadPumpStateCommand extends BaseCommand {
|
||||
@Override
|
||||
public CommandResult execute(RuffyScripter ruffyScripter, PumpState initialPumpState) {
|
||||
public CommandResult execute(PumpState initialPumpState) {
|
||||
return new CommandResult().success(true).enacted(false).message("Returning pump state only");
|
||||
}
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ public class SetTbrCommand extends BaseCommand {
|
|||
}
|
||||
|
||||
@Override
|
||||
public CommandResult execute(RuffyScripter scripter, PumpState initialPumpState) {
|
||||
public CommandResult execute(PumpState initialPumpState) {
|
||||
try {
|
||||
log.debug("1. going from " + scripter.currentMenu + " to TBR_MENU");
|
||||
int retries = 5;
|
||||
|
|
|
@ -54,7 +54,7 @@ public class SetTbrCommandAlt extends BaseCommand {
|
|||
}
|
||||
|
||||
@Override
|
||||
public CommandResult execute(RuffyScripter scripter, PumpState initialPumpState) {
|
||||
public CommandResult execute(PumpState initialPumpState) {
|
||||
try {
|
||||
enterTbrMenu(scripter);
|
||||
inputTbrPercentage(scripter);
|
||||
|
|
Loading…
Reference in a new issue