Merge "init: Support bugreports to SD card in user builds if adb is enabled."
This commit is contained in:
commit
2b9c1a8b0f
37
init/init.c
37
init/init.c
|
@ -767,21 +767,31 @@ int open_keychord()
|
|||
void handle_keychord(int fd)
|
||||
{
|
||||
struct service *svc;
|
||||
char* debuggable;
|
||||
char* adb_enabled;
|
||||
int ret;
|
||||
__u16 id;
|
||||
|
||||
ret = read(fd, &id, sizeof(id));
|
||||
if (ret != sizeof(id)) {
|
||||
ERROR("could not read keychord id\n");
|
||||
return;
|
||||
}
|
||||
// only handle keychords if ro.debuggable is set or adb is enabled.
|
||||
// the logic here is that bugreports should be enabled in userdebug or eng builds
|
||||
// and on user builds for users that are developers.
|
||||
debuggable = property_get("ro.debuggable");
|
||||
adb_enabled = property_get("init.svc.adbd");
|
||||
if ((debuggable && !strcmp(debuggable, "1")) ||
|
||||
(adb_enabled && !strcmp(adb_enabled, "running"))) {
|
||||
ret = read(fd, &id, sizeof(id));
|
||||
if (ret != sizeof(id)) {
|
||||
ERROR("could not read keychord id\n");
|
||||
return;
|
||||
}
|
||||
|
||||
svc = service_find_by_keychord(id);
|
||||
if (svc) {
|
||||
INFO("starting service %s from keychord\n", svc->name);
|
||||
service_start(svc, NULL);
|
||||
} else {
|
||||
ERROR("service for keychord %d not found\n", id);
|
||||
svc = service_find_by_keychord(id);
|
||||
if (svc) {
|
||||
INFO("starting service %s from keychord\n", svc->name);
|
||||
service_start(svc, NULL);
|
||||
} else {
|
||||
ERROR("service for keychord %d not found\n", id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -853,10 +863,7 @@ int main(int argc, char **argv)
|
|||
property_init();
|
||||
|
||||
// only listen for keychords if ro.debuggable is true
|
||||
debuggable = property_get("ro.debuggable");
|
||||
if (debuggable && !strcmp(debuggable, "1")) {
|
||||
keychord_fd = open_keychord();
|
||||
}
|
||||
keychord_fd = open_keychord();
|
||||
|
||||
if (console[0]) {
|
||||
snprintf(tmp, sizeof(tmp), "/dev/%s", console);
|
||||
|
|
Loading…
Reference in New Issue