recovery: Provide sideload cancellation
We can't use InterruptWaitKey() as it hangs recovery
when called from the minadbd listener thread, so provide
our own 'CancelWaitKey' implementation.
[forkbomb: rework for Q]
Squashed:
recovery: Move sideload (non)cancellation to its own key
* We use KEY_REFRESH for actually refreshing menus, which is
useful when handling hotpluggable storage.
We don't want that to interact with the sideload menu.
Change-Id: Id7f5c06385e613648b3f727fc5e91eb3206406cf
Change-Id: I13f0c9ae5444652a2141442ef24258679a78d320
diff --git a/recovery_ui/screen_ui.cpp b/recovery_ui/screen_ui.cpp
index 578dd14..58c50d1 100644
--- a/recovery_ui/screen_ui.cpp
+++ b/recovery_ui/screen_ui.cpp
@@ -1290,11 +1290,16 @@
case Device::kGoHome:
chosen_item = Device::kGoHome;
break;
+ case Device::kDoSideload:
+ chosen_item = Device::kDoSideload;
+ break;
}
} else if (!menu_only) {
chosen_item = action;
}
- if (chosen_item == Device::kGoBack || chosen_item == Device::kGoHome) {
+
+ if (chosen_item == Device::kGoBack || chosen_item == Device::kGoHome ||
+ chosen_item == Device::kDoSideload) {
break;
}
}