Add is_runtime_permission field to AppOps atom to enable filtering.

Test: make statsd_testdrive && ./out/host/linux-x86/bin/statsd_testdrive 10060
Change-Id: Iab8e2671907953fd91bda5f8dd1a71997df08522
This commit is contained in:
Stanislav Zholnin
2019-11-28 13:11:54 +00:00
parent 0715e47f92
commit 42d710ef73
2 changed files with 17 additions and 0 deletions

View File

@@ -2177,6 +2177,20 @@ public class StatsCompanionService extends IStatsCompanionService.Stub {
e.writeLong(op.getBackgroundRejectCount(OP_FLAGS_ALL_TRUSTED));
e.writeLong(op.getForegroundAccessDuration(OP_FLAGS_ALL_TRUSTED));
e.writeLong(op.getBackgroundAccessDuration(OP_FLAGS_ALL_TRUSTED));
String perm = AppOpsManager.opToPermission(op.getOpCode());
if (perm == null) {
e.writeBoolean(false);
} else {
PermissionInfo permInfo;
try {
permInfo = mContext.getPackageManager().getPermissionInfo(perm, 0);
e.writeBoolean(permInfo.getProtection() == PROTECTION_DANGEROUS);
} catch (PackageManager.NameNotFoundException exception) {
e.writeBoolean(false);
}
}
pulledData.add(e);
}
}

View File

@@ -6716,6 +6716,9 @@ message AppOps {
// For long-running operations, total duration of the operation
// while the app was in the background (only for trusted requests)
optional int64 trusted_background_duration_millis = 9;
// Whether AppOps is guarded by Runtime permission
optional bool is_runtime_permission = 10;
}
/**