Cleanup user data when user stopped

1. During the quick user switch, the user status is changed from
   STATE_STOPPING to STATE_BOOTING, the process android.process.core
   (ContactsProvider2) was not closed, but the AccountManagerService
   cleanup the user in stopping stage.

2. When the user is switched back, the old ContactsProvider2
   process was used, but the client doesn't have the listener
   registered for AccountManager any more.

3. This causes the ContactsProvider reloaded again when the phone
   is connected, then duplicated contacts will show on the screen.

4. Solution is cleaning up the user data in onUserStopped.

Test: manual verification

Bug: 224818967

Change-Id: I8fb44e0e66ff73c055a548d57ff3d45ecc213f71
diff --git a/services/core/java/com/android/server/accounts/AccountManagerService.java b/services/core/java/com/android/server/accounts/AccountManagerService.java
index ab2147d..d0503f3 100644
--- a/services/core/java/com/android/server/accounts/AccountManagerService.java
+++ b/services/core/java/com/android/server/accounts/AccountManagerService.java
@@ -168,8 +168,8 @@
         }
 
         @Override
-        public void onUserStopping(@NonNull TargetUser user) {
-            Slog.i(TAG, "onStopUser " + user);
+        public void onUserStopped(@NonNull TargetUser user) {
+            Slog.i(TAG, "onUserStopped " + user);
             mService.purgeUserData(user.getUserIdentifier());
         }
     }