Add command line capabilities

Allows sending openrecoveryscript commands to TWRP via shell.
This may be handy for visually impaired users, for various one
click utilities to drive TWRP commands from a computer, for using
TWRP when a catastrophic hardware failure like a shattered screen
prevents you from being able to use touch, or even on devices like
a TV stick where touch and USB mouse input is unavailable.

This patch also includes a few minor changes to openrecoveryscript
including proper support for rebooting via the script and for
decrypting the device via the command line.

Change-Id: I796ad168efdd2da9c25334ac93d1079daaa7b0bc
This commit is contained in:
Ethan Yonker
2014-08-08 11:03:51 -05:00
parent b24caab14c
commit 03a42f6c6a
13 changed files with 288 additions and 5 deletions
+10
View File
@@ -28,6 +28,7 @@ extern "C" {
static std::vector<std::string> gConsole;
static std::vector<std::string> gConsoleColor;
static FILE* ors_file;
extern "C" void __gui_print(const char *color, char *buf)
{
@@ -57,6 +58,10 @@ extern "C" void __gui_print(const char *color, char *buf)
gConsole.push_back(start);
gConsoleColor.push_back(color);
}
if (ors_file) {
fprintf(ors_file, "%s\n", buf);
fflush(ors_file);
}
}
extern "C" void gui_print(const char *fmt, ...)
@@ -89,6 +94,11 @@ extern "C" void gui_print_color(const char *color, const char *fmt, ...)
return;
}
extern "C" void gui_set_FILE(FILE* f)
{
ors_file = f;
}
GUIConsole::GUIConsole(xml_node<>* node) : GUIObject(node)
{
xml_attribute<>* attr;