From 75c3fd1ef555273ab9c0db83a73d5fbf88168cc1 Mon Sep 17 00:00:00 2001 From: Stanislav Zholnin Date: Tue, 21 May 2019 13:10:51 +0100 Subject: [PATCH] Add PermissionFlags field to DangerousPermissionState atom. Bug:133401502 Change-Id: I0072ab374b85609636c1f32e55154badf7bf9dc0 Test: make statsd_testdrive && ./out/host/linux-x86/bin/statsd_testdrive 10050 --- cmds/statsd/src/atoms.proto | 3 +++ .../java/com/android/server/stats/StatsCompanionService.java | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto index f53ac1b770217..cda2891cdf4f8 100644 --- a/cmds/statsd/src/atoms.proto +++ b/cmds/statsd/src/atoms.proto @@ -6016,6 +6016,9 @@ message DangerousPermissionState { // If the permission is granted to the uid optional bool is_granted = 4; + + // Permission flags as per android.content.pm.PermissionFlags + optional int32 permission_flags = 5; } /** diff --git a/services/core/java/com/android/server/stats/StatsCompanionService.java b/services/core/java/com/android/server/stats/StatsCompanionService.java index 1edb93a0cdb90..9edcb2bea7ddd 100644 --- a/services/core/java/com/android/server/stats/StatsCompanionService.java +++ b/services/core/java/com/android/server/stats/StatsCompanionService.java @@ -1910,8 +1910,12 @@ public class StatsCompanionService extends IStatsCompanionService.Stub { String permName = pkg.requestedPermissions[permNum]; PermissionInfo permissionInfo; + int permissionFlags = 0; try { permissionInfo = pm.getPermissionInfo(permName, 0); + permissionFlags = + pm.getPermissionFlags(permName, pkg.packageName, user); + } catch (PackageManager.NameNotFoundException ignored) { continue; } @@ -1926,6 +1930,7 @@ public class StatsCompanionService extends IStatsCompanionService.Stub { e.writeString(permName); e.writeInt(pkg.applicationInfo.uid); e.writeString(pkg.packageName); + e.writeInt(permissionFlags); e.writeBoolean((pkg.requestedPermissionsFlags[permNum] & REQUESTED_PERMISSION_GRANTED) != 0);