summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Hall Liu <hallliu@google.com> 2020-07-14 00:01:26 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2020-07-14 00:01:26 +0000
commit93b9040fcbf7deaa1e30d46e7d85762057156f13 (patch)
tree21c50ba32e07a5730ea0b9fc02bdd77d9ce26ed5
parente99bc17e7dbbc7dbc82b3bec38c56a2765072af0 (diff)
parenta9d9ea8a3e59eae150edf37076f551a1d13ce3fd (diff)
Merge "Skip carrier priv check for trusted UIDs" into rvc-dev am: f1a6972937 am: a9d9ea8a3e
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12141306 Change-Id: I693f18234eb0f0b1c858807a71be474e7ce00bd2
-rw-r--r--core/java/android/content/pm/PackageManager.java2
-rw-r--r--telephony/common/com/android/internal/telephony/TelephonyPermissions.java4
2 files changed, 5 insertions, 1 deletions
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index 53e75d4548ba..ea4a2a0b8c35 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -8171,7 +8171,7 @@ public abstract class PackageManager {
private static final PropertyInvalidatedCache<PackageInfoQuery, PackageInfo>
sPackageInfoCache =
new PropertyInvalidatedCache<PackageInfoQuery, PackageInfo>(
- 16, PermissionManager.CACHE_KEY_PACKAGE_INFO) {
+ 32, PermissionManager.CACHE_KEY_PACKAGE_INFO) {
@Override
protected PackageInfo recompute(PackageInfoQuery query) {
return getPackageInfoAsUserUncached(
diff --git a/telephony/common/com/android/internal/telephony/TelephonyPermissions.java b/telephony/common/com/android/internal/telephony/TelephonyPermissions.java
index bc987a6282c7..71a1964210b0 100644
--- a/telephony/common/com/android/internal/telephony/TelephonyPermissions.java
+++ b/telephony/common/com/android/internal/telephony/TelephonyPermissions.java
@@ -623,6 +623,10 @@ public final class TelephonyPermissions {
}
private static int getCarrierPrivilegeStatus(Context context, int subId, int uid) {
+ if (uid == Process.SYSTEM_UID || uid == Process.PHONE_UID) {
+ // Skip the check if it's one of these special uids
+ return TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS;
+ }
final long identity = Binder.clearCallingIdentity();
try {
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(