package com.mfh.comna.bizz.msg; import android.app.Activity; import android.content.SharedPreferences; import com.mfh.comna.bizz.BizApplication; import com.mfh.comna.api.utils.StringUtils; import com.mfh.comna.comn.database.dao.FileNetDao; import com.mfh.comna.view.img.FineImgView; import java.util.Calendar; /** * Created by Administrator on 14-5-8. */ public class MsgConstants { public static String SP_NAME = "app.emb.session"; public static SharedPreferences spSession = BizApplication.getAppContext().getSharedPreferences(SP_NAME, Activity.MODE_PRIVATE); public static final String ACTION_MSG_SERVERERROR = "action.msg.servererr";//消息服务器服务异常,但网络正常 public static final String ACTION_DOWNLOAD_FINISH = "action.download.finish";//第一次开始下载消息会话事件 public static final String ACTION_REFRESH_ALLUNREAD = "action.refresh.unReadCount";//发送刷新所有未读个数事件 public static final String ACTION_REFRESH_SESSIONUNREAD = "action.refresh.session.unReadCount";//发送刷新会话未读个数事件 public static final String ACTION_RECEIVE_MSG = "action.receive.newMsg";//接收到新消息 public static final String ACTION_RECEIVE_MSG_BACK = "action.receiver.background";//接受到新的消息,后台发消息提示使用 public static final String ACTION_RECEIVE_SESSION = "action.receive.newSession";//接收到新消息列表 public static final String ACTION_BEGIN_INPUT = "action.begin.input";//开始输入 public static final String ACTION_HIDE_MEDIAINPUT = "action.hide.media";//隐藏媒体录入 public static final String ACTION_SEND_MSG = "action.send.msg";//隐藏媒体录入 public static final String ACTION_SORT_SCOLL_UNREAD_MSG = "action.sort.scoll.unread.msg";//调转到未读消息 public static final String ACTION_SAVE_FINISH = "action.save.finish";// 服务组对话保存完成 public static final String ACTION_DIALOG_MISS = "action.dialog.miss";//消息里的消灭dialog public static final String GE_TUI_MSG_SHOW = "ge.tui.msg.show";//个推消息的显示 public static final String ACTION_REFRESH_UNREAD_COUNT_MAIN = "action.refresh.unread.count.main"; public static final String ACTION_APP_ENTER_FOREBACKGROUND = "action.app.enter.foreground";//应用程序进入前台 //intent/bundle 参数 public static final String EXTRA_NAME_SESSION_ID = "sessionId";//会话编号 public static final String PARAM_unReadCount = "unReadCount"; public static final String PARAM_tabIndex = "tabIndex"; public static final int CODE_REQUEST_XIANGCE = 1; public static final int CODE_REQUEST_MATERIAL_LIB = 2; public static final int CODE_WORK_ORDER_ADD_XIANGCE = 3; public static final int CODE_REQUEST_CYY = 4; public static final int MSG_MODE_AREA = 1;//小区模式 public static final int MSG_MODE_APART = 0;//楼管模式 public static final int MSG_MODE_TAX = 2;//税务模式 public static final int MSG_MODE_WORKER = 3;// public static final int MSG_NOTIFICATION = 0;//消息提示 public static final int MSG_NOTIFICATION_SESSIOIN = 1;//会话消息提示 public static final int NOTIFICATION_NEW_MESSAGE = 2;//会话消息提示 public static final int CHANNEL_ID = 68; //类名字符串 public static final String SERVICE_ADD_ACTIVITY_ClASS_NAME = "add_pmc_work_order";//ServiceAddActivity public static String MSG_IMG_DIR = "msgImgDir"; public final static Long SystemSessionId = -1010101010101L; /** * 获取消息图像的文件访问dao对象 * @return */ public static FileNetDao getMsgImgFao() { return FineImgView.getFao(null, MSG_IMG_DIR); } /** * 通过传进来的时间返回翻译时间,如:早上 6:00 * @param time * @param type 类型,昨天,前天是否带后续时间(in,代表是对话里面,带时间,out不带) * @return */ public static String getCaptionTime (String time, String type) { Calendar calendar = Calendar.getInstance(); //获取系统当前时间 //年 String currentYear = String.valueOf(calendar.get(Calendar.YEAR)); String year = time.substring(0, 4); //月 String currentMon = String.valueOf(calendar.get(Calendar.MONTH) + 1); if (currentMon.length() == 1) { currentMon = "0" + currentMon; } String mon = time.substring(5, 7); //日 Integer currentDay = calendar.get(Calendar.DAY_OF_MONTH); String day = time.substring(8, 10); if (day.substring(0, 1).equals(0) && day.length() > 1) day.substring(1); Integer inDay = 0; if (day != null && StringUtils.isDigit(day)) inDay = Integer.valueOf(day); //判断年月是否相等 if (currentMon.equals(mon) && currentYear.equals(year)) { //判断日是否相等 if (currentDay == inDay) { return getCaptionDay(time); } else if (currentDay - 1 == inDay) { if ("in".equals(type))//里面的时间 return "昨天 " + getCaptionDay(time); else//外面的时间 return "昨天"; } else if (currentDay - 2 == inDay) { if ("in".equals(type))//里面的时间 return "前天 " + getCaptionDay(time); else//外面的时间 return "前天"; } } else { return time.substring(5, 16); } return time.substring(5, 16); } public static String getCaptionDay (String time) { String trimTime = time.trim(); //获得时间 String hour = trimTime.substring(11, 13); Integer theHour = Integer.valueOf(hour); if (theHour >= 0 && theHour <= 5) return "凌晨" + trimTime.substring(11, 16); else if (theHour > 5 && theHour <= 11) return "早上" + trimTime.substring(11, 16); else if (theHour > 11 && theHour <= 17) return "下午" + trimTime.substring(11, 16); else if (theHour >18 && theHour <= 23) return "晚上" + trimTime.substring(11, 16); else return time.substring(5, 16); } }