AndroidAPS/app/src/main/java/de/jotomo/ruffyscripter/commands/GetBasalRateProfileCommand.java
Johannes Mockenhaupt 4d2fa19ad4
Merge branch 'bolus-progress' into rework
* bolus-progress:
  wip
  wip
  wip
  more
  more
  Remove TODOs for extended bolus.
  wip cancelling
  Initial take on bolus cancellation.
  Initial take on bolus progress reporting.
  Add alternative SetTbrCommand for pumps with different behaviour.
  Formatting.
2017-08-27 18:43:19 +02:00

123 lines
4.7 KiB
Java

package de.jotomo.ruffyscripter.commands;
import android.util.Log;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import de.jotomo.ruffyscripter.RuffyScripter;
public class GetBasalRateProfileCommand extends BaseCommand {
private static final Logger log = LoggerFactory.getLogger(GetBasalRateProfileCommand.class);
private RuffyScripter scripter;
public GetBasalRateProfileCommand() {}
@Override
public List<String> validateArguments() {
List<String> violations = new ArrayList<>();
return violations;
}
// private void tick()
// {
// switch (state)
// {
// case BEFORE:
// if(scripter.currentMenu!=null && scripter.currentMenu.getType()==MenuType.MAIN_MENU)
// {
// updateState(MAIN,120);
// lastMenu = MenuType.MAIN_MENU;
// log.debug("found MAIN_MENU -> state:MAIN");
// retries=3;
// }
// break;
// case MAIN:
// if(retries>0)
// if(scripter.goToMainTypeScreen(MenuType.BASAL_1_MENU,30000))
// {
// if(scripter.enterMenu(MenuType.BASAL_1_MENU,MenuType.BASAL_TOTAL, RuffyScripter.Key.CHECK,2000))
// {
// updateState(BASAL_OVERVIEW, 30);
// retries=0;
// }
// }
// else
// retries--;
// else
// updateState(ERROR,30);
// break;
// case BASAL_OVERVIEW:
// if(scripter.currentMenu.getType()==MenuType.BASAL_TOTAL && scripter.currentMenu.getAttribute(MenuAttribute.BASAL_TOTAL)!=null && (Integer)scripter.currentMenu.getAttribute(MenuAttribute.BASAL_SELECTED)==1)
// {
// basalTotal = (Double)scripter.currentMenu.getAttribute(MenuAttribute.BASAL_TOTAL);
// if(scripter.enterMenu(MenuType.BASAL_TOTAL,MenuType.BASAL_SET, RuffyScripter.Key.MENU,3000))
// {
// updateState(READ_BASAL,30);
// retries = 96;
// }
// }
// break;
// case READ_BASAL:
// if(scripter.currentMenu.getType()==MenuType.BASAL_SET && scripter.currentMenu.getAttribute(MenuAttribute.BASAL_START)!=null) {
// Object rateObj = scripter.currentMenu.getAttribute(MenuAttribute.BASAL_RATE);
// MenuTime time = (MenuTime) scripter.currentMenu.getAttribute(MenuAttribute.BASAL_START);
// if (rateObj instanceof Double) {
// rate.put(time.getHour(), (Double) rateObj);
// }
// boolean complete = true;
// for (int t = 0; t < 24; t++) {
// if (rate.get(t) == null)
// complete = false;
// }
// if (retries > 0) {
// if (complete) {
// scripter.pressBackKey();
// updateState(AFTER, 30);
// } else {
// retries--;
// scripter.pressMenuKey();
// scripter.waitForScreenUpdate(250);
// }
// } else {
// updateState(ERROR, 30);
// }
// }
// break;
// case ERROR:
// case AFTER:
// scripter.goToMainMenuScreen(MenuType.MAIN_MENU,2000);
// synchronized(GetBasalRateProfileCommand.this) {
// GetBasalRateProfileCommand.this.notify();
// }
// break;
// }
// }
@Override
public CommandResult execute() {
try {
Map<Integer, Double> rate = new HashMap<>();
for (int i = 0; i < 24; i++) {
Log.v("BASAL_RATE", "BASAL_RATE from " + String.format("%02d", i) + ":00 = " + rate.get(i));
}
} catch (Exception e) {
log.error("failed to get basal", e);
return new CommandResult().success(false).message("failed to get basal: " + e.getMessage());
}
return new CommandResult().success(true).enacted(true).message("Basal Rate was read");
}
@Override
public String toString() {
return "GetTbrCommand{}";
}
}