Merge "Only allow system apps to be forceQueryable"
This commit is contained in:
@@ -547,9 +547,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
|
||||
|
||||
@@ -365,7 +365,25 @@ 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);
|
||||
simulateAddBasicAndroid(appsFilter);
|
||||
appsFilter.onSystemReady();
|
||||
|
||||
PackageSetting target = simulateAddPackage(appsFilter,
|
||||
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);
|
||||
|
||||
assertFalse(appsFilter.shouldFilterApplication(DUMMY_CALLING_APPID, calling, target,
|
||||
SYSTEM_USER));
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testForceQueryable_NonSystemFilters() throws Exception {
|
||||
final AppsFilter appsFilter =
|
||||
new AppsFilter(mStateProvider, mFeatureConfigMock, new String[]{}, false, null);
|
||||
simulateAddBasicAndroid(appsFilter);
|
||||
@@ -376,7 +394,7 @@ public class AppsFilterTest {
|
||||
PackageSetting calling = simulateAddPackage(appsFilter,
|
||||
pkg("com.some.other.package"), DUMMY_CALLING_APPID);
|
||||
|
||||
assertFalse(appsFilter.shouldFilterApplication(DUMMY_CALLING_APPID, calling, target,
|
||||
assertTrue(appsFilter.shouldFilterApplication(DUMMY_CALLING_APPID, calling, target,
|
||||
SYSTEM_USER));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user