package br.edu.ufcg.ccc.projeto2.warofkingdoms.management;
import java.util.List;
import android.os.AsyncTask;
import br.edu.ufcg.ccc.projeto2.warofkingdoms.entities.Connect;
import br.edu.ufcg.ccc.projeto2.warofkingdoms.entities.Move;
import br.edu.ufcg.ccc.projeto2.warofkingdoms.networking.ConnectAsyncTask;
import br.edu.ufcg.ccc.projeto2.warofkingdoms.networking.ConnectResult;
import br.edu.ufcg.ccc.projeto2.warofkingdoms.networking.SendMovesAsyncTask;
import br.edu.ufcg.ccc.projeto2.warofkingdoms.networking.SendMovesResult;
import br.edu.ufcg.ccc.projeto2.warofkingdoms.ui.OnTaskCompleted;
public class NetworkManager implements CommunicationManager {
private static NetworkManager instance;
private NetworkManager() {
}
public synchronized static NetworkManager getInstance() {
if (instance == null) {
instance = new NetworkManager();
}
return instance;
}
@Override
public void sendCurrentMoves(OnTaskCompleted listener, List<Move> moves) {
AsyncTask<Move, Void, SendMovesResult> sendMovesTask = new SendMovesAsyncTask(
listener);
sendMovesTask.execute(moves.toArray(new Move[0]));
}
@Override
public void connect(OnTaskCompleted listener, Connect connectEntity) {
AsyncTask<Connect, Void, ConnectResult> connectTask = new ConnectAsyncTask(
listener);
connectTask.execute(connectEntity);
}
}