package cw.kop.autobackground.images;
import android.app.Activity;
import android.support.v7.widget.RecyclerView;
import android.util.Patterns;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.squareup.picasso.Picasso;
import java.util.List;
import cw.kop.autobackground.R;
import cw.kop.autobackground.settings.AppSettings;
/**
* Created by TheKeeperOfPie on 4/11/2015.
*/
public class AdapterAlbum extends RecyclerView.Adapter<AdapterAlbum.ViewHolder> {
private int colorFilterInt;
private Activity activity;
private List<String> albumNames;
private List<String> albumImages;
private List<String> albumLinks;
private FolderCallback folderCallback;
public AdapterAlbum(Activity activity, List<String> names, List<String> images,
List<String> links, FolderCallback folderCallback) {
this.activity = activity;
albumNames = names;
albumImages = images;
albumLinks = links;
this.folderCallback = folderCallback;
colorFilterInt = AppSettings.getColorFilterInt(activity);
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return new ViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.album_list_cell, parent, false));
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.name.setSelected(true);
holder.name.setText(albumNames.get(position));
if (Patterns.WEB_URL.matcher(albumImages.get(position)).matches()) {
Picasso.with(activity).load(albumImages.get(position)).into(holder.icon);
}
}
@Override
public int getItemCount() {
return albumLinks.size();
}
protected class ViewHolder extends RecyclerView.ViewHolder {
protected final ImageView icon;
protected final TextView name;
public ViewHolder(View itemView) {
super(itemView);
icon = (ImageView) itemView.findViewById(R.id.album_image);
name = (TextView) itemView.findViewById(R.id.album_name);
name.setTextColor(colorFilterInt);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
folderCallback.onItemClick(getPosition());
}
});
}
}
}