package mediabrowser.apiinteraction.connectionmanager; import mediabrowser.apiinteraction.ConnectionResult; import mediabrowser.apiinteraction.Response; import mediabrowser.model.apiclient.ConnectionMode; import mediabrowser.model.apiclient.ConnectionOptions; import mediabrowser.model.apiclient.ServerInfo; import mediabrowser.model.system.PublicSystemInfo; import java.util.ArrayList; /** * Created by Luke on 2/21/2015. */ public class TryConnectRetryResponse extends Response<PublicSystemInfo> { private ConnectionManager connectionManager; private ServerInfo server; private ArrayList<ConnectionMode> tests; private ConnectionMode mode; private ConnectionOptions options; private int index; private boolean isLocalNetworkAvailable; private long wakeOnLanSendTime; private Response<ConnectionResult> response; public TryConnectRetryResponse(ConnectionManager connectionManager, ServerInfo server, ArrayList<ConnectionMode> tests, ConnectionMode mode, ConnectionOptions options, int index, boolean isLocalNetworkAvailable, long wakeOnLanSendTime, Response<ConnectionResult> response) { this.connectionManager = connectionManager; this.server = server; this.tests = tests; this.mode = mode; this.options = options; this.index = index; this.isLocalNetworkAvailable = isLocalNetworkAvailable; this.wakeOnLanSendTime = wakeOnLanSendTime; this.response = response; } @Override public void onResponse(PublicSystemInfo result) { connectionManager.OnSuccessfulConnection(server, result, mode, options, response); } @Override public void onError(Exception ex) { connectionManager.TestNextConnectionMode(tests, index + 1, isLocalNetworkAvailable, server, wakeOnLanSendTime, options, response); } }