// Path: imageloadpk/src/main/java/com/example/imageloadpk/adapter/watcher/WatchListener.java
// public class WatchListener {
//     private long mRequestTotalTime;
//     private long mStartRequests;
//     private long mSuccessedRequests;
//     private long mFailedRequests;
//     private long mCancelledRequests;
// 
//     public void reportSuccess(long requestTime) {
//         mRequestTotalTime += requestTime;
//         mSuccessedRequests++;
//     }
// 
//     public void initData() {
//         mRequestTotalTime = 0;
//         mStartRequests = 0;
//         mSuccessedRequests = 0;
//         mFailedRequests = 0;
//         mCancelledRequests = 0;
//     }
// 
//     public void reportStart() {
//         mStartRequests++;
//     }
// 
//     public void reportCancelltion(long requestTime) {
//         mCancelledRequests++;
//         mRequestTotalTime += requestTime;
//     }
// 
//     public void reportFailure(long requestTime) {
//         mFailedRequests++;
//         mRequestTotalTime += requestTime;
//     }
// 
// 
//     public long getAverageRequestTime() {
//         final long completedRequests = getCompletedRequests();
//         return completedRequests > 0 ? mRequestTotalTime / completedRequests : 0;
//     }
// 
//     public long getCancelledRequests() {
//         return mCancelledRequests;
//     }
// 
//     public long getCompletedRequests() {
//         return mSuccessedRequests + mCancelledRequests + mFailedRequests;
//     }
// 
//     public long getTotalRequests() {
//         return mStartRequests;
//     }
// }
// 
// Path: imageloadpk/src/main/java/com/example/imageloadpk/model/Data.java
// public final class Data {
// 
//     public static final String BASE = "http://i.imgur.com/";
//     public static final String EXT = ".jpg";
//     public static final String[] URLS = {
//             BASE + "CqmBjo5" + EXT, BASE + "zkaAooq" + EXT, BASE + "0gqnEaY" + EXT,
//             BASE + "9gbQ7YR" + EXT, BASE + "aFhEEby" + EXT, BASE + "0E2tgV7" + EXT,
//             BASE + "P5JLfjk" + EXT, BASE + "nz67a4F" + EXT, BASE + "dFH34N5" + EXT,
//             BASE + "FI49ftb" + EXT, BASE + "DvpvklR" + EXT, BASE + "DNKnbG8" + EXT,
//             BASE + "yAdbrLp" + EXT, BASE + "55w5Km7" + EXT, BASE + "NIwNTMR" + EXT,
//             BASE + "DAl0KB8" + EXT, BASE + "xZLIYFV" + EXT, BASE + "HvTyeh3" + EXT,
//             BASE + "Ig9oHCM" + EXT, BASE + "7GUv9qa" + EXT, BASE + "i5vXmXp" + EXT,
//             BASE + "glyvuXg" + EXT, BASE + "u6JF6JZ" + EXT, BASE + "ExwR7ap" + EXT,
//             BASE + "Q54zMKT" + EXT, BASE + "9t6hLbm" + EXT, BASE + "F8n3Ic6" + EXT,
//             BASE + "P5ZRSvT" + EXT, BASE + "jbemFzr" + EXT, BASE + "8B7haIK" + EXT,
//             BASE + "aSeTYQr" + EXT, BASE + "OKvWoTh" + EXT, BASE + "zD3gT4Z" + EXT,
//             BASE + "z77CaIt" + EXT,
//     };
// 
//     private Data() {
//         // No instances.
//     }
// }


import android.content.Context;
import android.support.v7.widget.RecyclerView;
import com.example.imageloadpk.adapter.watcher.WatchListener;
import com.example.imageloadpk.model.Data;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
package com.example.imageloadpk.adapter.adapters;




/**
 * Created by Nevermore on 16/7/2.
 */
