diff options
| -rw-r--r-- | packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java | 14 | ||||
| -rw-r--r-- | packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java | 2 |
2 files changed, 12 insertions, 4 deletions
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 9592b63c6d1e..8ac9fb91d39d 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -816,7 +816,7 @@ public class SettingsProvider extends ContentProvider { @Override public void onPackageRemoved(String packageName, int uid) { synchronized (mLock) { - mSettingsRegistry.onPackageRemovedLocked(packageName, + mSettingsRegistry.removeSettingsForPackageLocked(packageName, UserHandle.getUserId(uid)); } } @@ -827,6 +827,14 @@ public class SettingsProvider extends ContentProvider { mSettingsRegistry.onUidRemovedLocked(uid); } } + + @Override + public void onPackageDataCleared(String packageName, int uid) { + synchronized (mLock) { + mSettingsRegistry.removeSettingsForPackageLocked(packageName, + UserHandle.getUserId(uid)); + } + } }; // package changes @@ -2547,7 +2555,7 @@ public class SettingsProvider extends ContentProvider { } } - public void onPackageRemovedLocked(String packageName, int userId) { + public void removeSettingsForPackageLocked(String packageName, int userId) { // Global and secure settings are signature protected. Apps signed // by the platform certificate are generally not uninstalled and // the main exception is tests. We trust components signed @@ -2556,7 +2564,7 @@ public class SettingsProvider extends ContentProvider { final int systemKey = makeKey(SETTINGS_TYPE_SYSTEM, userId); SettingsState systemSettings = mSettingsStates.get(systemKey); if (systemSettings != null) { - systemSettings.onPackageRemovedLocked(packageName); + systemSettings.removeSettingsForPackageLocked(packageName); } } diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java index 449946d7ab15..e57483a8c734 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java @@ -293,7 +293,7 @@ final class SettingsState { } // The settings provider must hold its lock when calling here. - public void onPackageRemovedLocked(String packageName) { + public void removeSettingsForPackageLocked(String packageName) { boolean removedSomething = false; final int settingCount = mSettings.size(); |