Merge "Only allow system apps to be forceQueryable" am: 34108ebb9e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1443136 Change-Id: I47e4d5ba2f0cad42b949493140f45a5fa8ee5006
This commit is contained in:
@@ -547,9 +547,9 @@ public class AppsFilter {
|
|||||||
final boolean newIsForceQueryable =
|
final boolean newIsForceQueryable =
|
||||||
mForceQueryable.contains(newPkgSetting.appId)
|
mForceQueryable.contains(newPkgSetting.appId)
|
||||||
/* shared user that is already force queryable */
|
/* shared user that is already force queryable */
|
||||||
|| newPkg.isForceQueryable()
|
|| newPkgSetting.forceQueryableOverride /* adb override */
|
||||||
|| newPkgSetting.forceQueryableOverride
|
|
||||||
|| (newPkgSetting.isSystem() && (mSystemAppsQueryable
|
|| (newPkgSetting.isSystem() && (mSystemAppsQueryable
|
||||||
|
|| newPkg.isForceQueryable()
|
||||||
|| ArrayUtils.contains(mForceQueryableByDevicePackageNames,
|
|| ArrayUtils.contains(mForceQueryableByDevicePackageNames,
|
||||||
newPkg.getPackageName())));
|
newPkg.getPackageName())));
|
||||||
if (newIsForceQueryable
|
if (newIsForceQueryable
|
||||||
|
|||||||
@@ -365,7 +365,25 @@ public class AppsFilterTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@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 =
|
final AppsFilter appsFilter =
|
||||||
new AppsFilter(mStateProvider, mFeatureConfigMock, new String[]{}, false, null);
|
new AppsFilter(mStateProvider, mFeatureConfigMock, new String[]{}, false, null);
|
||||||
simulateAddBasicAndroid(appsFilter);
|
simulateAddBasicAndroid(appsFilter);
|
||||||
@@ -376,7 +394,7 @@ public class AppsFilterTest {
|
|||||||
PackageSetting calling = simulateAddPackage(appsFilter,
|
PackageSetting calling = simulateAddPackage(appsFilter,
|
||||||
pkg("com.some.other.package"), DUMMY_CALLING_APPID);
|
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));
|
SYSTEM_USER));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user