Untested: don't false trigger dynamic timeout in RS.runCommand.
This commit is contained in:
parent
9606df13b7
commit
ab8d3051b3
1 changed files with 7 additions and 2 deletions
|
@ -284,8 +284,6 @@ public class RuffyScripter implements RuffyCommands {
|
||||||
long dynamicTimeout = calculateCmdInactivityTimeout();
|
long dynamicTimeout = calculateCmdInactivityTimeout();
|
||||||
long overallTimeout = calculateOverallCmdTimeout();
|
long overallTimeout = calculateOverallCmdTimeout();
|
||||||
while (cmdThread.isAlive()) {
|
while (cmdThread.isAlive()) {
|
||||||
log.trace("Waiting for running command to complete");
|
|
||||||
SystemClock.sleep(500);
|
|
||||||
if (!ruffyService.isConnected()) {
|
if (!ruffyService.isConnected()) {
|
||||||
// on connection lose try to reconnect, confirm warning alerts caused by
|
// on connection lose try to reconnect, confirm warning alerts caused by
|
||||||
// the disconnected and then return the command as failed (the caller
|
// the disconnected and then return the command as failed (the caller
|
||||||
|
@ -307,6 +305,11 @@ public class RuffyScripter implements RuffyCommands {
|
||||||
boolean menuRecentlyUpdated = now < menuLastUpdated + 5 * 1000;
|
boolean menuRecentlyUpdated = now < menuLastUpdated + 5 * 1000;
|
||||||
boolean idlingInMainMenu = getCurrentMenu().getType() == MenuType.MAIN_MENU
|
boolean idlingInMainMenu = getCurrentMenu().getType() == MenuType.MAIN_MENU
|
||||||
&& !getCurrentMenu().attributes().contains(MenuAttribute.BOLUS_REMAINING);
|
&& !getCurrentMenu().attributes().contains(MenuAttribute.BOLUS_REMAINING);
|
||||||
|
// TODO this triggers falsely if command finished and idles in main menu until
|
||||||
|
// conneciton is closed; probably better since wait is moved to bottom of loop
|
||||||
|
// so the while(cmdThread.isAlive) check and this isn't 500ms apart.
|
||||||
|
// still, think this through; maybe wait a fec seconds and recheck if command is
|
||||||
|
// active and menu is still main menu ...
|
||||||
if (menuRecentlyUpdated && !idlingInMainMenu) {
|
if (menuRecentlyUpdated && !idlingInMainMenu) {
|
||||||
// command still working (or waiting for pump to complete, e.g. bolus delivery)
|
// command still working (or waiting for pump to complete, e.g. bolus delivery)
|
||||||
dynamicTimeout = now + 30 * 1000;
|
dynamicTimeout = now + 30 * 1000;
|
||||||
|
@ -324,6 +327,8 @@ public class RuffyScripter implements RuffyCommands {
|
||||||
activeCmd.getResult().success = false;
|
activeCmd.getResult().success = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
log.trace("Waiting for running command to complete");
|
||||||
|
SystemClock.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
activeCmd.getResult().state = readPumpStateInternal();
|
activeCmd.getResult().state = readPumpStateInternal();
|
||||||
|
|
Loading…
Reference in a new issue