package com.bdc.ociney.task;
import android.os.AsyncTask;
import com.bdc.ociney.modele.Movie.Movie;
import com.bdc.ociney.service.Service;
import java.util.ArrayList;
import java.util.List;
/**
* Created by florentchampigny on 01/05/2014.
*/
public class LoadMoviesTask extends AsyncTask<Object, Void, ArrayList<List<Movie>>> {
boolean erreurReseau = false;
private LoadMoviesTaskCallBack callBack;
public LoadMoviesTask(LoadMoviesTaskCallBack callBack) {
this.callBack = callBack;
}
@Override
protected ArrayList<List<Movie>> doInBackground(Object... data) {
ArrayList<List<Movie>> listMovies = new ArrayList<List<Movie>>();
int page = 1;
if (data.length > 0)
page = ((Integer) data[0]).intValue();
try {
List<Movie> moviesNowShowing = Service.movielist(Service.MOVIELIST_FILTER_NOWSHOWING, Service.PROFILE_SMALL, Service.MOVIELIST_ORDER_TOPRANK, 20, page);
List<Movie> moviesCommingSoon = Service.movielist(Service.MOVIELIST_FILTER_COMINGSOON, Service.PROFILE_SMALL, Service.MOVIELIST_ORDER_TOPRANK, 20, page);
listMovies.add(moviesNowShowing);
listMovies.add(moviesCommingSoon);
return listMovies;
} catch (Service.NetworkException e) {
erreurReseau = true;
return null;
}
}
@Override
protected void onPostExecute(ArrayList<List<Movie>> ms) {
super.onPostExecute(ms);
try {
if (callBack != null) {
if (erreurReseau)
callBack.onErreurReseau();
else
callBack.onLoadMoviesTaskCallBack(ms);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public interface LoadMoviesTaskCallBack {
public void onLoadMoviesTaskCallBack(ArrayList<List<Movie>> movies);
public void onErreurReseau();
}
}