From 82035254482b70a05f2ae8e6e11b2725203e56ed Mon Sep 17 00:00:00 2001 From: Hongwei Wang Date: Tue, 24 Jan 2023 15:08:48 -0800 Subject: [PATCH] Support save-for-bugreport command in WMShell Bug: 251513116 Test: adb shell dumpsys activity service SystemUIService \ WMShell protolog save-for-bugreport Change-Id: I62e4773fdf759a617633bb689e970682a5164621 --- .../src/com/android/wm/shell/ProtoLogController.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/ProtoLogController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/ProtoLogController.java index d2760022a0153..88525aabe53b3 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/ProtoLogController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/ProtoLogController.java @@ -84,6 +84,15 @@ public class ProtoLogController implements ShellCommandHandler.ShellCommandActio String[] groups = Arrays.copyOfRange(args, 1, args.length); return mShellProtoLog.stopTextLogging(groups, pw) == 0; } + case "save-for-bugreport": { + if (!mShellProtoLog.isProtoEnabled()) { + pw.println("Logging to proto is not enabled for WMShell."); + return false; + } + mShellProtoLog.stopProtoLog(pw, true /* writeToFile */); + mShellProtoLog.startProtoLog(pw); + return true; + } default: { pw.println("Invalid command: " + args[0]); printShellCommandHelp(pw, ""); @@ -108,5 +117,7 @@ public class ProtoLogController implements ShellCommandHandler.ShellCommandActio pw.println(prefix + " Enable logcat logging for given groups."); pw.println(prefix + "disable-text [group...]"); pw.println(prefix + " Disable logcat logging for given groups."); + pw.println(prefix + "save-for-bugreport"); + pw.println(prefix + " Flush proto logging to file, only if it's enabled."); } }