package mediabrowser.apiinteraction.connectionmanager; import mediabrowser.apiinteraction.EmptyResponse; import mediabrowser.apiinteraction.Response; import mediabrowser.apiinteraction.http.HttpRequest; import mediabrowser.apiinteraction.http.IAsyncHttpClient; import mediabrowser.model.apiclient.ServerInfo; import mediabrowser.model.serialization.IJsonSerializer; import mediabrowser.model.system.SystemInfo; /** * Created by Luke on 2/16/2015. */ public class ValidateAuthenticationResponse extends Response<String> { private ConnectionManager connectionManager; private IJsonSerializer jsonSerializer; private ServerInfo server; private EmptyResponse response; private HttpRequest request; private IAsyncHttpClient httpClient; private String url; public ValidateAuthenticationResponse(ConnectionManager connectionManager, IJsonSerializer jsonSerializer, ServerInfo server, EmptyResponse response, HttpRequest request, IAsyncHttpClient httpClient, String url) { this.connectionManager = connectionManager; this.jsonSerializer = jsonSerializer; this.server = server; this.response = response; this.request = request; this.httpClient = httpClient; this.url = url; } @Override public void onResponse(String jsonResponse) { SystemInfo obj = jsonSerializer.DeserializeFromString(jsonResponse, SystemInfo.class); server.ImportInfo(obj); if (!tangible.DotNetToJavaStringHelper.isNullOrEmpty(server.getUserId())) { request.setUrl(url + "/mediabrowser/users/" + server.getUserId() + "?format=json"); httpClient.Send(request, new ValidateAuthenticationInnerResponse(connectionManager, jsonSerializer, server, response)); } else { response.onResponse(); } } @Override public void onError(Exception ex) { server.setUserId(null); server.setAccessToken(null); response.onResponse(); } }