From d06acf698e274e6d977baa006d9affca4cf7580b Mon Sep 17 00:00:00 2001 From: Sarup Dalwani Date: Tue, 2 Aug 2022 17:49:56 +0000 Subject: [PATCH] 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 --- core/api/test-current.txt | 2 ++ core/java/android/content/pm/PackageManager.java | 2 ++ test-mock/api/test-current.txt | 2 ++ 3 files changed, 6 insertions(+) diff --git a/core/api/test-current.txt b/core/api/test-current.txt index fccb3c0146cf8..f4e8d4ed8f120 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -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(); diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index ccc244190876d..c113a3824c728 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -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); /** diff --git a/test-mock/api/test-current.txt b/test-mock/api/test-current.txt index 531dd7c008fe2..35f076fe3f008 100644 --- a/test-mock/api/test-current.txt +++ b/test-mock/api/test-current.txt @@ -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 getInstalledApplicationsAsUser(int, int); method public String[] getNamesForUids(int[]);