Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 75c3fd1e authored by Stanislav Zholnin's avatar Stanislav Zholnin
Browse files

Add PermissionFlags field to DangerousPermissionState atom.

Bug:133401502

Change-Id: I0072ab374b85609636c1f32e55154badf7bf9dc0
Test: make statsd_testdrive && ./out/host/linux-x86/bin/statsd_testdrive 10050
parent 4e1078e2
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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;
}

/**
+5 −0
Original line number Diff line number Diff line
@@ -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);