package org.plezervikt.allinone.fragments;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

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

/**
 * Created by coelho on 2014.11.17..
 */
public class BookDetailFragment extends Fragment {

    private Book showedBook;

    private TextView titleTextView;
    private TextView authorTextView;
    private TextView publisherTextView;

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        if(savedInstanceState != null) {
            showedBook = (Book) savedInstanceState.getSerializable("BOOK");
            if(showedBook != null) fill(showedBook);
        }
    }

    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);

        outState.putSerializable("BOOK", showedBook);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_detailer, container, false);

        titleTextView = (TextView) v.findViewById(R.id.bookTitleTextView);
        authorTextView = (TextView) v.findViewById(R.id.bookAuthorTextView);
        publisherTextView = (TextView) v.findViewById(R.id.bookPublisherTextView);

        return v;
    }

    @Override
    public void onStart() {
        super.onStart();

        if(getArguments() != null && showedBook == null) {
            showedBook = (Book) getArguments().getSerializable("book");
        }

        if(showedBook != null) fill(showedBook);
    }

    public void fill(Book book) {
        showedBook = book;
        titleTextView.setText(book.getTitle());
        authorTextView.setText(book.getAuthor());
        publisherTextView.setText(book.getPublisher());
    }
}
