home-school-contact-app/文档/Android/app/src/main/java/com/example/nanchen/aiyaschoolpush/model/DemoModel.java

291 lines
8.3 KiB
Java

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<Key,Object> valueCache = new HashMap<Key,Object>();
public DemoModel(Context ctx){
context = ctx;
PreferenceManager.init(context);
}
public boolean saveContactList(List<EaseUser> contactList) {
UserDao dao = new UserDao(context);
dao.saveContactList(contactList);
return true;
}
public Map<String, EaseUser> 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<String> groups){
if(dao == null){
dao = new UserDao(context);
}
List<String> list = new ArrayList<String>();
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<String> 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<String>) val;
}
public void setDisabledIds(List<String> ids){
if(dao == null){
dao = new UserDao(context);
}
dao.setDisabledIds(ids);
valueCache.put(Key.DisabledIds, ids);
}
public List<String> 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<String>) 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
}
}