Merge "Optimize reporting for DangerousPermissionState atom"
This commit is contained in:
committed by
Android (Google) Code Review
commit
07dc98a72d
@@ -2076,6 +2076,7 @@ public class StatsCompanionService extends IStatsCompanionService.Stub {
|
||||
private void pullDangerousPermissionState(long elapsedNanos, final long wallClockNanos,
|
||||
List<StatsLogEventWrapper> pulledData) {
|
||||
long token = Binder.clearCallingIdentity();
|
||||
Set<Integer> reportedUids = new HashSet<>();
|
||||
try {
|
||||
PackageManager pm = mContext.getPackageManager();
|
||||
|
||||
@@ -2096,6 +2097,12 @@ public class StatsCompanionService extends IStatsCompanionService.Stub {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (reportedUids.contains(pkg.applicationInfo.uid)) {
|
||||
// do not report same uid twice
|
||||
continue;
|
||||
}
|
||||
reportedUids.add(pkg.applicationInfo.uid);
|
||||
|
||||
int numPerms = pkg.requestedPermissions.length;
|
||||
for (int permNum = 0; permNum < numPerms; permNum++) {
|
||||
String permName = pkg.requestedPermissions[permNum];
|
||||
@@ -2120,7 +2127,7 @@ public class StatsCompanionService extends IStatsCompanionService.Stub {
|
||||
|
||||
e.writeString(permName);
|
||||
e.writeInt(pkg.applicationInfo.uid);
|
||||
e.writeString(pkg.packageName);
|
||||
e.writeString(null);
|
||||
e.writeBoolean((pkg.requestedPermissionsFlags[permNum]
|
||||
& REQUESTED_PERMISSION_GRANTED) != 0);
|
||||
e.writeInt(permissionFlags);
|
||||
|
||||
Reference in New Issue
Block a user