mirror of
https://github.com/jellyfin/jellyfin-sdk-kotlin.git
synced 2025-03-03 05:26:41 +00:00
remove nested closures
This commit is contained in:
parent
f6a8521d52
commit
b96f9e0e40
133
.idea/workspace.xml
generated
133
.idea/workspace.xml
generated
@ -7,10 +7,11 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="ded6c251-ca93-4546-8a98-be60c6d1fbb2" name="Default" comment="">
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/FirstServerConnectResponse.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/ApiClient.java" afterPath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/ApiClient.java" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/AddAuthenticationInfoFromConnectResponse.java" />
|
||||
<change type="MOVED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\src\mediabrowser\apiinteraction\connectionmanager\EnsureConnectUserInnerResponse.java" afterPath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/GetConnectServersInnerResponse.java" />
|
||||
<change type="MOVED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\src\mediabrowser\apiinteraction\connectionmanager\EnsureConnectUserResponse.java" afterPath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/GetConnectServersResponse.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/ConnectionManager.java" afterPath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/ConnectionManager.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/sync/OfflineUsersSync.java" afterPath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/sync/OfflineUsersSync.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/EnsureConnectUserResponse.java" afterPath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/EnsureConnectUserResponse.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
||||
</list>
|
||||
<ignored path="MediaBrowser.ApiClient.Java.iws" />
|
||||
@ -38,18 +39,58 @@
|
||||
<file leaf-file-name="ConnectionManager.java" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/ConnectionManager.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.12713179" vertical-offset="3831" max-vertical-offset="12750">
|
||||
<caret line="259" column="0" selection-start-line="259" selection-start-column="0" selection-end-line="259" selection-end-column="0" />
|
||||
<state vertical-scroll-proportion="0.27209303" vertical-offset="3746" max-vertical-offset="12359">
|
||||
<caret line="265" column="0" selection-start-line="265" selection-start-column="0" selection-end-line="265" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="e#3173#3349#0" expanded="true" />
|
||||
<element signature="e#3348#3349#0" expanded="true" />
|
||||
<element signature="e#10449#10680#0" expanded="true" />
|
||||
<element signature="e#10679#10680#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="EnsureConnectUserResponse.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/EnsureConnectUserResponse.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="72" max-vertical-offset="952">
|
||||
<caret line="42" column="149" selection-start-line="42" selection-start-column="149" selection-end-line="42" selection-end-column="149" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="GetConnectServersInnerResponse.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/GetConnectServersInnerResponse.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="527">
|
||||
<caret line="21" column="0" selection-start-line="21" selection-start-column="0" selection-end-line="21" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="GetConnectServersResponse.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/GetConnectServersResponse.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="-3.7586207" vertical-offset="10" max-vertical-offset="1581">
|
||||
<caret line="17" column="38" selection-start-line="17" selection-start-column="38" selection-end-line="17" selection-end-column="38" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="AddAuthenticationInfoFromConnectResponse.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/AddAuthenticationInfoFromConnectResponse.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="476">
|
||||
<caret line="12" column="45" selection-start-line="12" selection-start-column="45" selection-end-line="12" selection-end-column="45" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="FirstServerConnectResponse.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/FirstServerConnectResponse.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
@ -100,11 +141,6 @@
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="CHANGED_PATHS">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/android/AndroidNetworkConnection.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/ExchangePinResponse.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/ExchangeTokenResponse.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/GetConnectUserResponse.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/ApiClientLogoutResponse.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/android/AndroidCredentialProvider.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/ValidateAuthenticationInnerResponse.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/ValidateAuthenticationResponse.java" />
|
||||
@ -150,7 +186,12 @@
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/ApiClient.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/sync/OfflineUsersSync.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/FirstServerConnectResponse.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/GetConnectServersResponse.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/EnsureConnectUserInnerResponse.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/GetConnectServersInnerResponse.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/ConnectionManager.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/EnsureConnectUserResponse.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/AddAuthenticationInfoFromConnectResponse.java" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@ -811,34 +852,6 @@
|
||||
<option name="FILTER_TARGETS" value="false" />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/android/sync/Authenticator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.1607565" vertical-offset="0" max-vertical-offset="1105">
|
||||
<caret line="13" column="26" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="26" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/android/sync/MultiServerSyncProgress.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1513">
|
||||
<caret line="23" column="78" selection-start-line="23" selection-start-column="78" selection-end-line="23" selection-end-column="78" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/android/sync/PeriodicSync.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="714">
|
||||
<caret line="19" column="8" selection-start-line="19" selection-start-column="8" selection-end-line="19" selection-end-column="8" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/android/sync/OnDemandSync.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="595">
|
||||
<caret line="20" column="8" selection-start-line="18" selection-start-column="8" selection-end-line="20" selection-end-column="8" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/android/sync/AuthenticatorService.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="23" max-vertical-offset="1292">
|
||||
@ -1181,15 +1194,47 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/AddAuthenticationInfoFromConnectResponse.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="476">
|
||||
<caret line="12" column="45" selection-start-line="12" selection-start-column="45" selection-end-line="12" selection-end-column="45" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/GetConnectServersResponse.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="-3.7586207" vertical-offset="10" max-vertical-offset="1581">
|
||||
<caret line="17" column="38" selection-start-line="17" selection-start-column="38" selection-end-line="17" selection-end-column="38" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/GetConnectServersInnerResponse.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="527">
|
||||
<caret line="21" column="0" selection-start-line="21" selection-start-column="0" selection-end-line="21" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/EnsureConnectUserResponse.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="72" max-vertical-offset="952">
|
||||
<caret line="42" column="149" selection-start-line="42" selection-start-column="149" selection-end-line="42" selection-end-column="149" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/ConnectionManager.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.12713179" vertical-offset="3831" max-vertical-offset="12750">
|
||||
<caret line="259" column="0" selection-start-line="259" selection-start-column="0" selection-end-line="259" selection-end-column="0" />
|
||||
<state vertical-scroll-proportion="0.27209303" vertical-offset="3746" max-vertical-offset="12359">
|
||||
<caret line="265" column="0" selection-start-line="265" selection-start-column="0" selection-end-line="265" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="e#3173#3349#0" expanded="true" />
|
||||
<element signature="e#3348#3349#0" expanded="true" />
|
||||
<element signature="e#10449#10680#0" expanded="true" />
|
||||
<element signature="e#10679#10680#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
|
Binary file not shown.
@ -0,0 +1,22 @@
|
||||
package mediabrowser.apiinteraction.connectionmanager;
|
||||
|
||||
import mediabrowser.apiinteraction.EmptyResponse;
|
||||
|
||||
/**
|
||||
* Created by Luke on 3/11/2015.
|
||||
*/
|
||||
public class AddAuthenticationInfoFromConnectResponse extends EmptyResponse {
|
||||
|
||||
private EnsureConnectUserResponse parentResponse;
|
||||
|
||||
public AddAuthenticationInfoFromConnectResponse(EnsureConnectUserResponse parentResponse) {
|
||||
this.parentResponse = parentResponse;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResponse() {
|
||||
|
||||
parentResponse.onEnsureConnectUserDone();
|
||||
}
|
||||
|
||||
}
|
@ -261,44 +261,21 @@ public class ConnectionManager implements IConnectionManager {
|
||||
void OnSuccessfulConnection(final ServerInfo server,
|
||||
final PublicSystemInfo systemInfo,
|
||||
final ConnectionMode connectionMode,
|
||||
final ConnectionOptions options,
|
||||
final ConnectionOptions connectionOptions,
|
||||
final Response<ConnectionResult> response) {
|
||||
|
||||
final ServerCredentials credentials = _credentialProvider.GetCredentials();
|
||||
|
||||
if (!tangible.DotNetToJavaStringHelper.isNullOrEmpty(credentials.getConnectAccessToken()))
|
||||
{
|
||||
EnsureConnectUser(credentials, new EmptyResponse(){
|
||||
|
||||
private void onEnsureConnectUserDone(){
|
||||
AfterConnectValidated(server, credentials, systemInfo, connectionMode, true, options, response);
|
||||
}
|
||||
@Override
|
||||
public void onResponse() {
|
||||
|
||||
if (!tangible.DotNetToJavaStringHelper.isNullOrEmpty(server.getExchangeToken())){
|
||||
AddAuthenticationInfoFromConnect(server, connectionMode, credentials, new EmptyResponse() {
|
||||
|
||||
@Override
|
||||
public void onResponse() {
|
||||
|
||||
onEnsureConnectUserDone();
|
||||
}
|
||||
});
|
||||
}
|
||||
else{
|
||||
onEnsureConnectUserDone();
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
EnsureConnectUser(credentials, new EnsureConnectUserResponse(this, server, credentials, systemInfo, connectionMode, connectionOptions, response));
|
||||
} else {
|
||||
|
||||
AfterConnectValidated(server, credentials, systemInfo, connectionMode, true, options, response);
|
||||
AfterConnectValidated(server, credentials, systemInfo, connectionMode, true, connectionOptions, response);
|
||||
}
|
||||
}
|
||||
|
||||
private void AddAuthenticationInfoFromConnect(final ServerInfo server,
|
||||
void AddAuthenticationInfoFromConnect(final ServerInfo server,
|
||||
ConnectionMode connectionMode,
|
||||
ServerCredentials credentials,
|
||||
final EmptyResponse response){
|
||||
@ -548,7 +525,7 @@ public class ConnectionManager implements IConnectionManager {
|
||||
findServersResponse.onError(null);
|
||||
}
|
||||
|
||||
EmptyResponse connectServersResponse = new EnsureConnectUserResponse(logger, connectService, credentials, foundServers, connectServers, numTasks, numTasksCompleted, response, this);
|
||||
EmptyResponse connectServersResponse = new GetConnectServersResponse(logger, connectService, credentials, foundServers, connectServers, numTasks, numTasksCompleted, response, this);
|
||||
|
||||
if (!tangible.DotNetToJavaStringHelper.isNullOrEmpty(credentials.getConnectAccessToken()))
|
||||
{
|
||||
|
@ -1,97 +1,50 @@
|
||||
package mediabrowser.apiinteraction.connectionmanager;
|
||||
|
||||
import mediabrowser.apiinteraction.ConnectionResult;
|
||||
import mediabrowser.apiinteraction.EmptyResponse;
|
||||
import mediabrowser.apiinteraction.Response;
|
||||
import mediabrowser.apiinteraction.connect.ConnectService;
|
||||
import mediabrowser.model.apiclient.ConnectionMode;
|
||||
import mediabrowser.model.apiclient.ConnectionOptions;
|
||||
import mediabrowser.model.apiclient.ServerCredentials;
|
||||
import mediabrowser.model.apiclient.ServerInfo;
|
||||
import mediabrowser.model.connect.ConnectUserServer;
|
||||
import mediabrowser.model.connect.UserLinkType;
|
||||
import mediabrowser.model.extensions.StringHelper;
|
||||
import mediabrowser.model.logging.ILogger;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import mediabrowser.model.system.PublicSystemInfo;
|
||||
|
||||
/**
|
||||
* Created by Luke on 2/15/2015.
|
||||
* Created by Luke on 3/11/2015.
|
||||
*/
|
||||
public class EnsureConnectUserResponse extends EmptyResponse {
|
||||
|
||||
private ILogger logger;
|
||||
private ConnectService connectService;
|
||||
private ServerCredentials credentials;
|
||||
private ArrayList<ServerInfo> foundServers;
|
||||
private ArrayList<ServerInfo> connectServers;
|
||||
private int numTasks;
|
||||
private int[] numTasksCompleted;
|
||||
private Response<ArrayList<ServerInfo>> finalResponse;
|
||||
private ConnectionManager connectionManager;
|
||||
private ServerInfo server;
|
||||
private ServerCredentials credentials;
|
||||
private PublicSystemInfo systemInfo;
|
||||
private ConnectionMode connectionMode;
|
||||
private ConnectionOptions connectionOptions;
|
||||
private Response<ConnectionResult> response;
|
||||
|
||||
public EnsureConnectUserResponse(ILogger logger, ConnectService connectService, ServerCredentials credentials, ArrayList<ServerInfo> foundServers, ArrayList<ServerInfo> connectServers, int numTasks, int[] numTasksCompleted, Response<ArrayList<ServerInfo>> finalResponse, ConnectionManager connectionManager) {
|
||||
this.logger = logger;
|
||||
this.connectService = connectService;
|
||||
this.credentials = credentials;
|
||||
this.foundServers = foundServers;
|
||||
this.connectServers = connectServers;
|
||||
this.numTasks = numTasks;
|
||||
this.numTasksCompleted = numTasksCompleted;
|
||||
this.finalResponse = finalResponse;
|
||||
public EnsureConnectUserResponse(ConnectionManager connectionManager, ServerInfo server, ServerCredentials credentials, PublicSystemInfo systemInfo, ConnectionMode connectionMode, ConnectionOptions connectionOptions, Response<ConnectionResult> response) {
|
||||
this.connectionManager = connectionManager;
|
||||
this.server = server;
|
||||
this.credentials = credentials;
|
||||
this.systemInfo = systemInfo;
|
||||
this.connectionMode = connectionMode;
|
||||
this.connectionOptions = connectionOptions;
|
||||
this.response = response;
|
||||
}
|
||||
|
||||
void OnAny(ConnectUserServer[] servers){
|
||||
|
||||
synchronized (credentials){
|
||||
|
||||
connectServers.addAll(ConvertServerList(servers));
|
||||
|
||||
numTasksCompleted[0]++;
|
||||
|
||||
if (numTasksCompleted[0] >= numTasks) {
|
||||
connectionManager.OnGetServerResponse(credentials, foundServers, connectServers, finalResponse);
|
||||
}
|
||||
}
|
||||
void onEnsureConnectUserDone(){
|
||||
connectionManager.AfterConnectValidated(server, credentials, systemInfo, connectionMode, true, connectionOptions, response);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResponse() {
|
||||
|
||||
logger.Debug("Getting connect servers");
|
||||
|
||||
connectService.GetServers(credentials.getConnectUserId(), credentials.getConnectAccessToken(), new EnsureConnectUserInnerResponse(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Exception ex) {
|
||||
|
||||
OnAny(new ConnectUserServer[]{});
|
||||
}
|
||||
|
||||
private ArrayList<ServerInfo> ConvertServerList(ConnectUserServer[] userServers){
|
||||
|
||||
ArrayList<ServerInfo> servers = new ArrayList<ServerInfo>();
|
||||
|
||||
for(ConnectUserServer userServer : userServers){
|
||||
|
||||
ServerInfo server = new ServerInfo();
|
||||
|
||||
server.setExchangeToken(userServer.getAccessKey());
|
||||
server.setId(userServer.getSystemId());
|
||||
server.setName(userServer.getName());
|
||||
server.setLocalAddress(userServer.getLocalAddress());
|
||||
server.setRemoteAddress(userServer.getUrl());
|
||||
|
||||
if (StringHelper.EqualsIgnoreCase(userServer.getUserType(), "guest"))
|
||||
{
|
||||
server.setUserLinkType(UserLinkType.Guest);
|
||||
}
|
||||
else{
|
||||
server.setUserLinkType(UserLinkType.LinkedUser);
|
||||
}
|
||||
|
||||
servers.add(server);
|
||||
if (!tangible.DotNetToJavaStringHelper.isNullOrEmpty(server.getExchangeToken())){
|
||||
connectionManager.AddAuthenticationInfoFromConnect(server, connectionMode, credentials, new AddAuthenticationInfoFromConnectResponse(this));
|
||||
}
|
||||
else{
|
||||
onEnsureConnectUserDone();
|
||||
}
|
||||
|
||||
return servers;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -6,11 +6,11 @@ import mediabrowser.model.connect.ConnectUserServer;
|
||||
/**
|
||||
* Created by Luke on 2/15/2015.
|
||||
*/
|
||||
public class EnsureConnectUserInnerResponse extends Response<ConnectUserServer[]> {
|
||||
public class GetConnectServersInnerResponse extends Response<ConnectUserServer[]> {
|
||||
|
||||
private EnsureConnectUserResponse parent;
|
||||
private GetConnectServersResponse parent;
|
||||
|
||||
public EnsureConnectUserInnerResponse(EnsureConnectUserResponse parent) {
|
||||
public GetConnectServersInnerResponse(GetConnectServersResponse parent) {
|
||||
this.parent = parent;
|
||||
}
|
||||
|
@ -0,0 +1,97 @@
|
||||
package mediabrowser.apiinteraction.connectionmanager;
|
||||
|
||||
import mediabrowser.apiinteraction.EmptyResponse;
|
||||
import mediabrowser.apiinteraction.Response;
|
||||
import mediabrowser.apiinteraction.connect.ConnectService;
|
||||
import mediabrowser.model.apiclient.ServerCredentials;
|
||||
import mediabrowser.model.apiclient.ServerInfo;
|
||||
import mediabrowser.model.connect.ConnectUserServer;
|
||||
import mediabrowser.model.connect.UserLinkType;
|
||||
import mediabrowser.model.extensions.StringHelper;
|
||||
import mediabrowser.model.logging.ILogger;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Created by Luke on 2/15/2015.
|
||||
*/
|
||||
public class GetConnectServersResponse extends EmptyResponse {
|
||||
|
||||
private ILogger logger;
|
||||
private ConnectService connectService;
|
||||
private ServerCredentials credentials;
|
||||
private ArrayList<ServerInfo> foundServers;
|
||||
private ArrayList<ServerInfo> connectServers;
|
||||
private int numTasks;
|
||||
private int[] numTasksCompleted;
|
||||
private Response<ArrayList<ServerInfo>> finalResponse;
|
||||
private ConnectionManager connectionManager;
|
||||
|
||||
public GetConnectServersResponse(ILogger logger, ConnectService connectService, ServerCredentials credentials, ArrayList<ServerInfo> foundServers, ArrayList<ServerInfo> connectServers, int numTasks, int[] numTasksCompleted, Response<ArrayList<ServerInfo>> finalResponse, ConnectionManager connectionManager) {
|
||||
this.logger = logger;
|
||||
this.connectService = connectService;
|
||||
this.credentials = credentials;
|
||||
this.foundServers = foundServers;
|
||||
this.connectServers = connectServers;
|
||||
this.numTasks = numTasks;
|
||||
this.numTasksCompleted = numTasksCompleted;
|
||||
this.finalResponse = finalResponse;
|
||||
this.connectionManager = connectionManager;
|
||||
}
|
||||
|
||||
void OnAny(ConnectUserServer[] servers){
|
||||
|
||||
synchronized (credentials){
|
||||
|
||||
connectServers.addAll(ConvertServerList(servers));
|
||||
|
||||
numTasksCompleted[0]++;
|
||||
|
||||
if (numTasksCompleted[0] >= numTasks) {
|
||||
connectionManager.OnGetServerResponse(credentials, foundServers, connectServers, finalResponse);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResponse() {
|
||||
|
||||
logger.Debug("Getting connect servers");
|
||||
|
||||
connectService.GetServers(credentials.getConnectUserId(), credentials.getConnectAccessToken(), new GetConnectServersInnerResponse(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Exception ex) {
|
||||
|
||||
OnAny(new ConnectUserServer[]{});
|
||||
}
|
||||
|
||||
private ArrayList<ServerInfo> ConvertServerList(ConnectUserServer[] userServers){
|
||||
|
||||
ArrayList<ServerInfo> servers = new ArrayList<ServerInfo>();
|
||||
|
||||
for(ConnectUserServer userServer : userServers){
|
||||
|
||||
ServerInfo server = new ServerInfo();
|
||||
|
||||
server.setExchangeToken(userServer.getAccessKey());
|
||||
server.setId(userServer.getSystemId());
|
||||
server.setName(userServer.getName());
|
||||
server.setLocalAddress(userServer.getLocalAddress());
|
||||
server.setRemoteAddress(userServer.getUrl());
|
||||
|
||||
if (StringHelper.EqualsIgnoreCase(userServer.getUserType(), "guest"))
|
||||
{
|
||||
server.setUserLinkType(UserLinkType.Guest);
|
||||
}
|
||||
else{
|
||||
server.setUserLinkType(UserLinkType.LinkedUser);
|
||||
}
|
||||
|
||||
servers.add(server);
|
||||
}
|
||||
|
||||
return servers;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user