summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/pm/UserManagerService.java
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2012-08-31 12:12:28 -0700
committerAmith Yamasani <yamasani@google.com>2012-08-31 15:33:21 -0700
commit61f57379ca2c5b6290c8da7548fa17128f7ab24f (patch)
tree1aadc5b172ecf5689455e03e5ab635b709d5021f /services/java/com/android/server/pm/UserManagerService.java
parent00453e7a0182b50cf01e65c97650b526284fe084 (diff)
Centralize the creation of the user system directory
Environment.getUserSystemDirectory(int userId) Use it all relevant places that was hardcoding it. Also, wipe out the user's system directory when user is removed, otherwise old state might be transferred to a new user. Change-Id: I788ce9c4cf9624229e65efa7047bc0c019ccef0a
Diffstat (limited to 'services/java/com/android/server/pm/UserManagerService.java')
-rw-r--r--services/java/com/android/server/pm/UserManagerService.java12
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) {