diff options
author | Alexandra Gherghina <alexgherghina@google.com> | 2014-07-29 15:08:31 +0100 |
---|---|---|
committer | Alexandra Gherghina <alexgherghina@google.com> | 2014-08-06 14:52:50 +0000 |
commit | e41ce995a0c2c6b167ed64b51e34865c5d58ea4d (patch) | |
tree | e3663f79d4d41e849c1842a9673e619a1196b58e | |
parent | fc4a648f0eba90108c5e0fc80520ce184c11796a (diff) |
Add hidden API for removing cross-profile package filters
Bug: 16646591
Change-Id: Iaf6837fe4390ac1018c49df366ea434776ed7244
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(); } |