diff options
| author | Sudheer Shanka <sudheersai@google.com> | 2015-07-09 15:39:23 +0100 |
|---|---|---|
| committer | Benjamin Franz <bfranz@google.com> | 2016-03-16 01:42:23 +0000 |
| commit | bbb3ff2b2a29d42771a9ce2fe2d6f576cff62617 (patch) | |
| tree | 8ac2249728f187ca613a274f85755875c7c9ee78 /core/java | |
| parent | 466b702cac1ba6102c0c96b6528b4b0b30cd0a0b (diff) | |
Flush package restriction changes for a user.
Change-Id: I7c4481f820b6b368487d00de6c783e64cec99f4b
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/app/ApplicationPackageManager.java | 9 | ||||
| -rw-r--r-- | core/java/android/content/pm/IPackageManager.aidl | 5 | ||||
| -rw-r--r-- | core/java/android/content/pm/PackageManager.java | 11 |
3 files changed, 24 insertions, 1 deletions
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java index ca050918d83a..0346beef4127 100644 --- a/core/java/android/app/ApplicationPackageManager.java +++ b/core/java/android/app/ApplicationPackageManager.java @@ -2025,6 +2025,15 @@ public class ApplicationPackageManager extends PackageManager { } @Override + public void flushPackageRestrictionsAsUser(int userId) { + try { + mPM.flushPackageRestrictionsAsUser(userId); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + + @Override public boolean setApplicationHiddenSettingAsUser(String packageName, boolean hidden, UserHandle user) { try { diff --git a/core/java/android/content/pm/IPackageManager.aidl b/core/java/android/content/pm/IPackageManager.aidl index c6844471d71e..a313397821f7 100644 --- a/core/java/android/content/pm/IPackageManager.aidl +++ b/core/java/android/content/pm/IPackageManager.aidl @@ -314,6 +314,11 @@ interface IPackageManager { int getApplicationEnabledSetting(in String packageName, int userId); /** + * As per {@link android.content.pm.PackageManager#flushPackageRestrictionsAsUser}. + */ + void flushPackageRestrictionsAsUser(in int userId); + + /** * Set whether the given package should be considered stopped, making * it not visible to implicit intents that filter out stopped packages. */ diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index e1e8a07310ac..49f9f5c6aee5 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -5227,7 +5227,6 @@ public abstract class PackageManager { public abstract void setComponentEnabledSetting(ComponentName componentName, int newState, int flags); - /** * Return the enabled setting for a package component (activity, * receiver, service, provider). This returns the last value set by @@ -5285,6 +5284,16 @@ public abstract class PackageManager { public abstract int getApplicationEnabledSetting(String packageName); /** + * Flush the package restrictions for a given user to disk. This forces the package restrictions + * like component and package enabled settings to be written to disk and avoids the delay that + * is otherwise present when changing those settings. + * + * @param userId Ther userId of the user whose restrictions are to be flushed. + * @hide + */ + public abstract void flushPackageRestrictionsAsUser(int userId); + + /** * Puts the package in a hidden state, which is almost like an uninstalled state, * making the package unavailable, but it doesn't remove the data or the actual * package file. Application can be unhidden by either resetting the hidden state |
