Making add and clear CPIF apis as TestApis

Making addCrossProfileIntentFilter and clearCrossProfileIntentFilters as
TestApis so that we can write CTS device side test cases to emulate
behaviour used by 3P apps or profile owners. This is to ensure that no
malicious user can add/remove filters by following access control rules.

Bug: 238019465
Test: atest CtsAppCloningDeviceTestCases
Change-Id: I4084826cbc63b1afc5569bd310be694b11202aee
This commit is contained in:
Sarup Dalwani
2022-08-02 17:49:56 +00:00
parent 413d56d422
commit d06acf698e
3 changed files with 6 additions and 0 deletions

View File

@@ -823,6 +823,8 @@ package android.content.pm {
}
public abstract class PackageManager {
method public abstract void addCrossProfileIntentFilter(@NonNull android.content.IntentFilter, int, int, int);
method public abstract void clearCrossProfileIntentFilters(int);
method @Deprecated @Nullable public final String getContentCaptureServicePackageName();
method @Nullable public String getDefaultTextClassifierPackageName();
method @RequiresPermission(android.Manifest.permission.INJECT_EVENTS) public android.os.IBinder getHoldLockToken();

View File

@@ -9473,6 +9473,7 @@ public abstract class PackageManager {
*/
@SuppressWarnings("HiddenAbstractMethod")
@UnsupportedAppUsage
@TestApi
public abstract void addCrossProfileIntentFilter(@NonNull IntentFilter filter,
@UserIdInt int sourceUserId, @UserIdInt int targetUserId, int flags);
@@ -9485,6 +9486,7 @@ public abstract class PackageManager {
*/
@SuppressWarnings("HiddenAbstractMethod")
@UnsupportedAppUsage
@TestApi
public abstract void clearCrossProfileIntentFilters(@UserIdInt int sourceUserId);
/**

View File

@@ -6,6 +6,8 @@ package android.test.mock {
}
@Deprecated public class MockPackageManager extends android.content.pm.PackageManager {
method public void addCrossProfileIntentFilter(android.content.IntentFilter, int, int, int);
method public void clearCrossProfileIntentFilters(int);
method public int getInstallReason(String, android.os.UserHandle);
method public java.util.List<android.content.pm.ApplicationInfo> getInstalledApplicationsAsUser(int, int);
method public String[] getNamesForUids(int[]);