public abstract class ImageListAdapter extends RecyclerView.Adapter {
    private final Context mContext;
    private List<String> mDatas;
    private final WatchListener mWatchListener;

// Path: imageloadpk/src/main/java/com/example/imageloadpk/adapter/watcher/WatchListener.java
// public class WatchListener {
//     private long mRequestTotalTime;
//     private long mStartRequests;
//     private long mSuccessedRequests;
//     private long mFailedRequests;
//     private long mCancelledRequests;
// 
//     public void reportSuccess(long requestTime) {
//         mRequestTotalTime += requestTime;
//         mSuccessedRequests++;
//     }
// 
//     public void initData() {
//         mRequestTotalTime = 0;
//         mStartRequests = 0;
//         mSuccessedRequests = 0;
//         mFailedRequests = 0;
//         mCancelledRequests = 0;
//     }
// 
//     public void reportStart() {
//         mStartRequests++;
//     }
// 
//     public void reportCancelltion(long requestTime) {
//         mCancelledRequests++;
//         mRequestTotalTime += requestTime;
//     }
// 
//     public void reportFailure(long requestTime) {
//         mFailedRequests++;
//         mRequestTotalTime += requestTime;
//     }
// 
// 
//     public long getAverageRequestTime() {
//         final long completedRequests = getCompletedRequests();
//         return completedRequests > 0 ? mRequestTotalTime / completedRequests : 0;
//     }
// 
//     public long getCancelledRequests() {
//         return mCancelledRequests;
//     }
// 
//     public long getCompletedRequests() {
//         return mSuccessedRequests + mCancelledRequests + mFailedRequests;
//     }
// 
//     public long getTotalRequests() {
//         return mStartRequests;
//     }
// }
// 
// Path: imageloadpk/src/main/java/com/example/imageloadpk/model/Data.java
// public final class Data {
// 
//     public static final String BASE = "http://i.imgur.com/";
//     public static final String EXT = ".jpg";
//     public static final String[] URLS = {
//             BASE + "CqmBjo5" + EXT, BASE + "zkaAooq" + EXT, BASE + "0gqnEaY" + EXT,
//             BASE + "9gbQ7YR" + EXT, BASE + "aFhEEby" + EXT, BASE + "0E2tgV7" + EXT,
//             BASE + "P5JLfjk" + EXT, BASE + "nz67a4F" + EXT, BASE + "dFH34N5" + EXT,
//             BASE + "FI49ftb" + EXT, BASE + "DvpvklR" + EXT, BASE + "DNKnbG8" + EXT,
//             BASE + "yAdbrLp" + EXT, BASE + "55w5Km7" + EXT, BASE + "NIwNTMR" + EXT,
//             BASE + "DAl0KB8" + EXT, BASE + "xZLIYFV" + EXT, BASE + "HvTyeh3" + EXT,
//             BASE + "Ig9oHCM" + EXT, BASE + "7GUv9qa" + EXT, BASE + "i5vXmXp" + EXT,
//             BASE + "glyvuXg" + EXT, BASE + "u6JF6JZ" + EXT, BASE + "ExwR7ap" + EXT,
//             BASE + "Q54zMKT" + EXT, BASE + "9t6hLbm" + EXT, BASE + "F8n3Ic6" + EXT,
//             BASE + "P5ZRSvT" + EXT, BASE + "jbemFzr" + EXT, BASE + "8B7haIK" + EXT,
//             BASE + "aSeTYQr" + EXT, BASE + "OKvWoTh" + EXT, BASE + "zD3gT4Z" + EXT,
//             BASE + "z77CaIt" + EXT,
//     };
// 
//     private Data() {
//         // No instances.
//     }
// }


// Path: imageloadpk/src/main/java/com/example/imageloadpk/adapter/adapters/ImageListAdapter.java
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import com.example.imageloadpk.adapter.watcher.WatchListener;
import com.example.imageloadpk.model.Data;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

package com.example.imageloadpk.adapter.adapters;




/**
 * Created by Nevermore on 16/7/2.
 */
public abstract class ImageListAdapter extends RecyclerView.Adapter {
    private final Context mContext;
    private List<String> mDatas;
    private final WatchListener mWatchListener;

    public ImageListAdapter(Context context, WatchListener watchListener) {