deepstream.io-client-java v2+ not able to login API 21-
deepStreamUtils.getClient().login() is not working on API 21, the same code runs perfectly along with subscribing to records on devices with newer APIs
After checking the code, weird thing is on API 21- devices
/** * Authenticate the user connection * @param authParameters The authentication parameters to send to deepstream * @param loginCallback The callback for a successful / unsuccessful login attempt * connection */ @ObjectiveCName("authenticate:loginCallback:") void authenticate(JsonElement authParameters, DeepstreamClient.LoginCallback loginCallback) { this.loginCallback = loginCallback;
if(authParameters != null) {
this.authParameters = authParameters;
} else {
this.authParameters = new JsonObject();
this.connectionState=ConnectionState.AWAITING_AUTHENTICATION;
}
if( this.tooManyAuthAttempts || this.challengeDenied ) {
this.client.onError( Topic.ERROR, Event.IS_CLOSED, "The client\'s connection was closed" );
this.loginCallback.loginFailed(Event.IS_CLOSED, "The client\'s connection was closed");
return;
}
if( this.connectionState == ConnectionState.AWAITING_AUTHENTICATION ) { **//This Always Resolves to solved, with this.connectionState being in ConnectionState.CLOSED**
this.sendAuthMessage();
}
}
Whereas devices with API 22+: f( this.connectionState == ConnectionState.AWAITING_AUTHENTICATION ) { **//This resolves to being True. **
I hope this helps