Skip to content

Commit 77b5f6d

Browse files
committed
Fix for when loading credentials the success/error is fired twice
1 parent d24b15d commit 77b5f6d

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

aws-auth-cognito/src/main/java/com/amplifyframework/auth/cognito/CredentialStoreClient.kt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ internal class CredentialStoreClient(configuration: AuthConfiguration, context:
5656
) {
5757
var capturedSuccess: Result<AmplifyCredential>? = null
5858
var capturedError: Exception? = null
59-
val token = StateChangeListenerToken()
59+
var token: StateChangeListenerToken? = StateChangeListenerToken()
6060
credentialStoreStateMachine.listen(
61-
token,
61+
token as StateChangeListenerToken,
6262
{ storeState ->
6363
logger.verbose("Credential Store State Change: $storeState")
6464

@@ -72,11 +72,12 @@ internal class CredentialStoreClient(configuration: AuthConfiguration, context:
7272
is CredentialStoreState.Idle -> {
7373
val success = capturedSuccess
7474
val error = capturedError
75-
if (success != null) {
76-
credentialStoreStateMachine.cancel(token)
75+
if (success != null && token != null) {
76+
credentialStoreStateMachine.cancel(token as StateChangeListenerToken)
77+
token = null
7778
onSuccess(success)
78-
} else if (error != null) {
79-
credentialStoreStateMachine.cancel(token)
79+
} else if (error != null && token != null) {
80+
credentialStoreStateMachine.cancel(token as StateChangeListenerToken)
8081
onError(error)
8182
}
8283
}

0 commit comments

Comments
 (0)