Merge "recovery: Properly detect userdebug or eng builds"

This commit is contained in:
Elliott Hughes 2015-02-10 23:55:44 +00:00 committed by Gerrit Code Review
commit 35efcd275f
3 changed files with 10 additions and 6 deletions

View file

@ -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");

View file

@ -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

View file

@ -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);
}
}