diff options
| author | 2019-11-19 10:14:06 -0800 | |
|---|---|---|
| committer | 2019-11-19 10:14:06 -0800 | |
| commit | bf9ae481f1167492471ec60f46cd0a5ce85a7ef3 (patch) | |
| tree | a047bdbaa0125e84e5e0190443701c687ae86c95 | |
| parent | 64ed3ec44c68664ade3c7fa04f692a7144479ca6 (diff) | |
| parent | bc21fb898e41d8c241fee60e46a9c68e20f4646c (diff) | |
Merge "Check for dump permission on BinderCallsStatsService." into qt-qpr1-dev am: 7f9474cba3
am: bc21fb898e
Change-Id: I9b7aff45a6252fc302bf42dd123e0d1058a1586a
| -rw-r--r-- | services/core/java/com/android/server/BinderCallsStatsService.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/BinderCallsStatsService.java b/services/core/java/com/android/server/BinderCallsStatsService.java index e51025943df4..f2ce444a8b90 100644 --- a/services/core/java/com/android/server/BinderCallsStatsService.java +++ b/services/core/java/com/android/server/BinderCallsStatsService.java @@ -19,6 +19,7 @@ package com.android.server; import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE; import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE; +import android.app.ActivityThread; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; @@ -40,6 +41,7 @@ import com.android.internal.os.BackgroundThread; import com.android.internal.os.BinderCallsStats; import com.android.internal.os.BinderInternal; import com.android.internal.os.CachedDeviceState; +import com.android.internal.util.DumpUtils; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -49,6 +51,7 @@ import java.util.List; public class BinderCallsStatsService extends Binder { private static final String TAG = "BinderCallsStatsService"; + private static final String SERVICE_NAME = "binder_calls_stats"; private static final String PERSIST_SYS_BINDER_CALLS_DETAILED_TRACKING = "persist.sys.binder_calls_detailed_tracking"; @@ -246,7 +249,7 @@ public class BinderCallsStatsService extends Binder { mService = new BinderCallsStatsService( mBinderCallsStats, mWorkSourceProvider); publishLocalService(Internal.class, new Internal(mBinderCallsStats)); - publishBinderService("binder_calls_stats", mService); + publishBinderService(SERVICE_NAME, mService); boolean detailedTrackingEnabled = SystemProperties.getBoolean( PERSIST_SYS_BINDER_CALLS_DETAILED_TRACKING, false); @@ -293,6 +296,11 @@ public class BinderCallsStatsService extends Binder { @Override protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + if (!DumpUtils.checkDumpAndUsageStatsPermission(ActivityThread.currentApplication(), + SERVICE_NAME, pw)) { + return; + } + boolean verbose = false; if (args != null) { for (final String arg : args) { |