Fix deadlock in removing a user

Cleanup PackageManager settings after the package directories are removed.

Change-Id: I264bc95ea21da653a234d7c81df5b25d4de7aa9e
diff --git a/services/java/com/android/server/pm/UserManagerService.java b/services/java/com/android/server/pm/UserManagerService.java
index c292bbc..b13bb68 100644
--- a/services/java/com/android/server/pm/UserManagerService.java
+++ b/services/java/com/android/server/pm/UserManagerService.java
@@ -523,6 +523,10 @@
         synchronized (mUsers) {
             result = removeUserLocked(userHandle);
         }
+
+        // Cleanup package manager settings
+        mPm.cleanUpUser(userHandle);
+
         // Let other services shutdown any activity
         Intent addedIntent = new Intent(Intent.ACTION_USER_REMOVED);
         addedIntent.putExtra(Intent.EXTRA_USER_HANDLE, userHandle);
@@ -555,8 +559,6 @@
             return false;
         }
 
-        mPm.cleanUpUser(userHandle);
-
         // Remove this user from the list
         mUsers.remove(userHandle);
         // Remove user file