Skip to content

Commit 7bde122

Browse files
committed
Don't replace EXTERNAL_USER_ID_AUTH_HASH if new one is given
* The EXTERNAL_USER_ID_AUTH_HASH is never popped so it remains in the existing UserState syncValues even when the EXTERNAL_USER_ID is set to "" (empty string). * The sendJson ends up with the new EXTERNAL_USER_ID but with old EXTERNAL_USER_ID_AUTH_HASH
1 parent 1eec169 commit 7bde122

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

OneSignalSDK/onesignal/src/main/java/com/onesignal/UserState.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,8 +251,9 @@ JSONObject generateJsonDiff(UserState newState, boolean isSessionCall) {
251251
sendJson.put(EMAIL_AUTH_HASH_KEY, syncValues.optString(EMAIL_AUTH_HASH_KEY));
252252
if (syncValues.has(SMS_AUTH_HASH_KEY))
253253
sendJson.put(SMS_AUTH_HASH_KEY, syncValues.optString(SMS_AUTH_HASH_KEY));
254-
if (syncValues.has(EXTERNAL_USER_ID_AUTH_HASH))
254+
if (syncValues.has(EXTERNAL_USER_ID_AUTH_HASH) && !sendJson.has(EXTERNAL_USER_ID_AUTH_HASH)) {
255255
sendJson.put(EXTERNAL_USER_ID_AUTH_HASH, syncValues.optString(EXTERNAL_USER_ID_AUTH_HASH));
256+
}
256257
} catch (JSONException e) {
257258
e.printStackTrace();
258259
}

0 commit comments

Comments
 (0)