Add bugreport section progress reporter
- Allow dumpstatelisteners to monitor section size and duration and errors while the
bugreport is generated. Data will be used to write smoke tests for bugreport.
- Refactor main function to allow test to call dumpstate main function. Required until
bugreport api is completed
- Restore stdout and stderr fds before exiting dumpstate
Bug: 70154685
Test: mmm -j56 frameworks/native/cmds/dumpstate && \
adb sync data && \
adb shell /data/nativetest64/dumpstate_test/dumpstate_test && \
printf "\n\n#### ALL TESTS PASSED ####\n"
Change-Id: I7e0938baf6e055f14dce2348d0fe99f261870bf1
diff --git a/cmds/dumpstate/DumpstateService.cpp b/cmds/dumpstate/DumpstateService.cpp
index efe0466..49a78e7 100644
--- a/cmds/dumpstate/DumpstateService.cpp
+++ b/cmds/dumpstate/DumpstateService.cpp
@@ -52,6 +52,7 @@
binder::Status DumpstateService::setListener(const std::string& name,
const sp<IDumpstateListener>& listener,
+ bool getSectionDetails,
sp<IDumpstateToken>* returned_token) {
*returned_token = nullptr;
if (name.empty()) {
@@ -70,6 +71,7 @@
ds_.listener_name_ = name;
ds_.listener_ = listener;
+ ds_.report_section_ = getSectionDetails;
*returned_token = new DumpstateToken();
return binder::Status::ok();