package org.plezervikt.allinone.gui;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

import org.plezervikt.allinone.R;
import org.plezervikt.allinone.models.Book;

import java.util.ArrayList;

/**
 * Created by coelho on 2014.11.17..
 */
public class BookAdapter extends ArrayAdapter<Book> {

    static class BookHolder {
        TextView titleTextView;
        TextView authorTextView;
    }

    private ArrayList<Book> books;
    private LayoutInflater inflater;

    public BookAdapter(Context context, ArrayList<Book> objects) {
        super(context, 0, objects);
        this.books = objects;
        this.inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        BookHolder holder;
        if(convertView == null || convertView.getTag() == null) {
            convertView = inflater.inflate(R.layout.list_books, parent, false);
            holder = new BookHolder();
            holder.titleTextView = (TextView) convertView.findViewById(R.id.bookCellTitleTextView);
            holder.authorTextView = (TextView) convertView.findViewById(R.id.bookCellAuthorTextView);
            convertView.setTag(holder);
        } else {
            holder = (BookHolder) convertView.getTag();
        }

        Book book = books.get(position);

        holder.titleTextView.setText(book.getTitle());
        holder.authorTextView.setText(book.getAuthor());

        return convertView;
    }
}