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

Commit c4b1cfd9 authored by Patrick Baumann's avatar Patrick Baumann Committed by Android (Google) Code Review
Browse files

Merge "Only allow system apps to be forceQueryable"

parents 1912f26f 3438afa8
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -560,9 +560,9 @@ public class AppsFilter {
        final boolean newIsForceQueryable =
                mForceQueryable.contains(newPkgSetting.appId)
                        /* shared user that is already force queryable */
                        || newPkg.isForceQueryable()
                        || newPkgSetting.forceQueryableOverride
                        || newPkgSetting.forceQueryableOverride /* adb override */
                        || (newPkgSetting.isSystem() && (mSystemAppsQueryable
                        || newPkg.isForceQueryable()
                        || ArrayUtils.contains(mForceQueryableByDevicePackageNames,
                        newPkg.getPackageName())));
        if (newIsForceQueryable
+21 −2
Original line number Diff line number Diff line
@@ -379,7 +379,7 @@ public class AppsFilterTest {
    }

    @Test
    public void testForceQueryable_DoesntFilter() throws Exception {
    public void testForceQueryable_SystemDoesntFilter() throws Exception {
        final AppsFilter appsFilter =
                new AppsFilter(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
                        mMockExecutor);
@@ -387,7 +387,8 @@ public class AppsFilterTest {
        appsFilter.onSystemReady();

        PackageSetting target = simulateAddPackage(appsFilter,
                pkg("com.some.package").setForceQueryable(true), DUMMY_TARGET_APPID);
                pkg("com.some.package").setForceQueryable(true), DUMMY_TARGET_APPID,
                setting -> setting.setPkgFlags(ApplicationInfo.FLAG_SYSTEM));
        PackageSetting calling = simulateAddPackage(appsFilter,
                pkg("com.some.other.package"), DUMMY_CALLING_APPID);

@@ -395,6 +396,24 @@ public class AppsFilterTest {
                SYSTEM_USER));
    }


    @Test
    public void testForceQueryable_NonSystemFilters() throws Exception {
        final AppsFilter appsFilter =
                new AppsFilter(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
                        mMockExecutor);
        simulateAddBasicAndroid(appsFilter);
        appsFilter.onSystemReady();

        PackageSetting target = simulateAddPackage(appsFilter,
                pkg("com.some.package").setForceQueryable(true), DUMMY_TARGET_APPID);
        PackageSetting calling = simulateAddPackage(appsFilter,
                pkg("com.some.other.package"), DUMMY_CALLING_APPID);

        assertTrue(appsFilter.shouldFilterApplication(DUMMY_CALLING_APPID, calling, target,
                SYSTEM_USER));
    }

    @Test
    public void testForceQueryableByDevice_SystemCaller_DoesntFilter() throws Exception {
        final AppsFilter appsFilter =