Skip to content

Commit 8499cf5

Browse files
committed
Clean up
Callers of resolveLazinessAsync never use it's return value, might as well make it `Void`
1 parent da25cb4 commit 8499cf5

File tree

2 files changed

+29
-45
lines changed

2 files changed

+29
-45
lines changed

Parse/src/main/java/com/parse/ParseUser.java

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -478,7 +478,7 @@ private void restoreAnonymity(Map<String, String> anonymousData) {
478478
synchronized (mutex) {
479479
Task<Void> task;
480480
if (isLazy()) {
481-
task = resolveLazinessAsync(toAwait).makeVoid();
481+
task = resolveLazinessAsync(toAwait);
482482
} else {
483483
task = super.saveAsync(sessionToken, toAwait);
484484
}
@@ -1170,7 +1170,7 @@ public Task<Void> then(Task<Void> task) throws Exception {
11701170
user.stripAnonymity();
11711171
user.putAuthData(authType, authData);
11721172

1173-
return user.resolveLazinessAsync(task).makeVoid();
1173+
return user.resolveLazinessAsync(task);
11741174
}
11751175
}
11761176
}).continueWithTask(new Continuation<Void, Task<ParseUser>>() {
@@ -1290,32 +1290,25 @@ private void logOutWith(String authType) {
12901290
* @return A {@code Task} that will resolve to the current user. If this is a SignUp it'll be this
12911291
* {@code ParseUser} instance, otherwise it'll be a new {@code ParseUser} instance.
12921292
*/
1293-
/* package for tests */ Task<ParseUser> resolveLazinessAsync(Task<Void> toAwait) {
1293+
/* package for tests */ Task<Void> resolveLazinessAsync(Task<Void> toAwait) {
12941294
synchronized (mutex) {
12951295
if (!isLazy()) {
12961296
return Task.forResult(null);
12971297
}
12981298
if (getAuthData().size() == 0) { // TODO(grantland): Could we just check isDirty(KEY_AUTH_DATA)?
12991299
// If there are no linked services, treat this as a SignUp.
1300-
return signUpAsync(toAwait).onSuccess(new Continuation<Void, ParseUser>() {
1301-
@Override
1302-
public ParseUser then(Task<Void> task) throws Exception {
1303-
synchronized (mutex) {
1304-
return ParseUser.this;
1305-
}
1306-
}
1307-
});
1300+
return signUpAsync(toAwait);
13081301
}
13091302

13101303
final ParseOperationSet operations = startSave();
13111304

13121305
// Otherwise, treat this as a SignUpOrLogIn
1313-
return toAwait.onSuccessTask(new Continuation<Void, Task<ParseUser>>() {
1306+
return toAwait.onSuccessTask(new Continuation<Void, Task<Void>>() {
13141307
@Override
1315-
public Task<ParseUser> then(Task<Void> task) throws Exception {
1316-
return getUserController().logInAsync(getState(), operations).onSuccessTask(new Continuation<ParseUser.State, Task<ParseUser>>() {
1308+
public Task<Void> then(Task<Void> task) throws Exception {
1309+
return getUserController().logInAsync(getState(), operations).onSuccessTask(new Continuation<ParseUser.State, Task<Void>>() {
13171310
@Override
1318-
public Task<ParseUser> then(Task<ParseUser.State> task) throws Exception {
1311+
public Task<Void> then(Task<ParseUser.State> task) throws Exception {
13191312
final ParseUser.State result = task.getResult();
13201313

13211314
Task<ParseUser.State> resultTask;
@@ -1324,29 +1317,25 @@ public Task<ParseUser> then(Task<ParseUser.State> task) throws Exception {
13241317
if (Parse.isLocalDatastoreEnabled() && !result.isNew()) {
13251318
resultTask = Task.forResult(result);
13261319
} else {
1327-
resultTask = handleSaveResultAsync(result, operations).onSuccess(new Continuation<Void, ParseUser.State>() {
1320+
resultTask = handleSaveResultAsync(result,
1321+
operations).onSuccess(new Continuation<Void, ParseUser.State>() {
13281322
@Override
13291323
public ParseUser.State then(Task<Void> task) throws Exception {
13301324
return result;
13311325
}
13321326
});
13331327
}
1334-
return resultTask.onSuccessTask(new Continuation<ParseUser.State, Task<ParseUser>>() {
1328+
return resultTask.onSuccessTask(new Continuation<ParseUser.State, Task<Void>>() {
13351329
@Override
1336-
public Task<ParseUser> then(Task<ParseUser.State> task) throws Exception {
1330+
public Task<Void> then(Task<ParseUser.State> task) throws Exception {
13371331
ParseUser.State result = task.getResult();
13381332
if (!result.isNew()) {
13391333
// If the result is not a new user, treat this as a fresh logIn with complete
13401334
// serverData, and switch the current user to the new user.
13411335
final ParseUser newUser = ParseObject.from(result);
1342-
return saveCurrentUserAsync(newUser).onSuccess(new Continuation<Void, ParseUser>() {
1343-
@Override
1344-
public ParseUser then(Task<Void> task) throws Exception {
1345-
return newUser;
1346-
}
1347-
});
1336+
return saveCurrentUserAsync(newUser);
13481337
}
1349-
return Task.forResult(ParseUser.this);
1338+
return task.makeVoid();
13501339
}
13511340
});
13521341
}

Parse/src/test/java/com/parse/ParseUserTest.java

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import org.junit.Test;
1616
import org.junit.rules.ExpectedException;
1717
import org.junit.runner.RunWith;
18+
import org.mockito.ArgumentCaptor;
1819
import org.mockito.Matchers;
1920
import org.robolectric.RobolectricGradleTestRunner;
2021
import org.robolectric.annotation.Config;
@@ -632,13 +633,6 @@ public void testLinkWithAsyncWithSaveAsyncFailure() throws Exception {
632633

633634
//region testResolveLazinessAsync
634635

635-
@Test
636-
public void testResolveLazinessAsyncWithNotLazyUser() throws Exception {
637-
ParseUser user = new ParseUser();
638-
639-
ParseTaskUtils.wait(user.resolveLazinessAsync(Task.<Void>forResult(null)));
640-
}
641-
642636
@Test
643637
public void testResolveLazinessAsyncWithAuthDataAndNotNewUser() throws Exception {
644638
ParseUser user = new ParseUser();
@@ -660,14 +654,16 @@ public void testResolveLazinessAsyncWithAuthDataAndNotNewUser() throws Exception
660654
.thenReturn(Task.<Void>forResult(null));
661655
ParseCorePlugins.getInstance().registerCurrentUserController(currentUserController);
662656

663-
ParseUser userAfterResolveLaziness =
664-
ParseTaskUtils.wait(user.resolveLazinessAsync(Task.<Void>forResult(null)));
657+
ParseTaskUtils.wait(user.resolveLazinessAsync(Task.<Void>forResult(null)));
658+
ArgumentCaptor<ParseUser> userAfterResolveLazinessCaptor =
659+
ArgumentCaptor.forClass(ParseUser.class);
665660

666661
// Make sure we logIn the lazy user
667662
verify(userController, times(1)).logInAsync(
668663
any(ParseUser.State.class), any(ParseOperationSet.class));
669664
// Make sure we save currentUser
670-
verify(currentUserController, times(1)).setAsync(any(ParseUser.class));
665+
verify(currentUserController, times(1)).setAsync(userAfterResolveLazinessCaptor.capture());
666+
ParseUser userAfterResolveLaziness = userAfterResolveLazinessCaptor.getValue();
671667
// Make sure user's data is correct
672668
assertEquals("newSessionToken", userAfterResolveLaziness.getSessionToken());
673669
assertEquals("newValue", userAfterResolveLaziness.get("newKey"));
@@ -697,21 +693,18 @@ public void testResolveLazinessAsyncWithAuthDataAndNewUser() throws Exception {
697693
ParseCurrentUserController currentUserController = mock(ParseCurrentUserController.class);
698694
ParseCorePlugins.getInstance().registerCurrentUserController(currentUserController);
699695

700-
ParseUser userAfterResolveLaziness =
701-
ParseTaskUtils.wait(user.resolveLazinessAsync(Task.<Void>forResult(null)));
696+
ParseTaskUtils.wait(user.resolveLazinessAsync(Task.<Void>forResult(null)));
702697

703698
// Make sure we logIn the lazy user
704699
verify(userController, times(1)).logInAsync(
705700
any(ParseUser.State.class), any(ParseOperationSet.class));
706701
// Make sure we do not save currentUser
707702
verify(currentUserController, never()).setAsync(any(ParseUser.class));
708703
// Make sure userAfterResolveLaziness's data is correct
709-
assertEquals("newSessionToken", userAfterResolveLaziness.getSessionToken());
710-
assertEquals("newValue", userAfterResolveLaziness.get("newKey"));
704+
assertEquals("newSessionToken", user.getSessionToken());
705+
assertEquals("newValue", user.get("newKey"));
711706
// Make sure userAfterResolveLaziness is not lazy
712-
assertFalse(userAfterResolveLaziness.isLazy());
713-
// Make sure we do not create new user
714-
assertSame(user, userAfterResolveLaziness);
707+
assertFalse(user.isLazy());
715708
}
716709

717710
@Test
@@ -739,8 +732,9 @@ public void testResolveLazinessAsyncWithAuthDataAndNotNewUserAndLDSEnabled() thr
739732
// Enable LDS
740733
Parse.enableLocalDatastore(null);
741734

742-
ParseUser userAfterResolveLaziness =
743-
ParseTaskUtils.wait(user.resolveLazinessAsync(Task.<Void>forResult(null)));
735+
ParseTaskUtils.wait(user.resolveLazinessAsync(Task.<Void>forResult(null)));
736+
ArgumentCaptor<ParseUser> userAfterResolveLazinessCaptor =
737+
ArgumentCaptor.forClass(ParseUser.class);
744738

745739
// Make sure we logIn the lazy user
746740
verify(userController, times(1)).logInAsync(
@@ -749,7 +743,8 @@ public void testResolveLazinessAsyncWithAuthDataAndNotNewUserAndLDSEnabled() thr
749743
// field should be cleaned
750744
assertEquals("password", user.getPassword());
751745
// Make sure we do not save currentUser
752-
verify(currentUserController, times(1)).setAsync(any(ParseUser.class));
746+
verify(currentUserController, times(1)).setAsync(userAfterResolveLazinessCaptor.capture());
747+
ParseUser userAfterResolveLaziness = userAfterResolveLazinessCaptor.getValue();
753748
// Make sure userAfterResolveLaziness's data is correct
754749
assertEquals("newSessionToken", userAfterResolveLaziness.getSessionToken());
755750
assertEquals("newValue", userAfterResolveLaziness.get("newKey"));

0 commit comments

Comments
 (0)