@@ -405,15 +405,15 @@ private void onLogin(
405405 boolean isUnknown ,
406406 @ Nullable IterableHelper .FailureHandler failureHandler
407407 ) {
408- if (!isInitialized ()) {
408+ if (!isInitialized ()) { //todo: If we get here and it is not initialized, isn't it possible to have leftover data that was already set by setEmail?
409409 setAuthToken (null );
410410 return ;
411411 }
412412
413413 getAuthManager ().pauseAuthRetries (false );
414414 if (authToken != null ) {
415415 setAuthToken (authToken );
416- attemptMergeAndEventReplay (userIdOrEmail , isEmail , merge , replay , isUnknown , failureHandler );
416+ attemptMergeAndEventReplay (userIdOrEmail , isEmail , merge , replay , isUnknown , failureHandler ); //todo: Why do we need to do this again if we did this on setEmail?
417417 } else {
418418 getAuthManager ().requestNewAuthToken (false , data -> attemptMergeAndEventReplay (userIdOrEmail , isEmail , merge , replay , isUnknown , failureHandler ));
419419 }
@@ -449,8 +449,9 @@ private void completeUserLogin(@Nullable String email, @Nullable String userId,
449449 }
450450
451451 if (config .autoPushRegistration ) {
452- registerForPush ();
453- } else if (_setUserSuccessCallbackHandler != null ) {
452+ registerForPush (); //TODO: FIX, THE LOGIN NEVER CALLS THE CALLBACK IF THE AUTOPUSH REGISTRATION IS TRUE
453+ }
454+ if (_setUserSuccessCallbackHandler != null ) { // todo: why is there an else if it can be both true
454455 _setUserSuccessCallbackHandler .onSuccess (new JSONObject ()); // passing blank json object here as onSuccess is @Nonnull
455456 }
456457
@@ -738,7 +739,7 @@ protected void registerDeviceToken(@Nullable String email, @Nullable String user
738739 private IterableHelper .SuccessHandler getSuccessHandler () {
739740 IterableHelper .SuccessHandler wrappedSuccessHandler = null ;
740741 if (_setUserSuccessCallbackHandler != null || (config .enableUnknownUserActivation && getVisitorUsageTracked () && config .identityResolution .getReplayOnVisitorToKnown ())) {
741- final IterableHelper .SuccessHandler originalSuccessHandler = _setUserSuccessCallbackHandler ;
742+ final IterableHelper .SuccessHandler originalSuccessHandler = null ; //todo: MAYBE THIS HAS TO DO WITH THE ERROR, IF THE PERSON IS SETTING EMAIL AND REGISTERING DEVICE TOKEN THEY WILL GET THE WRONG CALLBACK CALLED
742743 wrappedSuccessHandler = data -> {
743744 trackConsentOnDeviceRegistration ();
744745
@@ -1023,6 +1024,9 @@ public void setEmail(@Nullable String email, @Nullable String authToken, @Nullab
10231024
10241025 if (_email != null && _email .equals (email )) {
10251026 checkAndUpdateAuthToken (authToken );
1027+ if (successHandler != null ) {
1028+ successHandler .onSuccess (new JSONObject ());
1029+ }
10261030 return ;
10271031 }
10281032
@@ -1133,7 +1137,7 @@ private boolean isReplay(@Nullable IterableIdentityResolution iterableIdentityRe
11331137 private void attemptMergeAndEventReplay (@ Nullable String emailOrUserId , boolean isEmail , boolean merge , boolean replay , boolean isUnknown , IterableHelper .FailureHandler failureHandler ) {
11341138 if (config .enableUnknownUserActivation && getVisitorUsageTracked ()) {
11351139
1136- if (emailOrUserId != null && !emailOrUserId .equals (_userIdUnknown )) {
1140+ if (emailOrUserId != null && !emailOrUserId .equals (_userIdUnknown )) { //todo: when would the userIdUnknown be the same?
11371141 attemptAndProcessMerge (emailOrUserId , isEmail , merge , failureHandler , _userIdUnknown );
11381142 }
11391143
0 commit comments