// Path: app/src/main/java/com/kong/lib/utils/ListUtils.java
// public class ListUtils {
// 	/**
// 	 * check list is null
// 	 * 
// 	 * @param list
// 	 * @return
// 	 */
// 	public static boolean isEmpty(List<?> list) {
// 		return (list == null) || list.isEmpty();
// 	}
// 
// 	/**
// 	 * check map is null
// 	 * 
// 	 * @param map
// 	 * @return
// 	 */
// 	public static boolean isEmpty(Map<?, ?> map) {
// 		return (map == null) || map.isEmpty();
// 	}
// 	
// 	public static boolean isEmpty(SparseArray<?> map){
//         return (map == null) || (map.size() == 0);
// 	}
// 
// 	/**
// 	 * get list count
// 	 * 
// 	 * @param list
// 	 * @return
// 	 */
// 	public static int getCount(List<?> list) {
// 		return isEmpty(list) ? 0 : list.size();
// 	}
// }


import com.kong.lib.utils.ListUtils;
import java.util.ArrayList;
import java.util.List;
import rx.Observer;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
    private int mYear, mMonth, mDay;

    public GangPresenter(GankModel gankModel, GankContract.View view) {
        mGankModel = gankModel;
        mView = view;
        time = 0;
    }

    @Override
    public void loadData(int year, int month, int day) {
        mYear = year;
        mMonth = month;
        mDay = day;
        mGankModel.getGankResult(year, month, day)
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Observer<GankResult>() {
                    @Override
                    public void onCompleted() {

                    }

                    @Override
                    public void onError(Throwable e) {
                        reLoad();
                    }

                    @Override
                    public void onNext(GankResult gankResult) {
                        getGankList(gankResult);
// Path: app/src/main/java/com/kong/lib/utils/ListUtils.java
// public class ListUtils {
// 	/**
// 	 * check list is null
// 	 * 
// 	 * @param list
// 	 * @return
// 	 */
// 	public static boolean isEmpty(List<?> list) {
// 		return (list == null) || list.isEmpty();
// 	}
// 
// 	/**
// 	 * check map is null
// 	 * 
// 	 * @param map
// 	 * @return
// 	 */
// 	public static boolean isEmpty(Map<?, ?> map) {
// 		return (map == null) || map.isEmpty();
// 	}
// 	
// 	public static boolean isEmpty(SparseArray<?> map){
//         return (map == null) || (map.size() == 0);
// 	}
// 
// 	/**
// 	 * get list count
// 	 * 
// 	 * @param list
// 	 * @return
// 	 */
// 	public static int getCount(List<?> list) {
// 		return isEmpty(list) ? 0 : list.size();
// 	}
// }


// Path: app/src/main/java/com/kong/app/gank/GangPresenter.java
import com.kong.lib.utils.ListUtils;
import java.util.ArrayList;
import java.util.List;
import rx.Observer;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;

    private int mYear, mMonth, mDay;

    public GangPresenter(GankModel gankModel, GankContract.View view) {
        mGankModel = gankModel;
        mView = view;
        time = 0;
    }

    @Override
    public void loadData(int year, int month, int day) {
        mYear = year;
        mMonth = month;
        mDay = day;
        mGankModel.getGankResult(year, month, day)
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Observer<GankResult>() {
                    @Override
                    public void onCompleted() {

                    }

                    @Override
                    public void onError(Throwable e) {
                        reLoad();
                    }

                    @Override
                    public void onNext(GankResult gankResult) {
                        getGankList(gankResult);
                        if (ListUtils.isEmpty(mGankList)){