Loading cmds/dumpsys/Android.bp +0 −2 Original line number Original line Diff line number Diff line Loading @@ -15,8 +15,6 @@ cc_defaults { "libutils", "libutils", "liblog", "liblog", "libbinder", "libbinder", "android.hidl.manager@1.0", "libhidlbase" ], ], clang: true, clang: true, Loading cmds/dumpsys/dumpsys.cpp +4 −38 Original line number Original line Diff line number Diff line Loading @@ -45,7 +45,8 @@ using android::base::StringPrintf; using android::base::unique_fd; using android::base::unique_fd; using android::base::WriteFully; using android::base::WriteFully; static int sort_func(const String16* lhs, const String16* rhs) { static int sort_func(const String16* lhs, const String16* rhs) { return lhs->compare(*rhs); return lhs->compare(*rhs); } } Loading @@ -54,11 +55,10 @@ static void usage() { "usage: dumpsys\n" "usage: dumpsys\n" " To dump all services.\n" " To dump all services.\n" "or:\n" "or:\n" " dumpsys [-t TIMEOUT] [--help | --hw | -l | --skip SERVICES | SERVICE [ARGS]]\n" " dumpsys [-t TIMEOUT] [--help | -l | --skip SERVICES | SERVICE [ARGS]]\n" " --help: shows this help\n" " --help: shows this help\n" " -l: only list services, do not dump them\n" " -l: only list services, do not dump them\n" " -t TIMEOUT: TIMEOUT to use in seconds instead of default 10 seconds\n" " -t TIMEOUT: TIMEOUT to use in seconds instead of default 10 seconds\n" " --hw: list all hw services running on the device\n" " --skip SERVICES: dumps all services but SERVICES (comma-separated list)\n" " --skip SERVICES: dumps all services but SERVICES (comma-separated list)\n" " SERVICE [ARGS]: dumps only service SERVICE, optionally passing ARGS to it\n"); " SERVICE [ARGS]: dumps only service SERVICE, optionally passing ARGS to it\n"); } } Loading @@ -72,42 +72,16 @@ static bool IsSkipped(const Vector<String16>& skipped, const String16& service) return false; return false; } } static void ListHardwareServices(android::hidl::manager::V1_0::IServiceManager* hm) { using android::hardware::hidl_vec; using android::hardware::hidl_string; using android::hardware::Return; using android::sp; if (hm == nullptr) { ALOGE("Unable to get hardware service manager!"); aerr << "Failed to get hardware service manager!"; return; } Return<void> ret = hm->list([](const hidl_vec<hidl_string> ®istered){ aout << "Currently running hardware services:" << endl; for (const auto &service : registered) { aout << " " << service << endl; } }); if (!ret.isOk()) { aerr << "Failed to list hardware services: " << ret.description(); } } int Dumpsys::main(int argc, char* const argv[]) { int Dumpsys::main(int argc, char* const argv[]) { Vector<String16> services; Vector<String16> services; Vector<String16> args; Vector<String16> args; Vector<String16> skippedServices; Vector<String16> skippedServices; bool showListOnly = false; bool showListOnly = false; bool listHwOnly = false; bool skipServices = false; bool skipServices = false; int timeoutArg = 10; int timeoutArg = 10; static struct option longOptions[] = { static struct option longOptions[] = { {"skip", no_argument, 0, 0 }, {"skip", no_argument, 0, 0 }, {"help", no_argument, 0, 0 }, {"help", no_argument, 0, 0 }, {"hw", no_argument, 0, 0 }, { 0, 0, 0, 0 } { 0, 0, 0, 0 } }; }; Loading @@ -131,8 +105,6 @@ int Dumpsys::main(int argc, char* const argv[]) { } else if (!strcmp(longOptions[optionIndex].name, "help")) { } else if (!strcmp(longOptions[optionIndex].name, "help")) { usage(); usage(); return 0; return 0; } else if (!strcmp(longOptions[optionIndex].name, "hw")) { listHwOnly = true; } } break; break; Loading Loading @@ -171,17 +143,11 @@ int Dumpsys::main(int argc, char* const argv[]) { } } if ((skipServices && skippedServices.empty()) || if ((skipServices && skippedServices.empty()) || (showListOnly && (!services.empty() || !skippedServices.empty())) || (showListOnly && (!services.empty() || !skippedServices.empty()))) { (listHwOnly && (skipServices || services.size() > 0 || showListOnly))) { usage(); usage(); return -1; return -1; } } if (listHwOnly) { ListHardwareServices(hm_); return 0; } if (services.empty() || showListOnly) { if (services.empty() || showListOnly) { // gets all services // gets all services services = sm_->listServices(); services = sm_->listServices(); Loading cmds/dumpsys/dumpsys.h +1 −4 Original line number Original line Diff line number Diff line Loading @@ -17,21 +17,18 @@ #ifndef FRAMEWORK_NATIVE_CMD_DUMPSYS_H_ #ifndef FRAMEWORK_NATIVE_CMD_DUMPSYS_H_ #define FRAMEWORK_NATIVE_CMD_DUMPSYS_H_ #define FRAMEWORK_NATIVE_CMD_DUMPSYS_H_ #include <android/hidl/manager/1.0/IServiceManager.h> #include <binder/IServiceManager.h> #include <binder/IServiceManager.h> namespace android { namespace android { class Dumpsys { class Dumpsys { public: public: Dumpsys(android::IServiceManager* sm, Dumpsys(android::IServiceManager* sm) : sm_(sm) { android::hidl::manager::V1_0::IServiceManager* hm) : sm_(sm), hm_(hm) { } } int main(int argc, char* const argv[]); int main(int argc, char* const argv[]); private: private: android::IServiceManager* sm_; android::IServiceManager* sm_; android::hidl::manager::V1_0::IServiceManager* hm_; }; }; } } Loading cmds/dumpsys/main.cpp +1 −4 Original line number Original line Diff line number Diff line Loading @@ -27,7 +27,6 @@ #include <stdio.h> #include <stdio.h> using namespace android; using namespace android; using HServiceManager = android::hidl::manager::V1_0::IServiceManager; int main(int argc, char* const argv[]) { int main(int argc, char* const argv[]) { signal(SIGPIPE, SIG_IGN); signal(SIGPIPE, SIG_IGN); Loading @@ -39,8 +38,6 @@ int main(int argc, char* const argv[]) { return 20; return 20; } } sp<HServiceManager> hm = HServiceManager::getService("manager"); Dumpsys dumpsys(sm.get()); Dumpsys dumpsys(sm.get(), hm.get()); return dumpsys.main(argc, argv); return dumpsys.main(argc, argv); } } cmds/dumpsys/tests/Android.bp +0 −4 Original line number Original line Diff line number Diff line Loading @@ -5,12 +5,8 @@ cc_test { srcs: ["dumpsys_test.cpp"], srcs: ["dumpsys_test.cpp"], shared_libs: [ shared_libs: [ "android.hidl.manager@1.0", "libbase", "libbase", "libbinder", "libbinder", "liblog", "libhidlbase", "libhidltransport", "libutils", "libutils", ], ], Loading Loading
cmds/dumpsys/Android.bp +0 −2 Original line number Original line Diff line number Diff line Loading @@ -15,8 +15,6 @@ cc_defaults { "libutils", "libutils", "liblog", "liblog", "libbinder", "libbinder", "android.hidl.manager@1.0", "libhidlbase" ], ], clang: true, clang: true, Loading
cmds/dumpsys/dumpsys.cpp +4 −38 Original line number Original line Diff line number Diff line Loading @@ -45,7 +45,8 @@ using android::base::StringPrintf; using android::base::unique_fd; using android::base::unique_fd; using android::base::WriteFully; using android::base::WriteFully; static int sort_func(const String16* lhs, const String16* rhs) { static int sort_func(const String16* lhs, const String16* rhs) { return lhs->compare(*rhs); return lhs->compare(*rhs); } } Loading @@ -54,11 +55,10 @@ static void usage() { "usage: dumpsys\n" "usage: dumpsys\n" " To dump all services.\n" " To dump all services.\n" "or:\n" "or:\n" " dumpsys [-t TIMEOUT] [--help | --hw | -l | --skip SERVICES | SERVICE [ARGS]]\n" " dumpsys [-t TIMEOUT] [--help | -l | --skip SERVICES | SERVICE [ARGS]]\n" " --help: shows this help\n" " --help: shows this help\n" " -l: only list services, do not dump them\n" " -l: only list services, do not dump them\n" " -t TIMEOUT: TIMEOUT to use in seconds instead of default 10 seconds\n" " -t TIMEOUT: TIMEOUT to use in seconds instead of default 10 seconds\n" " --hw: list all hw services running on the device\n" " --skip SERVICES: dumps all services but SERVICES (comma-separated list)\n" " --skip SERVICES: dumps all services but SERVICES (comma-separated list)\n" " SERVICE [ARGS]: dumps only service SERVICE, optionally passing ARGS to it\n"); " SERVICE [ARGS]: dumps only service SERVICE, optionally passing ARGS to it\n"); } } Loading @@ -72,42 +72,16 @@ static bool IsSkipped(const Vector<String16>& skipped, const String16& service) return false; return false; } } static void ListHardwareServices(android::hidl::manager::V1_0::IServiceManager* hm) { using android::hardware::hidl_vec; using android::hardware::hidl_string; using android::hardware::Return; using android::sp; if (hm == nullptr) { ALOGE("Unable to get hardware service manager!"); aerr << "Failed to get hardware service manager!"; return; } Return<void> ret = hm->list([](const hidl_vec<hidl_string> ®istered){ aout << "Currently running hardware services:" << endl; for (const auto &service : registered) { aout << " " << service << endl; } }); if (!ret.isOk()) { aerr << "Failed to list hardware services: " << ret.description(); } } int Dumpsys::main(int argc, char* const argv[]) { int Dumpsys::main(int argc, char* const argv[]) { Vector<String16> services; Vector<String16> services; Vector<String16> args; Vector<String16> args; Vector<String16> skippedServices; Vector<String16> skippedServices; bool showListOnly = false; bool showListOnly = false; bool listHwOnly = false; bool skipServices = false; bool skipServices = false; int timeoutArg = 10; int timeoutArg = 10; static struct option longOptions[] = { static struct option longOptions[] = { {"skip", no_argument, 0, 0 }, {"skip", no_argument, 0, 0 }, {"help", no_argument, 0, 0 }, {"help", no_argument, 0, 0 }, {"hw", no_argument, 0, 0 }, { 0, 0, 0, 0 } { 0, 0, 0, 0 } }; }; Loading @@ -131,8 +105,6 @@ int Dumpsys::main(int argc, char* const argv[]) { } else if (!strcmp(longOptions[optionIndex].name, "help")) { } else if (!strcmp(longOptions[optionIndex].name, "help")) { usage(); usage(); return 0; return 0; } else if (!strcmp(longOptions[optionIndex].name, "hw")) { listHwOnly = true; } } break; break; Loading Loading @@ -171,17 +143,11 @@ int Dumpsys::main(int argc, char* const argv[]) { } } if ((skipServices && skippedServices.empty()) || if ((skipServices && skippedServices.empty()) || (showListOnly && (!services.empty() || !skippedServices.empty())) || (showListOnly && (!services.empty() || !skippedServices.empty()))) { (listHwOnly && (skipServices || services.size() > 0 || showListOnly))) { usage(); usage(); return -1; return -1; } } if (listHwOnly) { ListHardwareServices(hm_); return 0; } if (services.empty() || showListOnly) { if (services.empty() || showListOnly) { // gets all services // gets all services services = sm_->listServices(); services = sm_->listServices(); Loading
cmds/dumpsys/dumpsys.h +1 −4 Original line number Original line Diff line number Diff line Loading @@ -17,21 +17,18 @@ #ifndef FRAMEWORK_NATIVE_CMD_DUMPSYS_H_ #ifndef FRAMEWORK_NATIVE_CMD_DUMPSYS_H_ #define FRAMEWORK_NATIVE_CMD_DUMPSYS_H_ #define FRAMEWORK_NATIVE_CMD_DUMPSYS_H_ #include <android/hidl/manager/1.0/IServiceManager.h> #include <binder/IServiceManager.h> #include <binder/IServiceManager.h> namespace android { namespace android { class Dumpsys { class Dumpsys { public: public: Dumpsys(android::IServiceManager* sm, Dumpsys(android::IServiceManager* sm) : sm_(sm) { android::hidl::manager::V1_0::IServiceManager* hm) : sm_(sm), hm_(hm) { } } int main(int argc, char* const argv[]); int main(int argc, char* const argv[]); private: private: android::IServiceManager* sm_; android::IServiceManager* sm_; android::hidl::manager::V1_0::IServiceManager* hm_; }; }; } } Loading
cmds/dumpsys/main.cpp +1 −4 Original line number Original line Diff line number Diff line Loading @@ -27,7 +27,6 @@ #include <stdio.h> #include <stdio.h> using namespace android; using namespace android; using HServiceManager = android::hidl::manager::V1_0::IServiceManager; int main(int argc, char* const argv[]) { int main(int argc, char* const argv[]) { signal(SIGPIPE, SIG_IGN); signal(SIGPIPE, SIG_IGN); Loading @@ -39,8 +38,6 @@ int main(int argc, char* const argv[]) { return 20; return 20; } } sp<HServiceManager> hm = HServiceManager::getService("manager"); Dumpsys dumpsys(sm.get()); Dumpsys dumpsys(sm.get(), hm.get()); return dumpsys.main(argc, argv); return dumpsys.main(argc, argv); } }
cmds/dumpsys/tests/Android.bp +0 −4 Original line number Original line Diff line number Diff line Loading @@ -5,12 +5,8 @@ cc_test { srcs: ["dumpsys_test.cpp"], srcs: ["dumpsys_test.cpp"], shared_libs: [ shared_libs: [ "android.hidl.manager@1.0", "libbase", "libbase", "libbinder", "libbinder", "liblog", "libhidlbase", "libhidltransport", "libutils", "libutils", ], ], Loading