diff options
-rw-r--r-- | adb_install.cpp | 4 | ||||
-rw-r--r-- | common.h | 3 | ||||
-rw-r--r-- | recovery.cpp | 9 |
3 files changed, 10 insertions, 6 deletions
diff --git a/adb_install.cpp b/adb_install.cpp index be3b9a063..e3289608f 100644 --- a/adb_install.cpp +++ b/adb_install.cpp @@ -61,9 +61,7 @@ stop_adbd() { static void maybe_restart_adbd() { - char value[PROPERTY_VALUE_MAX+1]; - int len = property_get("ro.debuggable", value, NULL); - if (len == 1 && value[0] == '1') { + if (is_ro_debuggable()) { ui->Print("Restarting adbd...\n"); set_usb_driver(true); property_set("ctl.start", "adbd"); @@ -17,6 +17,7 @@ #ifndef RECOVERY_COMMON_H #define RECOVERY_COMMON_H +#include <stdbool.h> #include <stdio.h> #include <stdarg.h> @@ -46,6 +47,8 @@ FILE* fopen_path(const char *path, const char *mode); void ui_print(const char* format, ...); +bool is_ro_debuggable(); + #ifdef __cplusplus } #endif diff --git a/recovery.cpp b/recovery.cpp index 7f17b16ef..d8756d7ce 100644 --- a/recovery.cpp +++ b/recovery.cpp @@ -161,6 +161,11 @@ fopen_path(const char *path, const char *mode) { return fp; } +bool is_ro_debuggable() { + char value[PROPERTY_VALUE_MAX+1]; + return (property_get("ro.debuggable", value, NULL) == 1 && value[0] == '1'); +} + // close a file, log an error if the error indicator is set static void check_and_fclose(FILE *fp, const char *name) { @@ -954,9 +959,7 @@ main(int argc, char **argv) { // If this is an eng or userdebug build, then automatically // turn the text display on if the script fails so the error // message is visible. - char buffer[PROPERTY_VALUE_MAX+1]; - property_get("ro.build.fingerprint", buffer, ""); - if (strstr(buffer, ":userdebug/") || strstr(buffer, ":eng/")) { + if (is_ro_debuggable()) { ui->ShowText(true); } } |