From 4e66025888f243da9eab79fce0d91a05e07afa67 Mon Sep 17 00:00:00 2001 From: Stanislav Zholnin Date: Fri, 4 Dec 2020 16:52:15 +0000 Subject: Modify Dangerous permission state pullers to collect all permissions. Test: statsd_testdrive Bug: 154373877 Change-Id: If9c2ab0d3b0b90e325e4423f0647b8f3e9a0868f --- .../android/server/stats/pull/StatsPullAtomService.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java index 8071672462ef..c3bfdff56974 100644 --- a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java +++ b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java @@ -605,6 +605,7 @@ public class StatsPullAtomService extends SystemService { return pullRoleHolderLocked(atomTag, data); } case FrameworkStatsLog.DANGEROUS_PERMISSION_STATE: + // fall-through - same call covers two cases case FrameworkStatsLog.DANGEROUS_PERMISSION_STATE_SAMPLED: synchronized (mDangerousPermissionStateLock) { return pullDangerousPermissionStateLocked(atomTag, data); @@ -2913,7 +2914,7 @@ public class StatsPullAtomService extends SystemService { } int numPerms = pkg.requestedPermissions.length; - for (int permNum = 0; permNum < numPerms; permNum++) { + for (int permNum = 0; permNum < numPerms; permNum++) { String permName = pkg.requestedPermissions[permNum]; PermissionInfo permissionInfo; @@ -2926,10 +2927,6 @@ public class StatsPullAtomService extends SystemService { continue; } - if (permissionInfo.getProtection() != PROTECTION_DANGEROUS) { - continue; - } - if (permName.startsWith(COMMON_PERMISSION_PREFIX)) { permName = permName.substring(COMMON_PERMISSION_PREFIX.length()); } @@ -2941,15 +2938,17 @@ public class StatsPullAtomService extends SystemService { (pkg.requestedPermissionsFlags[permNum] & REQUESTED_PERMISSION_GRANTED) != 0, - permissionFlags); + permissionFlags, permissionInfo.getProtection() + | permissionInfo.getProtectionFlags()); } else { - // DangerousPermissionStateSampled atom. + // DangeorusPermissionStateSampled atom. e = FrameworkStatsLog.buildStatsEvent(atomTag, permName, pkg.applicationInfo.uid, (pkg.requestedPermissionsFlags[permNum] & REQUESTED_PERMISSION_GRANTED) != 0, - permissionFlags); + permissionFlags, permissionInfo.getProtection() + | permissionInfo.getProtectionFlags()); } pulledData.add(e); } -- cgit v1.2.3-59-g8ed1b