Add PermissionFlags field to DangerousPermissionState atom.

Bug:133401502

Change-Id: I0072ab374b85609636c1f32e55154badf7bf9dc0
Test: make statsd_testdrive && ./out/host/linux-x86/bin/statsd_testdrive 10050
This commit is contained in:
Stanislav Zholnin
2019-05-21 13:10:51 +01:00
parent 4e1078e291
commit 75c3fd1ef5
2 changed files with 8 additions and 0 deletions

View File

@@ -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;
}
/**

View File

@@ -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);