summaryrefslogtreecommitdiffstats
path: root/packages/SettingsProvider
diff options
context:
space:
mode:
authorEsteban Talavera <etalavera@google.com>2015-07-07 16:21:43 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-07-07 16:21:43 +0000
commit156cc70db9580d24f1fd4b9fcbd9511e88c13a4c (patch)
tree68835442582d0160a0c703e12cb99c610f5af23e /packages/SettingsProvider
parent8f40a25de70bdb6878a5622fce2818039c4fdfbb (diff)
parentd4241a86a28459ee82074c177a147f92385310da (diff)
downloadframeworks_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.java20
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) {