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/dumpstate.h b/cmds/dumpstate/dumpstate.h
index 8db23a9..843c545 100644
--- a/cmds/dumpstate/dumpstate.h
+++ b/cmds/dumpstate/dumpstate.h
@@ -341,9 +341,10 @@
// Pointer to the zip structure.
std::unique_ptr<ZipWriter> zip_writer_;
- // Binder object listing to progress.
+ // Binder object listening to progress.
android::sp<android::os::IDumpstateListener> listener_;
std::string listener_name_;
+ bool report_section_;
// Notification title and description
std::string notification_title;
@@ -433,6 +434,9 @@
/** Gets command-line arguments. */
void format_args(int argc, const char *argv[], std::string *args);
+/** Main entry point for dumpstate. */
+int run_main(int argc, char* argv[]);
+
#ifdef __cplusplus
}
#endif