Merge "Add is_runtime_permission field to AppOps atom to enable filtering."

This commit is contained in:
Stanislav Zholnin
2019-12-03 14:02:57 +00:00
committed by Android (Google) Code Review
2 changed files with 17 additions and 0 deletions

View File

@@ -2183,6 +2183,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

@@ -6717,6 +6717,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;
}
/**