package com.konifar.materialcat.models; import android.content.Context; import com.konifar.materialcat.MainApplication; import com.konifar.materialcat.events.PhotoSearchCallbackEvent; import com.konifar.materialcat.models.pojo.PhotoSource; import com.konifar.materialcat.network.FlickrApiService; import de.greenrobot.event.EventBus; import retrofit.Callback; import retrofit.RetrofitError; import retrofit.client.Response; public class PhotoModel { private static final String CAT_SEARCH_TEXT = "cat"; private static final int PER_PAGE = 36; private static PhotoModel instance; FlickrApiService flickerApiService; private PhotoModel(Context context) { flickerApiService = MainApplication.FLICKR_API; } public static PhotoModel getInstance(Context context) { if (instance == null) { instance = new PhotoModel(context); } return instance; } public void getCatPhotos(int page, final String sort) { flickerApiService.photosSearch(CAT_SEARCH_TEXT, page, PER_PAGE, sort, new Callback<PhotoSource>() { @Override public void success(PhotoSource photoSource, Response response) { EventBus.getDefault().post(new PhotoSearchCallbackEvent(true, photoSource.getPhotos(), sort)); } @Override public void failure(RetrofitError error) { EventBus.getDefault().post(new PhotoSearchCallbackEvent(false, sort)); } }); } }