package com.threeH.MyExhibition.tools;
import android.content.Context;
import com.google.gson.Gson;
import com.threeH.MyExhibition.cache.XmlDB;
import com.threeH.MyExhibition.common.StringPools;
import com.threeH.MyExhibition.entities.Exhibition;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
* Created with IntelliJ IDEA.
* User: pjq
* Date: 13-7-31
* Time: 上午11:43
* To change this template use File | Settings | File Templates.
*/
public class MyExhibitionListUtil {
private String mJsonData;
private Exhibition[] mMyExhibitons;
private List<Object> mList;
private List<HashMap<String,String>> mListMyexhibiton =
new ArrayList<HashMap<String, String>>();
private static MyExhibitionListUtil instance;
private Context mContext;
public static MyExhibitionListUtil getInstance(Context context) {
if(instance == null){
synchronized (MyExhibitionListUtil.class){
instance = new MyExhibitionListUtil(context);
}
}
return instance;
}
public MyExhibitionListUtil(Context mContext) {
this.mContext = mContext;
}
/**
* 加载本地存储的我的展会的数据
*/
public void initMyExhiibitonList(){
mListMyexhibiton.clear();
mJsonData = XmlDB.getInstance(mContext).
getKeyStringValue(StringPools.SIGNUP_EXHIBITION_DATA, "");
mMyExhibitons =
new Gson().fromJson(mJsonData, Exhibition[].class);
mList =
SharedPreferencesUtil.getObject(mContext, StringPools.SCAN_EXHIBITION_DATA);
if(mList != null){
for(Object object : mList){
addToList(((Exhibition)object).getExKey());
}
}
if(mMyExhibitons != null){
for(Exhibition exhibition : mMyExhibitons){
addToList(exhibition.getExKey());
}
}
}
/**
* 添加到我的展会列表
* @param exKey
*/
private void addToList(String exKey){
HashMap<String,String> map =new HashMap<String,String>();
map.put("exhibitionExkey",exKey);
mListMyexhibiton.add(map);
}
/**
* 判断该展会是否已经存在在我的展会列表中
* @param exkey 展会标识
* @return 存在返回true 不存在返回false
*/
public boolean isMyExhibiton(String exkey){
for (HashMap<String, String> hashMap : mListMyexhibiton) {
if (hashMap.get("exhibitionExkey").contains(exkey)) {
return true;
}
}
return false;
}
}