// Path: libary/src/main/java/com/lain/loadmorehelper/list/IFooterViewCreator.java
// public interface IFooterViewCreator {
//     View getView(ViewGroup parent);
// }
// 
// Path: libary/src/main/java/com/lain/loadmorehelper/list/IListWrapper.java
// public interface IListWrapper {
//     public static final int STATE_INITIAL = 0;
//     public static final int STATE_LOAD_MORE = 1;
//     public static final int STATE_LOAD_FAILED = 2;
//     public static final int STATE_LOAD_COMPLETE = 3;
// 
//     void init(LoadController<?> loadController);
// 
//     void setState(@ListState int curState);
// 
//     @IntDef({STATE_INITIAL, STATE_LOAD_MORE, STATE_LOAD_FAILED, STATE_LOAD_COMPLETE})
//     @Retention(RetentionPolicy.SOURCE)
//     @interface ListState {
// 
//     }
// 
// }


import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.SparseArray;
import android.view.View;
import android.view.ViewGroup;
import com.lain.loadmorehelper.list.IFooterViewCreator;
import com.lain.loadmorehelper.list.IListWrapper;
import static com.lain.loadmorehelper.list.IListWrapper.STATE_INITIAL;
import static com.lain.loadmorehelper.list.IListWrapper.STATE_LOAD_MORE;
import static com.lain.loadmorehelper.list.IListWrapper.STATE_LOAD_FAILED;
package com.lain.loadmorehelper.list.recyclerview;




/**
 * Created by liyuan on 16/12/19.
 */

public class FooterViewAdapter<VH extends RecyclerView.ViewHolder> extends BaseWrapperAdapter {
    private static final int VIEW_TYPE_LOADMORE = Integer.MAX_VALUE - 1;
    private static final int VIEW_TYPE_COMPLETE = Integer.MAX_VALUE - 2;
    private static final int VIEW_TYPE_LOADFAILED =  Integer.MAX_VALUE - 3;

    private @IListWrapper.ListState int mLoadMoreStatus = STATE_INITIAL;

// Path: libary/src/main/java/com/lain/loadmorehelper/list/IFooterViewCreator.java
// public interface IFooterViewCreator {
//     View getView(ViewGroup parent);
// }
// 
// Path: libary/src/main/java/com/lain/loadmorehelper/list/IListWrapper.java
// public interface IListWrapper {
//     public static final int STATE_INITIAL = 0;
//     public static final int STATE_LOAD_MORE = 1;
//     public static final int STATE_LOAD_FAILED = 2;
//     public static final int STATE_LOAD_COMPLETE = 3;
// 
//     void init(LoadController<?> loadController);
// 
//     void setState(@ListState int curState);
// 
//     @IntDef({STATE_INITIAL, STATE_LOAD_MORE, STATE_LOAD_FAILED, STATE_LOAD_COMPLETE})
//     @Retention(RetentionPolicy.SOURCE)
//     @interface ListState {
// 
//     }
// 
// }


// Path: libary/src/main/java/com/lain/loadmorehelper/list/recyclerview/FooterViewAdapter.java
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.SparseArray;
import android.view.View;
import android.view.ViewGroup;
import com.lain.loadmorehelper.list.IFooterViewCreator;
import com.lain.loadmorehelper.list.IListWrapper;
import static com.lain.loadmorehelper.list.IListWrapper.STATE_INITIAL;
import static com.lain.loadmorehelper.list.IListWrapper.STATE_LOAD_MORE;
import static com.lain.loadmorehelper.list.IListWrapper.STATE_LOAD_FAILED;

package com.lain.loadmorehelper.list.recyclerview;




/**
 * Created by liyuan on 16/12/19.
 */

public class FooterViewAdapter<VH extends RecyclerView.ViewHolder> extends BaseWrapperAdapter {
    private static final int VIEW_TYPE_LOADMORE = Integer.MAX_VALUE - 1;
    private static final int VIEW_TYPE_COMPLETE = Integer.MAX_VALUE - 2;
    private static final int VIEW_TYPE_LOADFAILED =  Integer.MAX_VALUE - 3;

    private @IListWrapper.ListState int mLoadMoreStatus = STATE_INITIAL;

    private SparseArray<IFooterViewCreator> footerViewCreators = new SparseArray<>();