/*
* Copyright (c) 2012. HappyDroids LLC, All rights reserved.
*/
package com.happydroids.droidtowers.server;
import com.badlogic.gdx.utils.Array;
import com.happydroids.utils.BackgroundTask;
import java.util.Iterator;
public class MovieServer {
private static MovieServer _instance;
private MovieCollection moviesList;
private Iterator<Movie> playQueueIterator;
private Array<Movie> playQueue;
public static MovieServer instance() {
if (_instance == null) {
_instance = new MovieServer();
}
return _instance;
}
public static void dispose() {
_instance = null;
}
public MovieServer() {
playQueue = new Array<Movie>();
playQueueIterator = playQueue.iterator();
moviesList = new MovieCollection();
new FetchMovieListTask().run();
}
public boolean hasMovies() {
return playQueue.size > 0;
}
public Movie getMovie() {
if (!playQueueIterator.hasNext()) {
((Array.ArrayIterator) playQueueIterator).reset();
}
return playQueueIterator.next();
}
public void addMovieToPlayQueue(Movie movie) {
playQueue.add(movie);
}
public void removeMovieFromPlayQueue(Movie movie) {
playQueue.removeValue(movie, false);
}
private class FetchMovieListTask extends BackgroundTask {
@Override
protected void execute() throws Exception {
moviesList.fetch();
for (Movie movie : moviesList.getObjects()) {
movie.queueForDownload();
}
}
}
}