From e8e4bdba181892dd30e36203c76ebf5e97e3c944 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Wed, 17 Apr 2019 15:42:40 -0700 Subject: [PATCH] Add ability to dump specific dependency controller Bug: 130804868 Test: adb shell dumpsys activity service SystemUIService Dependency OverviewProxyService Change-Id: Ie88f62d0d0b17ded6f8ff5d3d850f1f444eed444 --- .../src/com/android/systemui/Dependency.java | 14 ++++++++++++-- .../src/com/android/systemui/SystemUIService.java | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/Dependency.java b/packages/SystemUI/src/com/android/systemui/Dependency.java index a4219402259e7..4b338f79e9c66 100644 --- a/packages/SystemUI/src/com/android/systemui/Dependency.java +++ b/packages/SystemUI/src/com/android/systemui/Dependency.java @@ -484,8 +484,18 @@ public class Dependency extends SystemUI { // with Dependency#get. getDependency(DumpController.class); - pw.println("Dumping existing controllers:"); - mDependencies.values().stream().filter(obj -> obj instanceof Dumpable) + // If an arg is specified, try to dump the dependency + String controller = args != null && args.length > 1 + ? args[1].toLowerCase() + : null; + if (controller != null) { + pw.println("Dumping controller=" + controller + ":"); + } else { + pw.println("Dumping existing controllers:"); + } + mDependencies.values().stream() + .filter(obj -> obj instanceof Dumpable && (controller == null + || obj.getClass().getName().toLowerCase().endsWith(controller))) .forEach(o -> ((Dumpable) o).dump(fd, pw, args)); } diff --git a/packages/SystemUI/src/com/android/systemui/SystemUIService.java b/packages/SystemUI/src/com/android/systemui/SystemUIService.java index ac108becfeb2f..dc1218d334984 100644 --- a/packages/SystemUI/src/com/android/systemui/SystemUIService.java +++ b/packages/SystemUI/src/com/android/systemui/SystemUIService.java @@ -77,9 +77,9 @@ public class SystemUIService extends Service { ((PluginManagerImpl) Dependency.get(PluginManager.class)).dump(fd, pw, args); } } else { - String svc = args[0]; + String svc = args[0].toLowerCase(); for (SystemUI ui: services) { - String name = ui.getClass().getName(); + String name = ui.getClass().getName().toLowerCase(); if (name.endsWith(svc)) { ui.dump(fd, pw, args); }