// Path: autoadapter/src/main/java/com/benny/library/autoadapter/listener/AdapterPagingCompleteListener.java
// public interface AdapterPagingCompleteListener {
//     void onPagingComplete(boolean hasNextPage);
// }
// 
// Path: autoadapter/src/main/java/com/benny/library/autoadapter/listener/AdapterPagingListener.java
// public interface AdapterPagingListener<T> {
//     void onLoadPage(AdapterPagingCompleteListener receiver, T previous, int position);
// }
// 
// Path: autoadapter/src/main/java/com/benny/library/autoadapter/viewcreator/IViewCreator.java
// public interface IViewCreator<T> {
//     View view(ViewGroup container);
//     int viewTypeFor(T data, int position, int itemCount);
//     int viewTypeCount();
// }


import android.os.Handler;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import com.benny.library.autoadapter.listener.AdapterPagingCompleteListener;
import com.benny.library.autoadapter.listener.AdapterPagingListener;
import com.benny.library.autoadapter.viewcreator.IViewCreator;
import java.util.List;
package com.benny.library.autoadapter;




/**
 * Created by benny on 2/26/16.
 */

public class AutoRecyclerPagingAdapter<T> extends AutoRecyclerAdapter<T> implements AdapterPagingCompleteListener {
    private AdapterPagingListener<T> pagingListener;
    private boolean hasNextPage = true;
    private boolean loading = false;

    private Handler handler = new Handler();

// Path: autoadapter/src/main/java/com/benny/library/autoadapter/listener/AdapterPagingCompleteListener.java
// public interface AdapterPagingCompleteListener {
//     void onPagingComplete(boolean hasNextPage);
// }
// 
// Path: autoadapter/src/main/java/com/benny/library/autoadapter/listener/AdapterPagingListener.java
// public interface AdapterPagingListener<T> {
//     void onLoadPage(AdapterPagingCompleteListener receiver, T previous, int position);
// }
// 
// Path: autoadapter/src/main/java/com/benny/library/autoadapter/viewcreator/IViewCreator.java
// public interface IViewCreator<T> {
//     View view(ViewGroup container);
//     int viewTypeFor(T data, int position, int itemCount);
//     int viewTypeCount();
// }


// Path: autoadapter/src/main/java/com/benny/library/autoadapter/AutoRecyclerPagingAdapter.java
import android.os.Handler;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import com.benny.library.autoadapter.listener.AdapterPagingCompleteListener;
import com.benny.library.autoadapter.listener.AdapterPagingListener;
import com.benny.library.autoadapter.viewcreator.IViewCreator;
import java.util.List;

package com.benny.library.autoadapter;




/**
 * Created by benny on 2/26/16.
 */

public class AutoRecyclerPagingAdapter<T> extends AutoRecyclerAdapter<T> implements AdapterPagingCompleteListener {
    private AdapterPagingListener<T> pagingListener;
    private boolean hasNextPage = true;
    private boolean loading = false;

    private Handler handler = new Handler();

    public AutoRecyclerPagingAdapter(IAdapterItemAccessor<T> itemAccessor, IViewCreator<T> viewCreator) {