diff --git a/parse/src/main/java/com/parse/ParseUser.java b/parse/src/main/java/com/parse/ParseUser.java index 3edac0ff6..6fdf91845 100644 --- a/parse/src/main/java/com/parse/ParseUser.java +++ b/parse/src/main/java/com/parse/ParseUser.java @@ -757,7 +757,7 @@ private Map getAuthData(String authType) { /* package */ void putAuthData(String authType, Map authData) { synchronized (mutex) { - Map> newAuthData = getAuthData(); + Map> newAuthData = new HashMap<>(getAuthData()); newAuthData.put(authType, authData); performPut(KEY_AUTH_DATA, newAuthData); } @@ -765,7 +765,7 @@ private Map getAuthData(String authType) { private void removeAuthData(String authType) { synchronized (mutex) { - Map> newAuthData = getAuthData(); + Map> newAuthData = new HashMap<>(getAuthData()); newAuthData.remove(authType); performPut(KEY_AUTH_DATA, newAuthData); } diff --git a/parse/src/test/java/com/parse/ParseUserTest.java b/parse/src/test/java/com/parse/ParseUserTest.java index 24aec71b8..fcb1f69a0 100644 --- a/parse/src/test/java/com/parse/ParseUserTest.java +++ b/parse/src/test/java/com/parse/ParseUserTest.java @@ -959,7 +959,7 @@ public void testSaveAsyncWithLazyAndCurrentUser() throws Exception { ParseTaskUtils.wait(partialMockUser.saveAsync("sessionToken", Task.forResult(null))); // Make sure we clean authData - assertFalse(partialMockUser.getAuthData().containsKey("facebook")); + assertFalse(partialMockUser.getState().authData().containsKey("facebook")); // Make sure we save new currentUser verify(currentUserController, times(1)).setAsync(partialMockUser); }