summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java14
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java2
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();