diff options
| author | 2020-08-25 22:00:02 +0000 | |
|---|---|---|
| committer | 2020-08-25 22:00:02 +0000 | |
| commit | 23b1690987643e3bf9a57a975193ab19d2949969 (patch) | |
| tree | 905bfe34c58dc1531e3d48d88e23bf0e6113cdd7 /packages/SystemUI | |
| parent | 05cd7ff50a807efb182bfa28be7d6e07612cf4d9 (diff) | |
| parent | b754f5281babccc4c1e70a4474e5eacefe07f77d (diff) | |
Merge "Add some protologs for window organizers & shell"
Diffstat (limited to 'packages/SystemUI')
| -rw-r--r-- | packages/SystemUI/Android.bp | 5 | ||||
| -rw-r--r-- | packages/SystemUI/proguard.flags | 5 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/wmshell/WMShell.java | 35 |
3 files changed, 44 insertions, 1 deletions
diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp index 2fbd9ba05817..0f2e25c7025b 100644 --- a/packages/SystemUI/Android.bp +++ b/packages/SystemUI/Android.bp @@ -174,6 +174,9 @@ android_app { kotlincflags: ["-Xjvm-default=enable"], dxflags: ["--multi-dex"], - required: ["privapp_whitelist_com.android.systemui"], + required: [ + "privapp_whitelist_com.android.systemui", + "checked-wm_shell_protolog.json", + ], } diff --git a/packages/SystemUI/proguard.flags b/packages/SystemUI/proguard.flags index df66bf5a1051..6c06b0a19844 100644 --- a/packages/SystemUI/proguard.flags +++ b/packages/SystemUI/proguard.flags @@ -41,7 +41,12 @@ public <init>(android.content.Context); } +# Keep the wm shell lib -keep class com.android.wm.shell.* +# Keep the protolog group methods that are called by the generated code +-keepclassmembers class com.android.wm.shell.protolog.ShellProtoLogGroup { + *; +} -keep class com.android.systemui.dagger.GlobalRootComponent { *; } -keep class com.android.systemui.dagger.GlobalRootComponent$SysUIComponentImpl { *; } diff --git a/packages/SystemUI/src/com/android/systemui/wmshell/WMShell.java b/packages/SystemUI/src/com/android/systemui/wmshell/WMShell.java index 49226000e97d..e4ff1b5dcf4f 100644 --- a/packages/SystemUI/src/com/android/systemui/wmshell/WMShell.java +++ b/packages/SystemUI/src/com/android/systemui/wmshell/WMShell.java @@ -29,7 +29,11 @@ import com.android.systemui.shared.system.ActivityManagerWrapper; import com.android.systemui.shared.system.TaskStackChangeListener; import com.android.systemui.stackdivider.SplitScreen; import com.android.wm.shell.common.DisplayImeController; +import com.android.wm.shell.protolog.ShellProtoLogImpl; +import java.io.FileDescriptor; +import java.io.PrintWriter; +import java.util.Arrays; import java.util.Optional; import javax.inject.Inject; @@ -108,4 +112,35 @@ public final class WMShell extends SystemUI { } }); } + + @Override + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + // Handle commands if provided + for (int i = 0; i < args.length; i++) { + switch (args[i]) { + case "enable-text-logging": { + String[] groups = Arrays.copyOfRange(args, i + 1, args.length); + startTextLogging(groups); + pw.println("Starting logging on groups: " + Arrays.toString(groups)); + return; + } + case "disable-text-logging": { + String[] groups = Arrays.copyOfRange(args, i + 1, args.length); + stopTextLogging(groups); + pw.println("Stopping logging on groups: " + Arrays.toString(groups)); + return; + } + } + } + + // Dump WMShell stuff here if no commands were handled + } + + private void startTextLogging(String... groups) { + ShellProtoLogImpl.getSingleInstance().startTextLogging(mContext, groups); + } + + private void stopTextLogging(String... groups) { + ShellProtoLogImpl.getSingleInstance().stopTextLogging(groups); + } } |