CarUserManager.removeUser() should not throw STATUS_TARGET_USER_IS_LAST_ADMIN_USER

Bug: 159735133
Test: atest CarServiceUnitTest:com.android.car.user.CarUserService
Change-Id: I7f02aa5c1118923339ceac2a2b8e19142a667739
diff --git a/service/src/com/android/car/user/CarUserService.java b/service/src/com/android/car/user/CarUserService.java
index 50cbba4..604a59c 100644
--- a/service/src/com/android/car/user/CarUserService.java
+++ b/service/src/com/android/car/user/CarUserService.java
@@ -999,7 +999,8 @@
         halUser.flags = UserHalHelper.convertFlags(userInfo);
         UsersInfo usersInfo = UserHalHelper.newUsersInfo(mUserManager);
 
-        // Do not delete last admin user.
+        // check if the user is last admin user.
+        boolean isLastAdmin = false;
         if (UserHalHelper.isAdmin(halUser.flags)) {
             int size = usersInfo.existingUsers.size();
             int totalAdminUsers = 0;
@@ -1009,8 +1010,7 @@
                 }
             }
             if (totalAdminUsers == 1) {
-                return logAndGetResults(userId,
-                        UserRemovalResult.STATUS_TARGET_USER_IS_LAST_ADMIN_USER);
+                isLastAdmin = true;
             }
         }
 
@@ -1027,7 +1027,13 @@
             mHal.removeUser(request);
         }
 
-        return logAndGetResults(userId, UserRemovalResult.STATUS_SUCCESSFUL);
+        if (isLastAdmin) {
+            Log.w(TAG_USER, "Last admin user successfully removed. User Id: " + userId);
+        }
+
+        return logAndGetResults(userId,
+                isLastAdmin ? UserRemovalResult.STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED
+                        : UserRemovalResult.STATUS_SUCCESSFUL);
     }
 
     private UserRemovalResult logAndGetResults(@UserIdInt int userId,