dumpstate: Add USF registry dump.
This collects the output of "usf_reg_edit save -" and adds it to the
bugreport. It is only done on userbuilds for PROTO* and EVT* devices.
Bug: 187081112
Test: Run "adb bugreport <zip>" and verify it contains the output
from "usf_reg_edit save -".
Change-Id: Ie68b56a3bb211840f33bdb5afbc31b0759641c8e
diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp
index aa2c2c9..8b49a36 100644
--- a/dumpstate/DumpstateDevice.cpp
+++ b/dumpstate/DumpstateDevice.cpp
@@ -49,6 +49,8 @@
#define TCPDUMP_NUMBER_BUGREPORT "persist.vendor.tcpdump.log.br_num"
#define TCPDUMP_PERSIST_PROPERTY "persist.vendor.tcpdump.log.alwayson"
+#define HW_REVISION "ro.boot.hardware.revision"
+
using android::os::dumpstate::CommandOptions;
using android::os::dumpstate::DumpFileToFd;
using android::os::dumpstate::PropertiesHelper;
@@ -765,6 +767,17 @@
RunCommandToFd(fd, "USF statistics",
{"/vendor/bin/sh", "-c", "usf_stats get --all"},
options);
+ if (!PropertiesHelper::IsUserBuild()) {
+ // Not a user build, if this is also not a production device dump the USF registry.
+ std::string hwRev = android::base::GetProperty(HW_REVISION, "");
+ if (hwRev.find("PROTO") != std::string::npos ||
+ hwRev.find("EVT") != std::string::npos ||
+ hwRev.find("DVT") != std::string::npos) {
+ RunCommandToFd(fd, "USF Registry",
+ {"/vendor/bin/sh", "-c", "usf_reg_edit save -"},
+ options);
+ }
+ }
}
struct abl_log_header {