diff options
author | Esteban Talavera <etalavera@google.com> | 2015-07-07 16:21:43 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-07-07 16:21:43 +0000 |
commit | 156cc70db9580d24f1fd4b9fcbd9511e88c13a4c (patch) | |
tree | 68835442582d0160a0c703e12cb99c610f5af23e /packages/SettingsProvider | |
parent | 8f40a25de70bdb6878a5622fce2818039c4fdfbb (diff) | |
parent | d4241a86a28459ee82074c177a147f92385310da (diff) | |
download | frameworks_base-156cc70db9580d24f1fd4b9fcbd9511e88c13a4c.zip frameworks_base-156cc70db9580d24f1fd4b9fcbd9511e88c13a4c.tar.gz frameworks_base-156cc70db9580d24f1fd4b9fcbd9511e88c13a4c.tar.bz2 |
am d4241a86: am 0e9ffff4: am 5a81b61e: Merge "Notify the profile when cloned settings are changed." into mnc-dev
* commit 'd4241a86a28459ee82074c177a147f92385310da':
Notify the profile when cloned settings are changed.
Diffstat (limited to 'packages/SettingsProvider')
-rw-r--r-- | packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 41043eb..8d9f3fd 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -1774,6 +1774,26 @@ public class SettingsProvider extends ContentProvider { Uri uri = getNotificationUriFor(key, name); sendNotify(uri, userId); + if (isSecureSettingsKey(key)) { + maybeNotifyProfiles(userId, uri, name, sSecureCloneToManagedSettings); + } else if (isSystemSettingsKey(key)) { + maybeNotifyProfiles(userId, uri, name, sSystemCloneToManagedSettings); + } + } + + private void maybeNotifyProfiles(int userId, Uri uri, String name, + Set<String> keysCloned) { + if (keysCloned.contains(name)) { + List<UserInfo> profiles = mUserManager.getProfiles(userId); + int size = profiles.size(); + for (int i = 0; i < size; i++) { + UserInfo profile = profiles.get(i); + // the notification for userId has already been sent. + if (profile.id != userId) { + sendNotify(uri, profile.id); + } + } + } } private int makeKey(int type, int userId) { |