Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c0d0199 authored by Sanjana Sunil's avatar Sanjana Sunil Committed by Android (Google) Code Review
Browse files

Merge "Use uid to query list of implicitly queryable packages" into tm-qpr-dev

parents 52c3498a ba3df5d8
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -205,12 +205,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) {
@@ -322,9 +322,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);
            }
            if (mCacheReady) { // use cache
                if (!shouldFilterApplicationUsingCache(callingUid,
+4 −4
Original line number Diff line number Diff line
@@ -65,16 +65,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);
        }
    }