package com.example.nanchen.aiyaschoolpush.model; import android.content.Context; import com.example.nanchen.aiyaschoolpush.db.UserDao; import com.example.nanchen.aiyaschoolpush.im.PreferenceManager; import com.hyphenate.easeui.domain.EaseUser; import com.hyphenate.easeui.model.EaseAtMessageHelper; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class DemoModel { UserDao dao = null; protected Context context = null; protected Map valueCache = new HashMap(); public DemoModel(Context ctx){ context = ctx; PreferenceManager.init(context); } public boolean saveContactList(List contactList) { UserDao dao = new UserDao(context); dao.saveContactList(contactList); return true; } public Map getContactList() { UserDao dao = new UserDao(context); return dao.getContactList(); } public void saveContact(EaseUser user){ UserDao dao = new UserDao(context); dao.saveContact(user); } /** * save current username * @param username */ public void setCurrentUserName(String username){ PreferenceManager.getInstance().setCurrentUserName(username); } public String getCurrentUsernName(){ return PreferenceManager.getInstance().getCurrentUsername(); } public void setSettingMsgNotification(boolean paramBoolean) { PreferenceManager.getInstance().setSettingMsgNotification(paramBoolean); valueCache.put(Key.VibrateAndPlayToneOn, paramBoolean); } public boolean getSettingMsgNotification() { Object val = valueCache.get(Key.VibrateAndPlayToneOn); if(val == null){ val = PreferenceManager.getInstance().getSettingMsgNotification(); valueCache.put(Key.VibrateAndPlayToneOn, val); } return (Boolean) (val != null?val:true); } public void setSettingMsgSound(boolean paramBoolean) { PreferenceManager.getInstance().setSettingMsgSound(paramBoolean); valueCache.put(Key.PlayToneOn, paramBoolean); } public boolean getSettingMsgSound() { Object val = valueCache.get(Key.PlayToneOn); if(val == null){ val = PreferenceManager.getInstance().getSettingMsgSound(); valueCache.put(Key.PlayToneOn, val); } return (Boolean) (val != null?val:true); } public void setSettingMsgVibrate(boolean paramBoolean) { PreferenceManager.getInstance().setSettingMsgVibrate(paramBoolean); valueCache.put(Key.VibrateOn, paramBoolean); } public boolean getSettingMsgVibrate() { Object val = valueCache.get(Key.VibrateOn); if(val == null){ val = PreferenceManager.getInstance().getSettingMsgVibrate(); valueCache.put(Key.VibrateOn, val); } return (Boolean) (val != null?val:true); } public void setSettingMsgSpeaker(boolean paramBoolean) { PreferenceManager.getInstance().setSettingMsgSpeaker(paramBoolean); valueCache.put(Key.SpakerOn, paramBoolean); } public boolean getSettingMsgSpeaker() { Object val = valueCache.get(Key.SpakerOn); if(val == null){ val = PreferenceManager.getInstance().getSettingMsgSpeaker(); valueCache.put(Key.SpakerOn, val); } return (Boolean) (val != null?val:true); } public void setDisabledGroups(List groups){ if(dao == null){ dao = new UserDao(context); } List list = new ArrayList(); list.addAll(groups); for(int i = 0; i < list.size(); i++){ if(EaseAtMessageHelper.get().getAtMeGroups().contains(list.get(i))){ list.remove(i); i--; } } dao.setDisabledGroups(list); valueCache.put(Key.DisabledGroups, list); } public List getDisabledGroups(){ Object val = valueCache.get(Key.DisabledGroups); if(dao == null){ dao = new UserDao(context); } if(val == null){ val = dao.getDisabledGroups(); valueCache.put(Key.DisabledGroups, val); } //noinspection unchecked return (List) val; } public void setDisabledIds(List ids){ if(dao == null){ dao = new UserDao(context); } dao.setDisabledIds(ids); valueCache.put(Key.DisabledIds, ids); } public List getDisabledIds(){ Object val = valueCache.get(Key.DisabledIds); if(dao == null){ dao = new UserDao(context); } if(val == null){ val = dao.getDisabledIds(); valueCache.put(Key.DisabledIds, val); } //noinspection unchecked return (List) val; } public void setGroupsSynced(boolean synced){ PreferenceManager.getInstance().setGroupsSynced(synced); } public boolean isGroupsSynced(){ return PreferenceManager.getInstance().isGroupsSynced(); } public void setContactSynced(boolean synced){ PreferenceManager.getInstance().setContactSynced(synced); } public boolean isContactSynced(){ return PreferenceManager.getInstance().isContactSynced(); } public void setBlacklistSynced(boolean synced){ PreferenceManager.getInstance().setBlacklistSynced(synced); } public boolean isBacklistSynced(){ return PreferenceManager.getInstance().isBacklistSynced(); } public void allowChatroomOwnerLeave(boolean value){ PreferenceManager.getInstance().setSettingAllowChatroomOwnerLeave(value); } public boolean isChatroomOwnerLeaveAllowed(){ return PreferenceManager.getInstance().getSettingAllowChatroomOwnerLeave(); } public void setDeleteMessagesAsExitGroup(boolean value) { PreferenceManager.getInstance().setDeleteMessagesAsExitGroup(value); } public boolean isDeleteMessagesAsExitGroup() { return PreferenceManager.getInstance().isDeleteMessagesAsExitGroup(); } public void setAutoAcceptGroupInvitation(boolean value) { PreferenceManager.getInstance().setAutoAcceptGroupInvitation(value); } public boolean isAutoAcceptGroupInvitation() { return PreferenceManager.getInstance().isAutoAcceptGroupInvitation(); } public void setAdaptiveVideoEncode(boolean value) { PreferenceManager.getInstance().setAdaptiveVideoEncode(value); } public boolean isAdaptiveVideoEncode() { return PreferenceManager.getInstance().isAdaptiveVideoEncode(); } public void setPushCall(boolean value) { PreferenceManager.getInstance().setPushCall(value); } public boolean isPushCall() { return PreferenceManager.getInstance().isPushCall(); } public void setRestServer(String restServer){ PreferenceManager.getInstance().setRestServer(restServer); } public String getRestServer(){ return PreferenceManager.getInstance().getRestServer(); } public void setIMServer(String imServer){ PreferenceManager.getInstance().setIMServer(imServer); } public String getIMServer(){ return PreferenceManager.getInstance().getIMServer(); } public void enableCustomServer(boolean enable){ PreferenceManager.getInstance().enableCustomServer(enable); } public boolean isCustomServerEnable(){ return PreferenceManager.getInstance().isCustomServerEnable(); } public void enableCustomAppkey(boolean enable) { PreferenceManager.getInstance().enableCustomAppkey(enable); } public boolean isCustomAppkeyEnabled() { return PreferenceManager.getInstance().isCustomAppkeyEnabled(); } public void setCustomAppkey(String appkey) { PreferenceManager.getInstance().setCustomAppkey(appkey); } public String getCutomAppkey() { return PreferenceManager.getInstance().getCustomAppkey(); } enum Key{ VibrateAndPlayToneOn, VibrateOn, PlayToneOn, SpakerOn, DisabledGroups, DisabledIds } }