diff options
Diffstat (limited to 'services/java/com/android/server/pm/UserManagerService.java')
-rw-r--r-- | services/java/com/android/server/pm/UserManagerService.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/services/java/com/android/server/pm/UserManagerService.java b/services/java/com/android/server/pm/UserManagerService.java index 492158d53814..a13c16e6d45f 100644 --- a/services/java/com/android/server/pm/UserManagerService.java +++ b/services/java/com/android/server/pm/UserManagerService.java @@ -594,6 +594,7 @@ public class UserManagerService extends IUserManager.Stub { // Update the user list writeUserListLocked(); updateUserIdsLocked(); + removeDirectoryRecursive(Environment.getUserSystemDirectory(userHandle)); } } @@ -603,6 +604,17 @@ public class UserManagerService extends IUserManager.Stub { mContext.sendBroadcast(addedIntent, android.Manifest.permission.MANAGE_USERS); } + private void removeDirectoryRecursive(File parent) { + if (parent.isDirectory()) { + String[] files = parent.list(); + for (String filename : files) { + File child = new File(parent, filename); + removeDirectoryRecursive(child); + } + } + parent.delete(); + } + @Override public int getUserSerialNumber(int userHandle) { synchronized (mPackagesLock) { |