// 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/FeatureInfoInternal.java
// public class FeatureInfoInternal {
//     private String mName;
//     private boolean mRequired;
//     private String mGLESVersion;
// 
//     public FeatureInfoInternal(String mName, boolean mRequired, String mGLESVersion) {
// 
//         this.mName = mName;
//         this.mRequired = mRequired;
//         this.mGLESVersion = mGLESVersion;
//     }
// 
//     public String getName() {
//         return mName;
//     }
// 
//     public boolean isRequired() {
//         return mRequired;
//     }
// 
//     public String getGLESVersion() {
//         return mGLESVersion;
//     }
// }


import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
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.FeatureInfoInternal;
            holder.tvName.setVisibility(View.VISIBLE);
            holder.tvName.setText(mData.get(position).getName());
        } else {
            holder.tvName.setVisibility(View.GONE);
        }


        if (!mData.get(position).getGLESVersion().equalsIgnoreCase(holder.tvGLESVersion.getContext().getString(R.string.requested_features_empty_gles))) {
            holder.tvGLESVersion.setVisibility(View.VISIBLE);
            holder.tvGLESVersion.setText(holder.tvGLESVersion.getContext().getString(R.string.requested_features_gles_version_prefix) + " " + mData.get(position).getGLESVersion());
        } else {
            holder.tvGLESVersion.setVisibility(View.GONE);
        }

        if (mData.get(position).isRequired()) {
            holder.tvRequiredHeader.setVisibility(View.VISIBLE);
            holder.tvNotRequiredHeader.setVisibility(View.GONE);
        } else {
            holder.tvRequiredHeader.setVisibility(View.GONE);
            holder.tvNotRequiredHeader.setVisibility(View.VISIBLE);
        }
    }

    @Override
    public int getItemCount() {
        return mData.size();
    }

    public static class ViewHolder extends RecyclerView.ViewHolder {

// 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/FeatureInfoInternal.java
// public class FeatureInfoInternal {
//     private String mName;
//     private boolean mRequired;
//     private String mGLESVersion;
// 
//     public FeatureInfoInternal(String mName, boolean mRequired, String mGLESVersion) {
// 
//         this.mName = mName;
//         this.mRequired = mRequired;
//         this.mGLESVersion = mGLESVersion;
//     }
// 
//     public String getName() {
//         return mName;
//     }
// 
//     public boolean isRequired() {
//         return mRequired;
//     }
// 
//     public String getGLESVersion() {
//         return mGLESVersion;
//     }
// }


// Path: app/src/main/java/com/livingstoneapp/adapters/RequestedFeaturesAdapter.java
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
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.FeatureInfoInternal;

            holder.tvName.setVisibility(View.VISIBLE);
            holder.tvName.setText(mData.get(position).getName());
        } else {
            holder.tvName.setVisibility(View.GONE);
        }


        if (!mData.get(position).getGLESVersion().equalsIgnoreCase(holder.tvGLESVersion.getContext().getString(R.string.requested_features_empty_gles))) {
            holder.tvGLESVersion.setVisibility(View.VISIBLE);
            holder.tvGLESVersion.setText(holder.tvGLESVersion.getContext().getString(R.string.requested_features_gles_version_prefix) + " " + mData.get(position).getGLESVersion());
        } else {
            holder.tvGLESVersion.setVisibility(View.GONE);
        }

        if (mData.get(position).isRequired()) {
            holder.tvRequiredHeader.setVisibility(View.VISIBLE);
            holder.tvNotRequiredHeader.setVisibility(View.GONE);
        } else {
            holder.tvRequiredHeader.setVisibility(View.GONE);
            holder.tvNotRequiredHeader.setVisibility(View.VISIBLE);
        }
    }

    @Override
    public int getItemCount() {
        return mData.size();
    }

    public static class ViewHolder extends RecyclerView.ViewHolder {

        private RecyclerViewOnClickListenerInternal mListener;