From d6480caf4d58ff5060fa2fb20a3384bd2bcd38dc Mon Sep 17 00:00:00 2001 From: Martijn Coenen Date: Wed, 5 Apr 2017 14:16:12 -0700 Subject: Add option to list vndservicemanager services. Test: adb shell service list -v Bug: 36987120 Change-Id: I081a0c725ddb4175f4ab43714c25cc41ed2239a3 --- cmds/service/service.cpp | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/cmds/service/service.cpp b/cmds/service/service.cpp index 428b87cd51..09921e45d3 100644 --- a/cmds/service/service.cpp +++ b/cmds/service/service.cpp @@ -68,18 +68,12 @@ static String8 good_old_string(const String16& src) int main(int argc, char* const argv[]) { - sp sm = defaultServiceManager(); - fflush(stdout); - if (sm == NULL) { - aerr << "service: Unable to get default service manager!" << endl; - return 20; - } - bool wantsUsage = false; + bool wantsVendorServices = false; int result = 0; while (1) { - int ic = getopt(argc, argv, "h?"); + int ic = getopt(argc, argv, "vh?"); if (ic < 0) break; @@ -88,6 +82,9 @@ int main(int argc, char* const argv[]) case '?': wantsUsage = true; break; + case 'v': + wantsVendorServices = true; + break; default: aerr << "service: Unknown option -" << ic << endl; wantsUsage = true; @@ -95,6 +92,16 @@ int main(int argc, char* const argv[]) break; } } + + if (wantsVendorServices) { + ProcessState::initWithDriver("/dev/vndbinder"); + } + sp sm = defaultServiceManager(); + fflush(stdout); + if (sm == NULL) { + aerr << "service: Unable to get default service manager!" << endl; + return 20; + } if (optind >= argc) { wantsUsage = true; -- cgit v1.2.3-59-g8ed1b