diff --git a/common.h b/common.h index 1182d77..a767b58 100644 --- a/common.h +++ b/common.h @@ -26,6 +26,7 @@ void ui_init(); 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 @@ static const struct option OPTIONS[] = { { "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 @@ main(int argc, char **argv) { 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 @@ int ui_text_visible() 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);