summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Sanjana Sunil <sanjanasunil@google.com> 2022-09-23 07:39:01 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-09-23 07:39:01 +0000
commitefb6b0e65c62616d09d7fe884e938f1fe06b57ef (patch)
tree9e602f364780f2907418ffe450d1176768e148cd
parent45d0a352bf0ba3c04f854acca7da8718c3b08486 (diff)
parent0e69c416c273aeed8832f82181c995731c1a34a1 (diff)
Merge "Use uid to query list of implicitly queryable packages" into tm-qpr-dev am: 9c0d01990e am: 0e69c416c2
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20007184 Change-Id: I2a35a4136c12813d4e2e29929055740e8080b780 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--services/core/java/com/android/server/pm/AppsFilterBase.java12
-rw-r--r--services/core/java/com/android/server/pm/AppsFilterLocked.java8
2 files changed, 11 insertions, 9 deletions
diff --git a/services/core/java/com/android/server/pm/AppsFilterBase.java b/services/core/java/com/android/server/pm/AppsFilterBase.java
index 5fa5de75eaf3..3b676c65db75 100644
--- a/services/core/java/com/android/server/pm/AppsFilterBase.java
+++ b/services/core/java/com/android/server/pm/AppsFilterBase.java
@@ -216,12 +216,12 @@ public abstract class AppsFilterBase implements AppsFilterSnapshot {
return mQueriesViaComponent.contains(callingAppId, targetAppId);
}
- protected boolean isImplicitlyQueryable(int callingAppId, int targetAppId) {
- return mImplicitlyQueryable.contains(callingAppId, targetAppId);
+ protected boolean isImplicitlyQueryable(int callingUid, int targetUid) {
+ return mImplicitlyQueryable.contains(callingUid, targetUid);
}
- protected boolean isRetainedImplicitlyQueryable(int callingAppId, int targetAppId) {
- return mRetainedImplicitlyQueryable.contains(callingAppId, targetAppId);
+ protected boolean isRetainedImplicitlyQueryable(int callingUid, int targetUid) {
+ return mRetainedImplicitlyQueryable.contains(callingUid, targetUid);
}
protected boolean isQueryableViaUsesLibrary(int callingAppId, int targetAppId) {
@@ -337,9 +337,11 @@ public abstract class AppsFilterBase implements AppsFilterSnapshot {
|| callingAppId == targetPkgSetting.getAppId()) {
return false;
} else if (Process.isSdkSandboxUid(callingAppId)) {
+ final int targetAppId = targetPkgSetting.getAppId();
+ final int targetUid = UserHandle.getUid(userId, targetAppId);
// we only allow sdk sandbox processes access to forcequeryable packages
return !isForceQueryable(targetPkgSetting.getAppId())
- && !isImplicitlyQueryable(callingAppId, targetPkgSetting.getAppId());
+ && !isImplicitlyQueryable(callingUid, targetUid);
}
// use cache
if (mCacheReady && mCacheEnabled) {
diff --git a/services/core/java/com/android/server/pm/AppsFilterLocked.java b/services/core/java/com/android/server/pm/AppsFilterLocked.java
index 870f9da26210..29bb14e371c0 100644
--- a/services/core/java/com/android/server/pm/AppsFilterLocked.java
+++ b/services/core/java/com/android/server/pm/AppsFilterLocked.java
@@ -66,16 +66,16 @@ abstract class AppsFilterLocked extends AppsFilterBase {
}
@Override
- protected boolean isImplicitlyQueryable(int callingAppId, int targetAppId) {
+ protected boolean isImplicitlyQueryable(int callingUid, int targetUid) {
synchronized (mImplicitlyQueryableLock) {
- return super.isImplicitlyQueryable(callingAppId, targetAppId);
+ return super.isImplicitlyQueryable(callingUid, targetUid);
}
}
@Override
- protected boolean isRetainedImplicitlyQueryable(int callingAppId, int targetAppId) {
+ protected boolean isRetainedImplicitlyQueryable(int callingUid, int targetUid) {
synchronized (mImplicitlyQueryableLock) {
- return super.isRetainedImplicitlyQueryable(callingAppId, targetAppId);
+ return super.isRetainedImplicitlyQueryable(callingUid, targetUid);
}
}