add --show_text option to recovery

Change-Id: Ie6c6c920260dfa759fbb15b1f352d6bb0fa7146c
diff --git a/common.h b/common.h
index 1182d77..a767b58 100644
--- a/common.h
+++ b/common.h
@@ -26,6 +26,7 @@
 int ui_wait_key();            // waits for a key/button press, returns the code
 int ui_key_pressed(int key);  // returns >0 if the code is currently pressed
 int ui_text_visible();        // returns >0 if text log is currently visible
+void ui_show_text(int visible);
 void ui_clear_key_queue();
 
 // Write a message to the on-screen log shown with Alt-L (also to stderr).
diff --git a/recovery.c b/recovery.c
index 04bf657..f8208ce 100644
--- a/recovery.c
+++ b/recovery.c
@@ -45,6 +45,7 @@
   { "wipe_data", no_argument, NULL, 'w' },
   { "wipe_cache", no_argument, NULL, 'c' },
   { "set_encrypted_filesystems", required_argument, NULL, 'e' },
+  { "show_text", no_argument, NULL, 't' },
   { NULL, 0, NULL, 0 },
 };
 
@@ -594,6 +595,7 @@
         case 'w': wipe_data = wipe_cache = 1; break;
         case 'c': wipe_cache = 1; break;
         case 'e': encrypted_fs_mode = optarg; toggle_secure_fs = 1; break;
+        case 't': ui_show_text(1); break;
         case '?':
             LOGE("Invalid command argument\n");
             continue;
diff --git a/ui.c b/ui.c
index 01a005f..e2b2a44 100644
--- a/ui.c
+++ b/ui.c
@@ -481,6 +481,14 @@
     return visible;
 }
 
+void ui_show_text(int visible)
+{
+    pthread_mutex_lock(&gUpdateMutex);
+    show_text = visible;
+    update_screen_locked();
+    pthread_mutex_unlock(&gUpdateMutex);
+}
+
 int ui_wait_key()
 {
     pthread_mutex_lock(&key_queue_mutex);