package com.bell.scansdcardfiles.adapter;

import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.bell.scansdcardfiles.R;
import com.bell.scansdcardfiles.bean.FileData;

import java.util.ArrayList;

/**
 * Created by bell on 17/10/11.
 */
public class ManagerFileAdapter extends BaseAdapter {
    private Context mContext;
    private ArrayList<FileData> mListItems;
    private Handler mHandler;

    public ManagerFileAdapter(Context mContext, ArrayList<FileData> mListItems, Handler mHandler) {
        this.mContext = mContext;
        this.mListItems = mListItems;
        this.mHandler = mHandler;
    }

    @Override
    public int getCount() {
        return mListItems.size();
    }


    @Override
    public Object getItem(int position) {
        return mListItems.get(position);
    }


    @Override
    public long getItemId(int position) {
        return position;
    }


    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        ViewHolder holder;
        if (null == convertView){
            holder = new ViewHolder();
            convertView = LayoutInflater.from(mContext).inflate(R.layout.item_file_list, null);
            holder._img = (ImageView) convertView.findViewById(R.id.item_file_image);
            holder._nameText = (TextView) convertView.findViewById(R.id.item_file_name);
            holder._pathText = (TextView) convertView.findViewById(R.id.item_file_path);
            holder._timeText = (TextView) convertView.findViewById(R.id.item_file_time);
            holder._sizeText = (TextView) convertView.findViewById(R.id.item_file_size);

            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }

        if (mListItems.get(position).isFile()){
            holder._img.setImageResource(R.drawable.ic_file);
        } else {
            holder._img.setImageResource(R.drawable.ic_folder);
        }
        holder._nameText.setText(mListItems.get(position).getFileName());
        holder._pathText.setText("");
        holder._timeText.setText(mListItems.get(position).getFileTime());
        holder._sizeText.setText(mListItems.get(position).getFileSize());

        convertView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (!mListItems.get(position).isFile()) {
                    Bundle bundle = new Bundle();
                    bundle.putString("path", mListItems.get(position).getFilePath());
                    Message msg = new Message();
                    msg.what = 666;
                    msg.setData(bundle);
                    mHandler.sendMessage(msg);
                }
            }
        });

        return convertView;
    }

    class ViewHolder {
        ImageView _img;
        TextView _nameText;
        TextView _pathText;
        TextView _timeText;
        TextView _sizeText;
    }




}
