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 db79ce4d0671e..638232d232010 100644 --- a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java +++ b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java @@ -614,6 +614,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); @@ -3014,7 +3015,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; @@ -3027,10 +3028,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()); } @@ -3042,15 +3039,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); }