package com.bdc.ociney.task; import android.os.AsyncTask; import com.bdc.ociney.modele.Movie.Movie; import com.bdc.ociney.modele.Theater.Theater; import com.bdc.ociney.modele.Theater.TheaterShowtime; import com.bdc.ociney.service.Service; import java.util.Date; import java.util.List; /** * Created by florentchampigny on 01/05/2014. */ public class LoadTheaterMoviesTask extends AsyncTask<Object, Void, List<Movie>> { boolean erreurReseau = false; private LoadTheaterMoviesTaskCallBack callBack; public LoadTheaterMoviesTask(LoadTheaterMoviesTaskCallBack callBack) { this.callBack = callBack; } @Override protected List<Movie> doInBackground(Object... data) { Theater theater = (Theater) data[0]; String code = theater.getCode(); try { List<TheaterShowtime> showtimes = Service.showtimelistForTheater(code, new Date(), 10, 1); return TheaterShowtime.getMovies(showtimes, theater); } catch (Service.NetworkException e) { erreurReseau = true; return null; } } @Override protected void onPostExecute(List<Movie> result) { super.onPostExecute(result); try { if (callBack != null) { if (erreurReseau) { callBack.onErreurReseau(); } else callBack.onLoadTheaterMoviesTaskCallBack(result); } } catch (Exception e) { e.printStackTrace(); } } public interface LoadTheaterMoviesTaskCallBack { public void onLoadTheaterMoviesTaskCallBack(List<Movie> movies); public void onErreurReseau(); } }