diff options
| author | 2019-11-19 10:10:39 -0800 | |
|---|---|---|
| committer | 2019-11-19 10:10:39 -0800 | |
| commit | bc21fb898e41d8c241fee60e46a9c68e20f4646c (patch) | |
| tree | 9fa7dcbcb6ddb444150d8852a1f54a5e93749397 | |
| parent | 2613be298feada19c6191962d18248ecd2dc7b50 (diff) | |
| parent | 7f9474cba360e4f1447e833e5c387d381eb59263 (diff) | |
Merge "Check for dump permission on BinderCallsStatsService." into qt-qpr1-dev
am: 7f9474cba3
Change-Id: Icff22328ec37176212b04767bbbfa0f7662b3126
| -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) {  |