Include WMShell protolog in bug-report

When generating the bug-report, dumpstate will now issue a
"save-for-bugreport" command to the WMShell and WMShell flashes the
proto logging file to /data/misc/wmtrace if it's enabled.

/data/misc/wmtrace is included in the final bug-report.

Bug: 251513116
Test: adb bugreport
Merged-In: I2f48511868a871a290ca38126c4a4c3016169db4
Change-Id: I2f48511868a871a290ca38126c4a4c3016169db4
diff --git a/cmds/dumpstate/dumpstate.cpp b/cmds/dumpstate/dumpstate.cpp
index 12de33f..00704b6 100644
--- a/cmds/dumpstate/dumpstate.cpp
+++ b/cmds/dumpstate/dumpstate.cpp
@@ -3244,6 +3244,15 @@
 }
 
 void Dumpstate::MaybeSnapshotWinTrace() {
+    // Include the proto logging from WMShell.
+    RunCommand(
+        // Empty name because it's not intended to be classified as a bugreport section.
+        // Actual logging files can be found as "/data/misc/wmtrace/shell_log.winscope"
+        // in the bugreport.
+        "", {"dumpsys", "activity", "service", "SystemUIService",
+             "WMShell", "protolog", "save-for-bugreport"},
+        CommandOptions::WithTimeout(10).Always().DropRoot().RedirectStderr().Build());
+
     // Currently WindowManagerService and InputMethodManagerSerivice support WinScope protocol.
     for (const auto& service : {"window", "input_method"}) {
         RunCommand(