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
Ignore-AOSP-First: resolve merge conflict on master first
Change-Id: I2f48511868a871a290ca38126c4a4c3016169db4
diff --git a/cmds/dumpstate/dumpstate.cpp b/cmds/dumpstate/dumpstate.cpp
index d77b458..c06a714 100644
--- a/cmds/dumpstate/dumpstate.cpp
+++ b/cmds/dumpstate/dumpstate.cpp
@@ -3270,6 +3270,15 @@
         return;
     }
 
+    // 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 : {"input_method", "window"}) {
         RunCommand(