package com.pan.simplepicture.presenter;
import android.text.TextUtils;
import com.avos.avoscloud.AVException;
import com.avos.avoscloud.AVObject;
import com.avos.avoscloud.FindCallback;
import com.pan.simplepicture.bean.BaoZou;
import com.pan.simplepicture.bean.Beaty;
import com.pan.simplepicture.bean.Column;
import com.pan.simplepicture.bean.Resources;
import com.pan.simplepicture.bean.Videos;
import com.pan.simplepicture.model.VideoModel;
import com.pan.simplepicture.model.impl.IVideoModel;
import com.pan.simplepicture.view.impl.IVideoView;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import retrofit.Callback;
import retrofit.Response;
import retrofit.Retrofit;
/**
* Created by sysadminl on 2015/12/9.
*/
public class VideoPresenter extends BasePresenter<IVideoView> {
private IVideoModel mIVideoModel;
public VideoPresenter() {
mIVideoModel = new VideoModel();
}
public void getATVideos(final Map<String, String> params) {
if (!mView.checkNet()) {
mView.onRefreshComplete();
mView.onLoadMoreComplete();
mView.showNoNet();
return;
}
mIVideoModel.loadATVideos(params, new Callback<Videos>() {
@Override
public void onResponse(Response<Videos> response, Retrofit retrofit) {
if (mView == null)
return;
mView.onRefreshComplete();
mView.onLoadMoreComplete();
if (response == null || response.body() == null || response.body().data == null || response.body().data.list == null || response.body().data.list.anime == null) {
if ("1".equals(params.get("page"))) {
mView.showFaild();
}
return;
}
if ("1".equals(params.get("page"))) {
if (response.body().data.list.anime.size() == 0) {
mView.showEmpty();
} else {
mView.setAdapter(response.body().data.list.anime);
mView.showSuccess();
}
} else {
mView.loadMore(response.body().data.list.anime);
}
}
@Override
public void onFailure(Throwable t) {
if (mView == null)
return;
mView.onRefreshComplete();
mView.onLoadMoreComplete();
if ("1".equals(params.get("page"))) {
mView.showFaild();
}
return;
}
});
}
public void getBeautifulVideos(final Map<String, String> params) {
if (!mView.checkNet()) {
mView.onRefreshComplete();
mView.onLoadMoreComplete();
mView.showNoNet();
return;
}
mIVideoModel.loadBeautifulVideos(params, new Callback<Beaty>() {
@Override
public void onResponse(Response<Beaty> response, Retrofit retrofit) {
if (mView == null)
return;
mView.onRefreshComplete();
mView.onLoadMoreComplete();
if (response == null || response.body() == null || response.body().resources == null) {
if ("0".equals(params.get("pageNo"))) {
mView.showFaild();
}
return;
}
if ("0".equals(params.get("pageNo"))) {
if (0 == response.body().resources.size()) {
mView.showEmpty();
} else {
mView.setAdapter(response.body().resources);
mView.showSuccess();
}
} else {
mView.loadMore(response.body().resources);
}
}
@Override
public void onFailure(Throwable t) {
if (mView == null)
return;
mView.onRefreshComplete();
mView.onLoadMoreComplete();
if ("0".equals(params.get("pageNo"))) {
mView.showFaild();
}
}
});
}
public void getYouKuVideos(final Map<String, String> params) {
if (!mView.checkNet()) {
mView.onRefreshComplete();
mView.onLoadMoreComplete();
mView.showNoNet();
return;
}
mIVideoModel.loadYouKuVideos(params, new FindCallback<AVObject>() {
@Override
public void done(List<AVObject> list, AVException e) {
if (mView == null) return;
mView.onRefreshComplete();
mView.onLoadMoreComplete();
if (e == null && list != null) {
List<Resources> resList = new ArrayList<>();
for (AVObject object : list) {
Resources resources = new Resources();
resources.rsId = object.getString("log_Sid");
if ("1".equals(object.getString("res_Type"))) {
resources.type = 3;
} else if ("0".equals(object.getString("res_Type")) && TextUtils.isEmpty(resources.rsId)) {
resources.type = 1;
resources.rsId = "XMTQ0MjgwNDUzNg%3D%3D";
}
resources.link = object.getString("website");
if (!resources.link.startsWith("http://www.soku.com/v")) {
if (resources.link.contains("?")) {
resources.link = resources.link.split("[?]")[0];
}
if (resources.link.contains("q_")) {
resources.link = "http://www.soku.com/v/?keyword=" + resources.link.split("q_")[1];
}
}
resources.title = object.getString("name");
resources.thumbnailV2 = object.getString("big_Pic");
resources.thumbnail = object.getString("small_Pic");
resources.duration = object.getString("duration");
resources.description = object.getString("des");
resList.add(resources);
}
if ("0".equals(params.get("skip"))) {
if (resList.size() == 0) {
mView.showEmpty();
} else {
mView.setAdapter(resList);
mView.showSuccess();
}
} else {
mView.loadMore(resList);
}
} else {
if ("0".equals(params.get("skip"))) {
mView.showFaild();
}
}
}
});
}
public void getCinemaMovies(final Map<String, String> params) {
if (!mView.checkNet()) {
mView.onRefreshComplete();
mView.onLoadMoreComplete();
mView.showNoNet();
return;
}
mIVideoModel.loadCinemaMovies(params, new Callback<BaoZou>() {
@Override
public void onResponse(Response<BaoZou> response, Retrofit retrofit) {
if (mView == null)
return;
mView.onRefreshComplete();
mView.onLoadMoreComplete();
if (response == null || response.body() == null || response.body().column == null || response.body().column.series == null) {
if ("1".equals(params.get("page"))) {
mView.showFaild();
}
return;
}
if ("1".equals(params.get("page"))) {
if (response.body().column.series.size() == 0) {
mView.showEmpty();
} else {
mView.setAdapter(response.body().column.series);
mView.showSuccess();
}
} else {
mView.loadMore(response.body().column.series);
}
}
@Override
public void onFailure(Throwable t) {
if (mView == null)
return;
mView.onRefreshComplete();
mView.onLoadMoreComplete();
if ("1".equals(params.get("page"))) {
mView.showFaild();
}
}
});
}
public void getMovies(final Map<String, String> params) {
if (!mView.checkNet()) {
mView.onRefreshComplete();
mView.onLoadMoreComplete();
mView.showNoNet();
return;
}
mIVideoModel.loadMovies(params, new Callback<Column>() {
@Override
public void onResponse(Response<Column> response, Retrofit retrofit) {
if (mView == null)
return;
mView.onRefreshComplete();
mView.onLoadMoreComplete();
if (response == null || response.body() == null || response.body().series == null) {
if ("1".equals(params.get("page"))) {
mView.showFaild();
}
return;
}
if ("1".equals(params.get("page"))) {
if (0 == response.body().series.size()) {
mView.showEmpty();
} else {
mView.setAdapter(response.body().series);
mView.showSuccess();
}
} else {
mView.loadMore(response.body().series);
}
}
@Override
public void onFailure(Throwable t) {
if (mView == null)
return;
mView.onRefreshComplete();
mView.onLoadMoreComplete();
if ("1".equals(params.get("page"))) {
mView.showFaild();
}
}
});
}
}