summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--adb_install.cpp4
-rw-r--r--common.h3
-rw-r--r--recovery.cpp9
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");
diff --git a/common.h b/common.h
index 768f499f9..4f1c099df 100644
--- a/common.h
+++ b/common.h
@@ -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 1d22b248a..e42474e73 100644
--- a/recovery.cpp
+++ b/recovery.cpp
@@ -169,6 +169,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');
+}
+
static void redirect_stdio(const char* filename) {
// If these fail, there's not really anywhere to complain...
freopen(filename, "a", stdout); setbuf(stdout, NULL);
@@ -1111,9 +1116,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);
}
}