diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp
index 5bd3ad7c..76fd71e5 100644
--- a/dumpstate/DumpstateDevice.cpp
+++ b/dumpstate/DumpstateDevice.cpp
@@ -266,7 +266,6 @@ DumpstateDevice::DumpstateDevice()
{ "aoc", [this](int fd) { dumpAoCSection(fd); } },
{ "ramdump", [this](int fd) { dumpRamdumpSection(fd); } },
{ "misc", [this](int fd) { dumpMiscSection(fd); } },
- { "dump", [this](int fd) { dumpSection(fd); } },
{ "camera", [this](int fd) { dumpCameraSection(fd); } },
{ "trusty", [this](int fd) { dumpTrustySection(fd); } },
{ "modem", [this](int fd) { dumpModemSection(fd); } },
@@ -290,6 +289,24 @@ void DumpstateDevice::dumpTextSection(int fd, const std::string §ionName) {
}
}
+ // Execute all programs under vendor/bin/dump/
+ std::unique_ptr
dir(opendir("/vendor/bin/dump"), closedir);
+ if (!dir) {
+ ALOGE("Fail To Open Dir vendor/bin/dump/");
+ } else {
+ dirent *entry;
+ while ((entry = readdir(dir.get())) != nullptr) {
+ // Skip '.', '..'
+ if (entry->d_name[0] == '.') {
+ continue;
+ }
+ std::string bin(entry->d_name);
+ auto startTime = startSection(fd, "/vendor/bin/dump/"+bin);
+ RunCommandToFd(fd, "/vendor/bin/dump/"+bin, {"/vendor/bin/dump/"+bin});
+ endSection(fd, "/vendor/bin/dump/"+bin, startTime);
+ }
+ }
+
if (dumpAll) {
return;
}
@@ -1062,11 +1079,6 @@ void DumpstateDevice::dumpMiscSection(int fd) {
DumpFileToFd(fd, "VENDOR PROC DUMP", "/proc/vendor_sched/dump_task");
}
-// Dump scripts under vendor/bin/dump
-void DumpstateDevice::dumpSection(int fd) {
- RunCommandToFd(fd, "dump", {"/vendor/bin/dump/dump_gsc.sh"});
-}
-
// Dump essential camera debugging logs
void DumpstateDevice::dumpCameraSection(int fd) {
RunCommandToFd(fd, "Camera HAL Graph State Dump", {"/vendor/bin/sh", "-c",
diff --git a/dumpstate/DumpstateDevice.h b/dumpstate/DumpstateDevice.h
index bbd523a0..916ba1f9 100644
--- a/dumpstate/DumpstateDevice.h
+++ b/dumpstate/DumpstateDevice.h
@@ -76,7 +76,6 @@ struct DumpstateDevice : public IDumpstateDevice {
void dumpAoCSection(int fd);
void dumpRamdumpSection(int fd);
void dumpMiscSection(int fd);
- void dumpSection(int fd);
void dumpCameraSection(int fd);
void dumpTrustySection(int fd);
void dumpModemSection(int fd);
diff --git a/dumpstate/android.hardware.dumpstate@1.1-service.gs101.rc b/dumpstate/android.hardware.dumpstate@1.1-service.gs101.rc
index 6be0278b..00b80c50 100644
--- a/dumpstate/android.hardware.dumpstate@1.1-service.gs101.rc
+++ b/dumpstate/android.hardware.dumpstate@1.1-service.gs101.rc
@@ -1,6 +1,6 @@
service vendor.dumpstate-1-1 /vendor/bin/hw/android.hardware.dumpstate@1.1-service.gs101
class hal
user system
- group system
+ group system shell
interface android.hardware.dumpstate@1.0::IDumpstateDevice default
interface android.hardware.dumpstate@1.1::IDumpstateDevice default