package com.ar.drawing.art.adapter;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import com.ar.drawing.art.activity.UIDetail;
import com.ar.drawing.art.databinding.ItemImportBinding;
import com.ar.drawing.art.dataman.ImportBean;
import com.ar.drawing.art.dataman.MyDataBase;
import com.ar.drawing.art.utils.ArtApp;

import java.util.ArrayList;
import java.util.List;

public class AdaImport extends RecyclerView.Adapter<AdaImport.HomeVH> {


    private Activity mCon;
    private List<ImportBean> data = new ArrayList<>();


    public void setData(List<ImportBean> data) {
        this.data = data;
        notifyDataSetChanged();
    }
    public AdaImport(Activity mCon) {
        this.mCon = mCon;
    }

    public void addData(ImportBean newData){
        data.add(newData);
        int i = data.size() - 1;
        notifyItemInserted(i);
        notifyItemChanged(i);

    }

    @NonNull
    @Override
    public HomeVH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

        return new HomeVH(ItemImportBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false));
    }

    @Override
    public void onBindViewHolder(@NonNull HomeVH holder, int position) {
        ImportBean importBean = data.get(position);
        String path = importBean.getUri();
         new Thread(new Runnable() {
             @Override
             public void run() {
                 Bitmap bitmap = BitmapFactory.decodeFile(path);
                 mCon.runOnUiThread(()->{
                     holder.binding.imPreview.setImageBitmap(bitmap);
                 });

             }
         }).start();



        holder.binding.cardView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(mCon, UIDetail.class);
                intent.putExtra(ArtApp.Key_Camera, path);
                mCon.startActivity(intent);
            }
        });
        holder.binding.delete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int adapterPosition = holder.getAdapterPosition();
                MyDataBase.deleteImport(path);
                data.remove(adapterPosition);
                notifyItemRemoved(adapterPosition);
            }
        });



    }

    @Override
    public int getItemCount() {
        return data.size();
    }

    public static class HomeVH extends RecyclerView.ViewHolder {


        private ItemImportBinding binding;


        public HomeVH(@NonNull ItemImportBinding itemView) {
            super(itemView.getRoot());
            binding = itemView;
        }


    }
}
