recovery: ui: Support hardware virtual keys
* Also swipe left -> KEY_BACK
Change-Id: I6bd8054485d680df35abb86cb79f1dda683e4459
diff --git a/recovery.cpp b/recovery.cpp
index 4d39019..4d6e929 100644
--- a/recovery.cpp
+++ b/recovery.cpp
@@ -260,7 +260,10 @@
if (chosen_item == static_cast<size_t>(RecoveryUI::KeyError::INTERRUPTED)) {
break;
}
- if (entries[chosen_item] == "Back") break;
+ if (chosen_item == Device::kGoHome || chosen_item == Device::kGoBack ||
+ chosen_item == entries.size() - 1) {
+ break;
+ }
device->GetUI()->ShowFile(entries[chosen_item]);
}
@@ -396,6 +399,11 @@
if (chosen_item == static_cast<size_t>(RecoveryUI::KeyError::INTERRUPTED)) {
return Device::KEY_INTERRUPTED;
}
+ // We are already in the main menu
+ if (chosen_item == Device::kGoBack || chosen_item == Device::kGoHome) {
+ continue;
+ }
+
// Device-specific code may take some action here. It may return one of the core actions
// handled in the switch statement below.
Device::BuiltinAction chosen_action =