summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandra Gherghina <alexgherghina@google.com>2014-07-29 15:08:31 +0100
committerAlexandra Gherghina <alexgherghina@google.com>2014-08-06 14:52:50 +0000
commite41ce995a0c2c6b167ed64b51e34865c5d58ea4d (patch)
treee3663f79d4d41e849c1842a9673e619a1196b58e
parentfc4a648f0eba90108c5e0fc80520ce184c11796a (diff)
Add hidden API for removing cross-profile package filters
Bug: 16646591 Change-Id: Iaf6837fe4390ac1018c49df366ea434776ed7244
-rw-r--r--core/java/android/app/ApplicationPackageManager.java12
-rw-r--r--core/java/android/content/pm/IPackageManager.aidl3
-rw-r--r--core/java/android/content/pm/PackageManager.java9
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java1
-rw-r--r--test-runner/src/android/test/mock/MockPackageManager.java9
5 files changed, 34 insertions, 0 deletions
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java
index c75c8b73f4e6..edcfd74bbe21 100644
--- a/core/java/android/app/ApplicationPackageManager.java
+++ b/core/java/android/app/ApplicationPackageManager.java
@@ -1616,6 +1616,18 @@ final class ApplicationPackageManager extends PackageManager {
/**
* @hide
*/
+ public void removeCrossProfileIntentsForPackage(String packageName,
+ int sourceUserId, int targetUserId) {
+ try {
+ mPM.removeCrossProfileIntentsForPackage(packageName, sourceUserId, targetUserId);
+ } catch (RemoteException e) {
+ // Should never happen!
+ }
+ }
+
+ /**
+ * @hide
+ */
@Override
public void clearCrossProfileIntentFilters(int sourceUserId) {
try {
diff --git a/core/java/android/content/pm/IPackageManager.aidl b/core/java/android/content/pm/IPackageManager.aidl
index e27ad7d8d7f5..2d6d3c928870 100644
--- a/core/java/android/content/pm/IPackageManager.aidl
+++ b/core/java/android/content/pm/IPackageManager.aidl
@@ -250,6 +250,9 @@ interface IPackageManager {
void addCrossProfileIntentsForPackage(in String packageName, int sourceUserId,
int targetUserId);
+ void removeCrossProfileIntentsForPackage(String packageName, int sourceUserId,
+ int targetUserId);
+
void clearCrossProfileIntentFilters(int sourceUserId, String ownerPackage, int ownerUserId);
/**
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index e482bb0bce24..1e4ed3112b3d 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -3770,6 +3770,15 @@ public abstract class PackageManager {
*/
public abstract void addCrossProfileIntentsForPackage(String packageName,
int sourceUserId, int targetUserId);
+
+ /**
+ * Removes all intents for {@link packageName} for user {@link sourceUserId} to user
+ * {@link targetUserId}.
+ * @hide
+ */
+ public abstract void removeCrossProfileIntentsForPackage(String packageName,
+ int sourceUserId, int targetUserId);
+
/**
* @hide
*/
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 0b07f0a12032..6bedcfb27fdf 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -11669,6 +11669,7 @@ public class PackageManagerService extends IPackageManager.Stub {
mSettings.writePackageRestrictionsLPr(sourceUserId);
}
+ @Override
public void removeCrossProfileIntentsForPackage(String packageName,
int sourceUserId, int targetUserId) {
mContext.enforceCallingOrSelfPermission(
diff --git a/test-runner/src/android/test/mock/MockPackageManager.java b/test-runner/src/android/test/mock/MockPackageManager.java
index 8ce7888c4f67..c84f40eed1d8 100644
--- a/test-runner/src/android/test/mock/MockPackageManager.java
+++ b/test-runner/src/android/test/mock/MockPackageManager.java
@@ -772,6 +772,15 @@ public class MockPackageManager extends PackageManager {
/**
* @hide
*/
+ @Override
+ public void removeCrossProfileIntentsForPackage(String packageName, int sourceUserId,
+ int targetUserId) {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * @hide
+ */
public Drawable loadItemIcon(PackageItemInfo itemInfo, ApplicationInfo appInfo) {
throw new UnsupportedOperationException();
}