Make CancelTbrCommand more robust.

This commit is contained in:
Johannes Mockenhaupt 2017-07-15 12:47:11 +02:00
parent 30fc385970
commit 0345a01fc1
No known key found for this signature in database
GPG key ID: 9E1EA6AF7BBBB0D1

View file

@ -13,17 +13,21 @@ public class CancelTbrCommand implements Command {
@Override
public CommandResult execute(RuffyScripter scripter) {
scripter.verifyMenuIsDisplayed(MenuType.MAIN_MENU);
Double tbrPercentage = (Double) scripter.currentMenu.getAttribute(MenuAttribute.TBR);
boolean runtimeDisplayed = scripter.currentMenu.attributes().contains(MenuAttribute.RUNTIME);
if (tbrPercentage == 100 && !runtimeDisplayed) {
return new CommandResult()
.success(true)
.enacted(true) // technically, nothing was enacted, but AAPS needs this to recover
// when there was an issue and AAPS thinks a TBR is still active
.message("No TBR active");
try {
scripter.verifyMenuIsDisplayed(MenuType.MAIN_MENU);
Double tbrPercentage = (Double) scripter.currentMenu.getAttribute(MenuAttribute.TBR);
boolean runtimeDisplayed = scripter.currentMenu.attributes().contains(MenuAttribute.RUNTIME);
if (tbrPercentage == 100 && !runtimeDisplayed) {
return new CommandResult()
.success(true)
.enacted(true) // technically, nothing was enacted, but AAPS needs this to recover
// when there was an issue and AAPS thinks a TBR is still active
.message("No TBR active");
}
log.debug("Cancelling active TBR of " + tbrPercentage + "% with " + runtimeDisplayed + "min remaining");
} catch (CommandException e) {
return e.toCommandResult();
}
log.debug("Cancelling active TBR of " + tbrPercentage + "% with " + runtimeDisplayed + "min remaining");
return new SetTbrCommand(100, 0).execute(scripter);
}