From e5e2569a1f0af3dd8cc245aada168f7969c3a5d9 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Thu, 13 Apr 2017 19:43:34 -0600 Subject: [PATCH] Relax enforcement of GET_USAGE_STATS permission. This matches the logic used in all other places where we check for this app-op. Test: builds, boots Bug: 37315351 Change-Id: I1fef7d30709d24c3f8978d33271a15b37b2ccc26 --- .../java/com/android/internal/util/DumpUtils.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/core/java/com/android/internal/util/DumpUtils.java b/core/java/com/android/internal/util/DumpUtils.java index 4659d3c48a228..ce89501c970ae 100644 --- a/core/java/com/android/internal/util/DumpUtils.java +++ b/core/java/com/android/internal/util/DumpUtils.java @@ -121,12 +121,15 @@ public final class DumpUtils { final String[] pkgs = context.getPackageManager().getPackagesForUid(uid); if (pkgs != null) { for (String pkg : pkgs) { - if (appOps.checkOpNoThrow(AppOpsManager.OP_GET_USAGE_STATS, uid, - pkg) == AppOpsManager.MODE_ALLOWED) { - appOps.noteOp(AppOpsManager.OP_GET_USAGE_STATS, uid, pkg); - if (DEBUG) Slog.v(TAG, "Found package " + pkg + " with " - + "android:get_usage_stats access"); - return true; + switch (appOps.checkOpNoThrow(AppOpsManager.OP_GET_USAGE_STATS, uid, pkg)) { + case AppOpsManager.MODE_ALLOWED: + if (DEBUG) Slog.v(TAG, "Found package " + pkg + " with " + + "android:get_usage_stats allowed"); + return true; + case AppOpsManager.MODE_DEFAULT: + if (DEBUG) Slog.v(TAG, "Found package " + pkg + " with " + + "android:get_usage_stats default"); + return true; } } }