diff options
| author | Benjamin Franz <bfranz@google.com> | 2016-03-16 23:51:43 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-03-16 23:51:44 +0000 |
| commit | f9124ecad9ec20f572df8cdca6f985ef3f97210d (patch) | |
| tree | 43492e863c64e8a6f4872d77960cc03bc9970eab /core/java | |
| parent | 886ad0690bd3b4e7ee08f032432eefe53a2bdaa9 (diff) | |
| parent | bbb3ff2b2a29d42771a9ce2fe2d6f576cff62617 (diff) | |
Merge "Flush package restriction changes for a user." into nyc-dev
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 cefb22dd7e50..5ef03d1cac6f 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 4899fe563c62..dabc6524b20f 100644 --- a/core/java/android/content/pm/IPackageManager.aidl +++ b/core/java/android/content/pm/IPackageManager.aidl @@ -316,6 +316,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 c1017fb3f110..c179596a13b0 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -5225,7 +5225,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 @@ -5283,6 +5282,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 |
