package com.txsc.fragment;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import lib.view.ViewUtils;
import lib.view.annotation.ViewInject;
import com.barcode.CaptureAty;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener;
import com.handmark.pulltorefresh.library.PullToRefreshScrollView;
import com.txsc.NetFragment;
import com.txsc.R;
import com.txsc.activity.Goods_SearchAty;
import com.txsc.activity.My_CollectListAty;
import com.txsc.activity.My_OrderListAty;
import com.txsc.activity.User_LoginAty;
import com.txsc.adapter.Home_ListAdapter;
import com.txsc.bean.AgentAreaBean;
import com.txsc.bean.AryNetResultBean;
import com.txsc.bean.HomeGoodsListBean;
import com.txsc.cache.CacheManager;
import com.txsc.constants.Url;
import com.txsc.utils.JsonUtils;
import com.txsc.utils.MD5;
import com.txsc.utils.SPUtils;
import com.txsc.utils.TextUtils;
import com.txsc.utils.ToastUtil;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.ScrollView;
import android.widget.TextView;
/**
* 主界面
*
* @author Admin
*
*/
public class Main_HomeFrag extends NetFragment {
@ViewInject(R.id.p1_text_press_search)
private TextView btnSearch;
@ViewInject(R.id.p1_fresh_main_home)
private PullToRefreshScrollView ptrScroll;
@ViewInject(R.id.p1_line_my_hot)
private LinearLayout llHot;
@ViewInject(R.id.p1_line_my_oftenbuy)
private LinearLayout llOftenBuy;
@ViewInject(R.id.p1_line_my_order)
private LinearLayout llMyOrder;
@ViewInject(R.id.p1_line_my_collect)
private LinearLayout llMyCollect;
@ViewInject(R.id.p1_img_press_scan)
private ImageView imgScan;
@ViewInject(R.id.p1_lv_goods_list)
private ListView lv_Goods;
private List<HomeGoodsListBean> list;
private Home_ListAdapter adapter;
private String agentId;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.p1_main_home_layout, null);
ViewUtils.inject(this, v);
agentId = SPUtils.getAgentID(getActivity());
list = new ArrayList<HomeGoodsListBean>();
adapter = new Home_ListAdapter(getActivity(), list);
lv_Goods.setAdapter(adapter);
ptrScroll.setOnRefreshListener(new OnRefreshListener<ScrollView>() {
@Override
public void onRefresh(PullToRefreshBase<ScrollView> refreshView) {
ptrScroll.postDelayed(new Runnable() {
@Override
public void run() {
ptrScroll.onRefreshComplete();
initNet(0);
}
}, 10);
}
});
if (agentId.equals("")) {
getAreaAgent();
} else {
initNet(1);
}
btnSearch.setOnClickListener(this);
imgScan.setOnClickListener(this);
llHot.setOnClickListener(this);
llOftenBuy.setOnClickListener(this);
llMyOrder.setOnClickListener(this);
llMyCollect.setOnClickListener(this);
return v;
}
private void getAreaAgent() {
HashMap<String, String> params = new HashMap<String, String>();
params.put("port_password", MD5.getMD5ofStr(Url.KET));
asynNet(Url.Get_AreaList, params, 1);
}
private void initNet(int tt) {
if (tt == 1
&& CacheManager.isExistDataCache(getActivity(), "_homelist")
&& !CacheManager.isCacheDataFailure(getActivity(),
"_homelist")) {
String result = (String) CacheManager.readObject(getActivity(),
"_homelist");
success(result, 0);
} else {
HashMap<String, String> params = new HashMap<String, String>();
params.put("top", 2 + "");
params.put("agent_id", agentId);
params.put("port_password", MD5.getMD5ofStr(Url.KET + agentId));
asynNet(Url.Home_GoodsList, params, 0);
}
}
@Override
public void onclick(View v) {
if (v == btnSearch) {
Intent intent = new Intent(getActivity(), Goods_SearchAty.class);
startActivity(intent);
} else if (v == llMyOrder) {
if (TextUtils.isBlank(SPUtils.getUid(getActivity()))) {
ToastUtil.show(getActivity(), "抱歉,您还未登录,请登录", 500);
Intent intent = new Intent(getActivity(), User_LoginAty.class);
startActivity(intent);
return;
}
Intent intent = new Intent(getActivity(), My_OrderListAty.class);
startActivity(intent);
} else if (v == llHot || v == llOftenBuy) {
ToastUtil.show(getActivity(), "功能尚未开放", 500);
} else if (v == llMyCollect) {
if (TextUtils.isBlank(SPUtils.getUid(getActivity()))) {
ToastUtil.show(getActivity(), "抱歉,您还未登录,请登录", 500);
Intent intent = new Intent(getActivity(), User_LoginAty.class);
startActivity(intent);
return;
}
Intent intent = new Intent(getActivity(), My_CollectListAty.class);
startActivity(intent);
} else if (v == imgScan) {
if (TextUtils.isBlank(SPUtils.getUid(getActivity()))) {
ToastUtil.show(getActivity(), "抱歉,您还未登录,请登录", 500);
Intent intent = new Intent(getActivity(), User_LoginAty.class);
startActivity(intent);
return;
}
Intent intent = new Intent(getActivity(), CaptureAty.class);
startActivity(intent);
}
}
@Override
public void success(String result, int tag) {
AryNetResultBean netBean = JsonUtils.parseAryNetResult(result);
if (netBean.getStatus().getCode() == 200) {
if (tag == 0) {
List<HomeGoodsListBean> lists = JsonUtils
.parseHomeGoodsList(netBean.getBackinfo().toString());
/**
* 遍历去掉没有商品的HomeGoodsListBean
*/
List<HomeGoodsListBean> list2 = new ArrayList<HomeGoodsListBean>();
for (HomeGoodsListBean homeGoodsListBean : lists) {
if (homeGoodsListBean.getGoodsList().size() != 0) {
list2.add(homeGoodsListBean);
}
}
adapter.clearData();
adapter.addData(list2);
adapter.notifyDataSetChanged();
if (list2.size() != 0) {
CacheManager.saveObject(getActivity(), result, "_homelist");
}
} else if (tag == 1) {
final List<AgentAreaBean> list = JsonUtils
.parseAgentAreaList(netBean.getBackinfo().toString());
String[] str = new String[list.size()];
for (int i = 0; i < str.length; i++) {
str[i] = list.get(i).getAreaCaption();
}
str[0] += "(默认)";
new AlertDialog.Builder(getActivity()).setTitle("请选择地区")
.setItems(str, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
SPUtils.saveAgentID(getActivity(),
list.get(which).getTAgentID());
agentId = list.get(which).getTAgentID();
initNet(1);
}
}).setNegativeButton("取消", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
SPUtils.saveAgentID(getActivity(), list.get(0)
.getTAgentID());
agentId = list.get(0).getTAgentID();
initNet(1);
}
}).create().show();
}
} else {
ToastUtil
.show(getActivity(), netBean.getStatus().getMessage(), 500);
}
}
}