Fix RuffyScripter.navigateToMenu one last time.

This commit is contained in:
Johannes Mockenhaupt 2017-11-24 23:05:46 +01:00
parent 5bd010d8f1
commit 71b32ac078
No known key found for this signature in database
GPG key ID: 9E1EA6AF7BBBB0D1

View file

@ -661,19 +661,20 @@ public class RuffyScripter implements RuffyCommands {
}
public void navigateToMenu(MenuType desiredMenu) {
int retries = 20;
verifyMenuIsDisplayed(MenuType.MAIN_MENU);
int moves = 20;
MenuType lastSeenMenu = getCurrentMenu().getType();
while (lastSeenMenu != desiredMenu) {
log.debug("Navigating to menu " + desiredMenu + ", current menu: " + lastSeenMenu);
retries--;
if (retries == 0) {
moves--;
if (moves == 0) {
throw new CommandException("Menu not found searching for " + desiredMenu
+ ". Check menu settings on your pump to ensure it's not hidden.");
}
MenuType next = getCurrentMenu().getType();
pressMenuKey();
// sometimes the pump takes a bit longer (more than one screen refresh) to advance
// to the next menu. wait until we actually see the change to avoid overshoots.
MenuType next = getCurrentMenu().getType();
while (next == lastSeenMenu) {
waitForScreenUpdate();
next = getCurrentMenu().getType();