package com.liyu.fakeweather.ui.girl;
import android.support.design.widget.Snackbar;
import android.view.View;
import com.liyu.fakeweather.R;
import com.liyu.fakeweather.http.ApiFactory;
import com.liyu.fakeweather.http.BaseGankResponse;
import com.liyu.fakeweather.model.Gank;
import com.liyu.fakeweather.model.Girl;
import com.liyu.fakeweather.service.GirlService;
import com.liyu.fakeweather.ui.base.BaseGirlsListFragment;
import java.util.ArrayList;
import java.util.List;
import rx.Observer;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
/**
* Created by liyu on 2016/10/31.
*/
public class GankFragment extends BaseGirlsListFragment {
@Override
protected void getGirlFromServer() {
showRefreshing(true);
subscription = ApiFactory
.getGirlsController()
.getGank(String.valueOf(currentPage))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<BaseGankResponse<List<Gank>>>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
isLoading = false;
showRefreshing(false);
Snackbar.make(getView(), "获取Gank妹纸失败!", Snackbar.LENGTH_INDEFINITE).setAction("重试", new View.OnClickListener() {
@Override
public void onClick(View view) {
getGirlFromServer();
}
}).setActionTextColor(getActivity().getResources().getColor(R.color.actionColor)).show();
}
@Override
public void onNext(BaseGankResponse<List<Gank>> response) {
currentPage++;
List<Girl> girls = new ArrayList<>();
for (Gank gank : response.results) {
girls.add(new Girl(gank.getUrl()));
}
sendCount = girls.size();
receivedCount = 0;
GirlService.start(getActivity(), GankFragment.this.getClass().getName(), girls);
}
});
}
}