package ren.solid.ganhuoio.module.home.fragment;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.View;
import java.util.ArrayList;
import java.util.List;
import ren.solid.ganhuoio.api.GankService;
import ren.solid.ganhuoio.bean.CategoryList;
import ren.solid.ganhuoio.bean.Daily;
import ren.solid.ganhuoio.common.constant.Category;
import ren.solid.library.fragment.base.AbsListFragment;
import ren.solid.library.http.HttpResult;
import ren.solid.library.http.ServiceFactory;
import ren.solid.library.http.subscriber.HttpResultSubscriber;
import ren.solid.library.rx.RxUtils;
/**
* Created by _SOLID
* GitHub:https://github.com/burgessjp
* Date:2017/3/12
* Time:14:48
* Desc:
*/
public class HomeFragment extends AbsListFragment {
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
setUserVisibleHint(true);
}
@Override
public void loadData(final int pageIndex) {
final List data = new ArrayList();
if (pageIndex == getInitPageIndex()) {
CategoryList categoryList = new CategoryList();
categoryList.setData(Category.getGanHuoCateGory());
data.add(categoryList);
}
ServiceFactory.getInstance()
.createService(GankService.class)
.getRecently(pageIndex)
.compose(this.<HttpResult<List<Daily>>>bindToLifecycle())
.compose(RxUtils.<HttpResult<List<Daily>>>defaultSchedulers_single())
.subscribe(new HttpResultSubscriber<List<Daily>>() {
@Override
public void _onSuccess(List<Daily> dailies) {
data.addAll(dailies);
onDataSuccessReceived(pageIndex, data);
}
@Override
public void _onError(Throwable e) {
showError(new Exception(e));
}
});
}
@Override
protected int getInitPageIndex() {
return 1;
}
}