package com.novoda.downloadmanager.demo.extended.extra_data;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.novoda.downloadmanager.demo.R;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
public class ExtraDataAdapter extends RecyclerView.Adapter<ExtraDataAdapter.ViewHolder> {
private final List<ExtraDataDownload> extraDataDownloads;
public ExtraDataAdapter() {
this.extraDataDownloads = new ArrayList<>();
}
public void updateDownloads(List<ExtraDataDownload> extraDataDownloads) {
this.extraDataDownloads.clear();
this.extraDataDownloads.addAll(extraDataDownloads);
notifyDataSetChanged();
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int position) {
return new ViewHolder(View.inflate(viewGroup.getContext(), R.layout.list_item_extra_data_download, null));
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, int position) {
final ExtraDataDownload extraDataDownload = extraDataDownloads.get(position);
viewHolder.titleTextView.setText(extraDataDownload.getTitle());
String text = String.format(Locale.getDefault(), "%1$s : %2$s", extraDataDownload.getTitle(), extraDataDownload.getExtraData());
viewHolder.locationTextView.setText(text);
}
@Override
public int getItemCount() {
return extraDataDownloads.size();
}
static class ViewHolder extends RecyclerView.ViewHolder {
private final TextView titleTextView;
private final TextView locationTextView;
public ViewHolder(View itemView) {
super(itemView);
titleTextView = (TextView) itemView.findViewById(R.id.download_title_text);
locationTextView = (TextView) itemView.findViewById(R.id.download_location_text);
}
}
}