package pasta.music.adapters;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import java.util.ArrayList;
import pasta.music.R;
import pasta.music.data.TextListData;
import pasta.music.views.CustomImageView;
public class AboutAdapter extends RecyclerView.Adapter<AboutAdapter.ContribViewHolder> {
private ArrayList<TextListData> contribList;
private Activity activity;
public AboutAdapter(final Activity activity, final ArrayList<TextListData> contribList) {
this.contribList = contribList;
this.activity = activity;
}
@Override
public AboutAdapter.ContribViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.text_item, null);
return new ContribViewHolder(v);
}
@Override
public void onBindViewHolder(final AboutAdapter.ContribViewHolder holder, int position) {
holder.v.setLayoutParams(new RecyclerView.LayoutParams(RecyclerView.LayoutParams.MATCH_PARENT, RecyclerView.LayoutParams.WRAP_CONTENT));
TextListData contrib = contribList.get(position);
TextView title = (TextView) holder.v.findViewById(R.id.title);
TextView subtitle = (TextView) holder.v.findViewById(R.id.subtitle);
if (contrib.title != null) {
title.setVisibility(View.VISIBLE);
title.setText(contrib.title);
} else title.setVisibility(View.GONE);
if (contrib.subtitle != null) {
subtitle.setVisibility(View.VISIBLE);
subtitle.setText(contrib.subtitle);
} else subtitle.setVisibility(View.GONE);
if (contrib.image != null) {
CustomImageView image = (CustomImageView) holder.v.findViewById(R.id.image);
image.setVisibility(View.VISIBLE);
image.setImageDrawable(new ColorDrawable(Color.parseColor("#bdbdbd")));
Glide.with(activity).load(contribList.get(position).image).into(image);
} else {
holder.v.findViewById(R.id.image).setVisibility(View.GONE);
}
if (contrib.primary != null) {
holder.v.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
activity.startActivity(new Intent(Intent.ACTION_VIEW, contribList.get(holder.getAdapterPosition()).primary));
}
});
holder.v.setClickable(true);
} else holder.v.setClickable(false);
}
@Override
public int getItemCount() {
return contribList.size();
}
public static class ContribViewHolder extends RecyclerView.ViewHolder {
public View v;
public ContribViewHolder(View v) {
super(v);
this.v = v;
}
}
}