/**
*
*/
package coolbuy360.logic;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import android.content.Context;
import android.content.SharedPreferences;
/**
* ֪ͨ״̬���ù���
* @author yangxc
*
*/
public class NoticeStateConfig {
protected static final String PREFS_FILE = "notice_state_config";
//
public static final String Message_LastVisite = "Message_LastVisite";
//
public static final String Dissertation_LastVisite = "Dissertation_LastVisite";
//
public static final String Message_LastReceive = "Message_LastReceive";
public static final String News_LastVisite = "News_LastVisite";
//
public static final String Dissertation_LastReceive = "Dissertation_LastReceive";
public static final String News_LastReceive = "News_LastReceive";
//
public static final String Message_HasNew = "Message_HasNew";
//
public static final String Dissertation_HasNew = "Dissertation_HasNew";
// public static final String Function_HasNew = "Dissertation_HasNew";
//
public static final String Message_IsVisited = "Message_IsVisited";
//
public static final String Dissertation_IsVisited = "Dissertation_IsVisited";
//
public static final String HealthReport_IsVisited = "HealthReport_IsVisited";
//
public static final String Column0_HasNew = "Column0_HasNew";
//
public static final String Column1_HasNew = "Column1_HasNew";
//
public static final String Column2_HasNew = "Column2_HasNew";
//
public static final String Column3_HasNew = "Column3_HasNew";
//
public static final String News_IsVisited = "News_IsVisited";
//�ļ��Ƿ���
public static final String Config_IsCreated = "Config_IsCreated";
protected static String _isCreated = null;
private Context _context;
protected static Map<String, String> _configs = new HashMap<String, String>();
protected static Map<String, String> _defaultValues = new HashMap<String, String>()
{
{
put(Config_IsCreated, "true");
put(Message_LastVisite, "2013-12-09 00:00:00");
put(Dissertation_LastVisite, "2013-12-09 00:00:00");
put(News_LastVisite, "2013-12-09 00:00:00");
put(Message_LastReceive, "2013-12-09 00:00:00");
put(Dissertation_LastReceive, "2013-12-09 00:00:00");
put(News_LastReceive, "2013-12-09 00:00:00");
put(Message_HasNew, "0");
put(Dissertation_HasNew, "0");
put(Message_IsVisited, "1");
put(Dissertation_IsVisited, "1");
put(News_IsVisited, "0");
put(HealthReport_IsVisited, "0");
put(Column0_HasNew, "0");
put(Column1_HasNew, "0");
put(Column2_HasNew, "0");
put(Column3_HasNew, "0");
}
};
/**
* ʵ����AppConfig
* @param context ����getbaseContext()
*/
public NoticeStateConfig(Context context)
{
_context = context;
if(_isCreated == null)
{
synchronized (NoticeStateConfig.class)
{
if(_isCreated == null)
{
final SharedPreferences prefs = context.getSharedPreferences(PREFS_FILE, 0);
_isCreated = prefs.getString(Config_IsCreated, null);
if(_isCreated == null)
{
Set keysSet = _defaultValues.keySet();
Iterator iterator = keysSet.iterator();
while(iterator.hasNext())
{
String key = iterator.next().toString();//key
String value = _defaultValues.get(key);//value
_configs.put(key, value);
//��ֵд�������ļ�
prefs.edit().putString(key, value).commit();
}
_isCreated = "true";
}
}
}
}
}
public static void setValue(Context context, String key, String value)
{
synchronized (AppConfig.class)
{
final SharedPreferences prefs = context.getSharedPreferences(PREFS_FILE, 0);
_configs.put(key, value);
prefs.edit().putString(key, value).commit();
}
}
public void setValue(String key, String value)
{
synchronized (AppConfig.class)
{
final SharedPreferences prefs = _context.getSharedPreferences(PREFS_FILE, 0);
_configs.put(key, value);
prefs.edit().putString(key, value).commit();
}
}
/**
* ����App���õ�ֵ
* @param context ��getbaseContext()
* @param values ���õļ�ֵ����
*/
public static void setValues(Context context, Map<String, String> values)
{
synchronized (AppConfig.class)
{
final SharedPreferences prefs = context.getSharedPreferences(PREFS_FILE, 0);
Set keysSet = values.keySet();
Iterator iterator = keysSet.iterator();
while(iterator.hasNext())
{
String key = iterator.next().toString();//key
String value = values.get(key);//value
_configs.put(key, value);
//��ֵд�������ļ�
prefs.edit().putString(key, value).commit();
}
}
}
/**
* ����App���õ�ֵ
* @param values ���õļ�ֵ����
*/
public void setValues(Map<String, String> values)
{
synchronized (AppConfig.class)
{
final SharedPreferences prefs = _context.getSharedPreferences(PREFS_FILE, 0);
Set keysSet = values.keySet();
Iterator iterator = keysSet.iterator();
while(iterator.hasNext())
{
String key = iterator.next().toString();//key
String value = values.get(key);//value
_configs.put(key, value);
//��ֵд�������ļ�
prefs.edit().putString(key, value).commit();
}
}
}
/**
* ��ȡApp���õ�ֵ
* @param context ��getbaseContext()
* @param key
* @return
*/
public static String getValue(Context context, String key)
{
String value = _configs.get(key);
if(value==null)
{
synchronized(AppConfig.class)
{
final SharedPreferences prefs = context.getSharedPreferences(PREFS_FILE, 0);
//�������ļ���ȡ���õ�ֵ
value = prefs.getString(key, _defaultValues.get(key));
_configs.put(key, value);
}
}
return value;
}
/**
* ��ȡ����������Ŀ״̬�Ƿ����µ�����
* @return
* ����һ�����µ����ţ���Ϊ1������0
*/
public static String getNewsAllState(Context context)
{
String column0=getValue(context,Column0_HasNew);
String column1=getValue(context,Column1_HasNew);
String column2=getValue(context,Column2_HasNew);
String column3=getValue(context,Column3_HasNew);
if(column0.equals("1")||column1.equals("1")||column2.equals("1")||column3.equals("1"))
{
return "1";
}
else
{
return "0";
}
}
/**
* ��ȡtab���С����ࡱ�Ƿ���Ҫ��ʾ����������������κ�һ��item���µ�״̬������ʾ����
* @return
* ���ר�����������һ�����µ�״̬����������Ϣû�б����ʹ���
* ��Ϊ1������0
*/
public static String getMoreAllState(Context context)
{
String dissertation_HasNew=getValue(context,Dissertation_HasNew);
if(getNewsAllState(context).equals("1")||dissertation_HasNew.equals("1"))
{
return "1";
}
else
{
return "0";
}
}
/**
* ��ȡApp���õ�ֵ
* @param key
* @return
*/
public String getValue(String key)
{
String value = _configs.get(key);
if(value==null)
{
synchronized(AppConfig.class)
{
final SharedPreferences prefs = _context.getSharedPreferences(PREFS_FILE, 0);
//�������ļ���ȡ���õ�ֵ
value = prefs.getString(key, _defaultValues.get(key));
_configs.put(key, value);
}
}
return value;
}
/**
* ��ȡ��������
* @return
*/
public Map<String, String> getAll()
{
synchronized(AppConfig.class)
{
final SharedPreferences prefs = _context.getSharedPreferences(PREFS_FILE, 0);
//�������ļ���ȡ���õ�ֵ
Map<String, String> allconfigs = (Map<String, String>) prefs.getAll();
_configs.putAll(allconfigs);
}
return _configs;
}
}