From ccb9130c45ae2ba9a4018332f566b5669ab4036f Mon Sep 17 00:00:00 2001 From: Andrei Onea Date: Wed, 10 Jul 2019 16:43:09 +0100 Subject: [PATCH] Dump PlatformCompat overrides to dumpsys Dump info related to compat flags. Test: adb shell am compat enable 42 foo.bar; \ dumpsys platform_compat Bug: 137183175 Change-Id: Ic429731a3364dab5902caeb12f48fecf2e49bb65 Merged-In: Ic429731a3364dab5902caeb12f48fecf2e49bb65 --- .../android/server/compat/CompatConfig.java | 19 +++++++++++++++++++ .../android/server/compat/PlatformCompat.java | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/compat/CompatConfig.java b/services/core/java/com/android/server/compat/CompatConfig.java index bcf1d80781a6c..c59b0652af156 100644 --- a/services/core/java/com/android/server/compat/CompatConfig.java +++ b/services/core/java/com/android/server/compat/CompatConfig.java @@ -24,6 +24,7 @@ import android.util.LongSparseArray; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; +import java.io.PrintWriter; /** * This class maintains state relating to platform compatibility changes. * @@ -169,4 +170,22 @@ public final class CompatConfig { return overrideExists; } + /** + * Dumps the current list of compatibility config information. + * + * @param pw The {@link PrintWriter} instance to which the information will be dumped. + */ + public void dumpConfig(PrintWriter pw) { + synchronized (mChanges) { + if (mChanges.size() == 0) { + pw.println("No compat overrides."); + return; + } + for (int i = 0; i < mChanges.size(); ++i) { + CompatChange c = mChanges.valueAt(i); + pw.println(c.toString()); + } + } + } + } diff --git a/services/core/java/com/android/server/compat/PlatformCompat.java b/services/core/java/com/android/server/compat/PlatformCompat.java index 09e818dacae1f..3eea194fd73e1 100644 --- a/services/core/java/com/android/server/compat/PlatformCompat.java +++ b/services/core/java/com/android/server/compat/PlatformCompat.java @@ -56,6 +56,6 @@ public class PlatformCompat extends IPlatformCompat.Stub { @Override protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) { if (!DumpUtils.checkDumpAndUsageStatsPermission(mContext, "platform_compat", pw)) return; - // TODO: Dump info about compatibility changes. + CompatConfig.get().dumpConfig(pw); } }