package com.example.register.fragment;

import android.app.Fragment;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.GridView;
import android.widget.LinearLayout;
import android.widget.SearchView;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.example.register.adapter.ProductAdapter;
import com.example.register.entity.OrangeProductPack;
import com.example.register.entity.Product;
import com.example.register.R;
import com.example.register.netrequest.OkHttpClientProduct;

import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

public class IndexFragment extends Fragment implements View.OnClickListener {
    private SearchView searchView;
    private LinearLayout meishiLine, houseLine, footLine, dyLine, lyLine, fruitLine, planeLine, ktvLine;
    private GridView gridView;
    private List<Product> productList;
    private ProductAdapter productAdapter;
    private List<OrangeProductPack> list = new ArrayList<>();
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = LayoutInflater.from(getActivity()).inflate(R.layout.content_index, container, false);
        init(view);
        return view;
    }

    /**
     * 初始化组件
     */
    private void init(View view) {
        searchView = view.findViewById(R.id.searchView);
        searchView.setOnClickListener(this);
        meishiLine = view.findViewById(R.id.meishi);
        meishiLine.setOnClickListener(this);
        houseLine = view.findViewById(R.id.house);
        houseLine.setOnClickListener(this);
        footLine = view.findViewById(R.id.foot);
        footLine.setOnClickListener(this);
        dyLine = view.findViewById(R.id.dy);
        dyLine.setOnClickListener(this);
        lyLine = view.findViewById(R.id.ly);
        lyLine.setOnClickListener(this);
        fruitLine = view.findViewById(R.id.fruit);
        fruitLine.setOnClickListener(this);
        planeLine = view.findViewById(R.id.plane);
        planeLine.setOnClickListener(this);
        ktvLine = view.findViewById(R.id.sing);
        ktvLine.setOnClickListener(this);
        gridView = view.findViewById(R.id.index_famous_gridview);
        initData();
        //productAdapter = new ProductAdapter(getActivity(), productList);
        //gridView.setAdapter(productAdapter);
        new SearchProductTask().execute();
    }


    @Override
    public void onClick(View v) {

    }

    /**
     * 初始化商品数据
     */
    private void initData() {
        productList = new ArrayList<>();
        Product product = new Product();
        product.setImageUrlId(R.drawable.haoroup);
        product.setProductName("照烧鸡");
        product.setProductPrice(new BigDecimal("19.9"));
        Product product1 = new Product();
        product1.setImageUrlId(R.drawable.juzip);
        product1.setProductName("橘子");
        product1.setProductPrice(new BigDecimal("9.9"));
        Product product2 = new Product();
        product2.setImageUrlId(R.drawable.singp);
        product2.setProductName("KTV");
        product2.setProductPrice(new BigDecimal("19.9"));
        Product product3 = new Product();
        product3.setImageUrlId(R.drawable.housep);
        product3.setProductName("酒店");
        product3.setProductPrice(new BigDecimal("199.9"));
        Product product4 = new Product();
        product4.setImageUrlId(R.drawable.footp);
        product4.setProductName("足疗");
        product4.setProductPrice(new BigDecimal("29.9"));
        Product product5 = new Product();
        product5.setImageUrlId(R.drawable.lemonp);
        product5.setProductName("柠檬");
        product5.setProductPrice(new BigDecimal("9.9"));
        productList.add(product);
        productList.add(product1);
        productList.add(product2);
        productList.add(product3);
        productList.add(product4);
        productList.add(product5);

    }

    /**
     * 发送网络请求获取数据
     */
    class SearchProductTask extends AsyncTask<Void, Void, List<OrangeProductPack>> {

        @Override
        protected List<OrangeProductPack> doInBackground(Void... voids) {
            OkHttpClientProduct clientProduct = new OkHttpClientProduct();
            try {
                list = clientProduct.getProductPack();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return list;
        }

        @Override
        protected void onPostExecute(List<OrangeProductPack> orangeProducts) {
            productAdapter = new ProductAdapter(getActivity(), list);
            gridView.setAdapter(productAdapter);
        }
    }
}

