// Path: app/src/main/java/com/livingstoneapp/helpers/RecyclerViewOnClickListener.java
// public interface RecyclerViewOnClickListener<T> {
//     void onItemClick(T item);
// }
// 
// Path: app/src/main/java/com/livingstoneapp/helpers/RecyclerViewOnClickListenerInternal.java
// public interface RecyclerViewOnClickListenerInternal {
//     void onItemClick(int position);
// }
// 
// Path: app/src/main/java/com/livingstoneapp/models/InstalledPackageHeader.java
// public class InstalledPackageHeader {
//     private String mPackageName;
//     private String mAppName;
//     private Drawable mAppIcon;
// 
//     public InstalledPackageHeader() {
// 
//     }
// 
//     public InstalledPackageHeader(String packageName, String appName, Drawable appIcon) {
//         this.mPackageName = packageName;
//         this.mAppName = appName;
//         this.mAppIcon = appIcon;
//     }
// 
//     public Drawable getAppIcon() {
//         return mAppIcon;
//     }
//     public void setAppIcon(Drawable mAppIcon) {
//         this.mAppIcon = mAppIcon;
//     }
// 
//     public String getAppName() {
//         return mAppName;
//     }
//     public void setAppName(String mAppName) {
//         this.mAppName = mAppName;
//     }
// 
//     public String getPackageName() {
//         return mPackageName;
//     }
//     public void setPackageName(String mPackageName) {
//         this.mPackageName = mPackageName;
//     }
// }


import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
import butterknife.Bind;
import butterknife.ButterKnife;
import com.livingstoneapp.R;
import com.livingstoneapp.helpers.RecyclerViewOnClickListener;
import com.livingstoneapp.helpers.RecyclerViewOnClickListenerInternal;
import com.livingstoneapp.models.InstalledPackageHeader;
package com.livingstoneapp.adapters;




/**
 * Created by renier on 2/2/2016.
 */
public class PackageListAdapter extends RecyclerView.Adapter<PackageListAdapter.ViewHolder>{

    private RecyclerViewOnClickListener<InstalledPackageHeader> mListener;


    protected List<InstalledPackageHeader> mData;

    public PackageListAdapter() {
        mData = new ArrayList<>();
    }

    public void setOnClickListener(RecyclerViewOnClickListener<InstalledPackageHeader> listener) {
        this.mListener = listener;
    }

    public void addItemToList(InstalledPackageHeader item) {
        mData.add(item);
        notifyItemInserted(mData.size() - 1);
        notifyItemRangeInserted(mData.size() - 1, 1);
    }

// Path: app/src/main/java/com/livingstoneapp/helpers/RecyclerViewOnClickListener.java
// public interface RecyclerViewOnClickListener<T> {
//     void onItemClick(T item);
// }
// 
// Path: app/src/main/java/com/livingstoneapp/helpers/RecyclerViewOnClickListenerInternal.java
// public interface RecyclerViewOnClickListenerInternal {
//     void onItemClick(int position);
// }
// 
// Path: app/src/main/java/com/livingstoneapp/models/InstalledPackageHeader.java
// public class InstalledPackageHeader {
//     private String mPackageName;
//     private String mAppName;
//     private Drawable mAppIcon;
// 
//     public InstalledPackageHeader() {
// 
//     }
// 
//     public InstalledPackageHeader(String packageName, String appName, Drawable appIcon) {
//         this.mPackageName = packageName;
//         this.mAppName = appName;
//         this.mAppIcon = appIcon;
//     }
// 
//     public Drawable getAppIcon() {
//         return mAppIcon;
//     }
//     public void setAppIcon(Drawable mAppIcon) {
//         this.mAppIcon = mAppIcon;
//     }
// 
//     public String getAppName() {
//         return mAppName;
//     }
//     public void setAppName(String mAppName) {
//         this.mAppName = mAppName;
//     }
// 
//     public String getPackageName() {
//         return mPackageName;
//     }
//     public void setPackageName(String mPackageName) {
//         this.mPackageName = mPackageName;
//     }
// }


// Path: app/src/main/java/com/livingstoneapp/adapters/PackageListAdapter.java
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
import butterknife.Bind;
import butterknife.ButterKnife;
import com.livingstoneapp.R;
import com.livingstoneapp.helpers.RecyclerViewOnClickListener;
import com.livingstoneapp.helpers.RecyclerViewOnClickListenerInternal;
import com.livingstoneapp.models.InstalledPackageHeader;

package com.livingstoneapp.adapters;




/**
 * Created by renier on 2/2/2016.
 */
public class PackageListAdapter extends RecyclerView.Adapter<PackageListAdapter.ViewHolder>{

    private RecyclerViewOnClickListener<InstalledPackageHeader> mListener;


    protected List<InstalledPackageHeader> mData;

    public PackageListAdapter() {
        mData = new ArrayList<>();
    }

    public void setOnClickListener(RecyclerViewOnClickListener<InstalledPackageHeader> listener) {
        this.mListener = listener;
    }

    public void addItemToList(InstalledPackageHeader item) {
        mData.add(item);
        notifyItemInserted(mData.size() - 1);
        notifyItemRangeInserted(mData.size() - 1, 1);
    }

    public void setData(List<InstalledPackageHeader> items) {