package com.zhongshu.maintenanceexpert.activitity;

import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import android.os.SystemClock;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.text.format.DateUtils;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;

import com.handmark.pulltorefresh.library.ILoadingLayout;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import com.zhongshu.maintenanceexpert.MyApplication;
import com.zhongshu.maintenanceexpert.R;
import com.zhongshu.maintenanceexpert.adapter.HomeLvAdapter;
import com.zhongshu.maintenanceexpert.bean.HomeLvBean;

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

/**
 * Created by a on 2016/12/28.
 */

public class HomeAllOrderActivity extends AppCompatActivity {

    private TextView tv_title_left,tv_title;
    private PullToRefreshListView home_search_refreshlv;
    private Handler handler;
    private List<HomeLvBean> list;
    private HomeLvAdapter adapter;


    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home_allorder);
        MyApplication.getInstance().addActivity(this);

        handler = new Handler();

        //初始化控件
        initView();

        // 设 置 刷 新 的 布 局 ， 个 性 化 定 制
        init_ptrListView_LoadingLayout();

        //绑定适配器
        bindAdapter();

        //设置上拉刷新和下拉刷新
        initData();
    }

    private void initView() {
        tv_title_left = (TextView) findViewById(R.id.tv_title_left);
        tv_title = (TextView) findViewById(R.id.tv_title);
        home_search_refreshlv = (PullToRefreshListView) findViewById(R.id.home_search_refreshlv);

        tv_title_left.setVisibility(View.VISIBLE);
        tv_title.setVisibility(View.GONE);


        tv_title_left.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
    }

    private void init_ptrListView_LoadingLayout() {
        // 代 理 模 式 的 应 用 ； 返 回 下 拉 、 上 拉 布 局 的 代 理 对 象 ， 用 来 控 制 相 应 上 拉 、 下 拉 布 局 的 显 示 状 态 ；
        ILoadingLayout loadingLayoutProxy = home_search_refreshlv.getLoadingLayoutProxy();
        loadingLayoutProxy.setPullLabel("使劲拉 使劲拉……");
        loadingLayoutProxy.setReleaseLabel("松手就刷新啦 松手就刷新啦……");
        loadingLayoutProxy.setRefreshingLabel("拼命刷新 拼命刷新……");
        String time = DateUtils.formatDateTime(this, System.currentTimeMillis(), DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_ABBREV_MONTH);
        // 显 示 刷 新 时 间
        loadingLayoutProxy.setLastUpdatedLabel(time);
        Drawable drawable = getResources().getDrawable(R.drawable.frame_head);
        // 设 置 加 载 时 的 动 画 效 果
        loadingLayoutProxy.setLoadingDrawable(drawable);
    }

    private void bindAdapter() {
        list = new ArrayList<HomeLvBean>();
        for(int i = 1;i<=10;i++){
            HomeLvBean homeLvBean = new HomeLvBean("青岛市市北区"+i,"机房供电"+i,"A"+i,i*300,"2016/12/0"+i);
            list.add(homeLvBean);
        }
        adapter = new HomeLvAdapter(list);
        home_search_refreshlv.setAdapter(adapter);

        home_search_refreshlv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                //简单实现跳转    后期需要修改
                startActivity(new Intent(HomeAllOrderActivity.this, OrderDetailActivity.class));
            }
        });
    }


    private void initData() {
        // 设 置 刷 新 模 式 上 拉 ， 下 拉 ， 上 下 都 可 以
        home_search_refreshlv.setMode(PullToRefreshBase.Mode.BOTH);
        // 设 置 监 听
        home_search_refreshlv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            // 向 下 拉 进 行 刷 新
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
                // 模 拟 一 个 联 网 请 求
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        SystemClock.sleep(2000);
                        for (int i = 0; i < 5; i++) {
                            HomeLvBean homeLvBean = new HomeLvBean("青岛市市北区"+i,"机房供电"+i,"A"+i,i*300,"2016/12/0"+i);
                            list.add(0,homeLvBean);
                        }
                        handler.post(new Runnable() {
                            @Override
                            public void run() {
                                // 通 知 adapter 集 合 数 据 已 经 修 改
                                adapter.notifyDataSetChanged();
                                Log.i("TAG","执行到这里了");
                                // 停 止 刷 新 操 作
                                home_search_refreshlv .onRefreshComplete();
                            }
                        });
                    }
                }).start();
            }

            // 向 上 拉 进 行 刷 新 , 就 是 上 拉 加 载            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
                // 模 拟 一 个 联 网 请 求
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        SystemClock.sleep(2000);
                        for (int i = 0; i < 10; i++) {
                            HomeLvBean homeLvBean = new HomeLvBean("青岛市市北区"+i,"机房供电"+i,"A"+i,i*300,"2016/12/0"+i);
                            list.add(homeLvBean);
                        }
                        handler.post(new Runnable() {
                            @Override
                            public void run() {
                                // 通 知 adapter 集 合 数 据 已 经 修 改
                                adapter.notifyDataSetChanged();
                                // 停 止 刷 新 操 作
                                home_search_refreshlv .onRefreshComplete();
                            }
                        });
                    }
                }).start();
            }
        });
    }
}
