Clearing cache for managed profile apps

Added code to loop over all the child profiles and delete application
cache files for them, when clearing cache from Settings->Storage

Bug: b/25338468
Change-Id: I87dba56218402be44b71a009e93b2e93f48a574c
This commit is contained in:
Suprabh Shukla
2016-04-12 15:57:11 -07:00
parent 43fa74b9fd
commit 3f4ac54c77

View File

@@ -725,11 +725,16 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
final PrivateVolumeSettings target = (PrivateVolumeSettings) getTargetFragment(); final PrivateVolumeSettings target = (PrivateVolumeSettings) getTargetFragment();
final PackageManager pm = context.getPackageManager(); final PackageManager pm = context.getPackageManager();
final List<PackageInfo> infos = pm.getInstalledPackages(0); final UserManager um = context.getSystemService(UserManager.class);
final ClearCacheObserver observer = new ClearCacheObserver(
target, infos.size()); for (int userId : um.getProfileIdsWithDisabled(context.getUserId())) {
for (PackageInfo info : infos) { final List<PackageInfo> infos = pm.getInstalledPackagesAsUser(0, userId);
pm.deleteApplicationCacheFiles(info.packageName, observer); final ClearCacheObserver observer = new ClearCacheObserver(
target, infos.size());
for (PackageInfo info : infos) {
pm.deleteApplicationCacheFilesAsUser(info.packageName, userId,
observer);
}
} }
} }
}); });