ImTempData.java 1.63 KB
Newer Older
konghaorui committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
package com.yidianling.im.preference;

import com.netease.nimlib.sdk.msg.model.IMMessage;

import java.util.HashMap;
import java.util.Map;

/**
 * 保存聊天临时数据,有人@我时,临时保存此消息
 * Created by hgw on 2017/4/21.
 */

public class ImTempData {

    private static ImTempData imTempData;

    private Map<String,String> tempMap;


    // 暂存@消息,当RecentContact 监听回来时使用,结束后清掉
    private Map<String, IMMessage> cacheMessages = new HashMap<>();

    public synchronized static ImTempData getInstance(){
        if (imTempData==null){
            imTempData = new ImTempData();
        }
        return imTempData;
    }

    private ImTempData(){
        tempMap = new HashMap<>();
    }

    //添加草稿箱消息
    public void addTempMsg(String uid, String content){
        if (content==null || content.equals("")){
            tempMap.remove(uid);
        }else {
            tempMap.put(uid,content);
        }
//        //通知消息列表更新数据
//        EventBus.getDefault().post();
    }
    //获取草稿箱消息
    public String getTempMsg(String uid){
        return tempMap.get(uid);
    }
    //移除草稿箱消息
    public void removeTempMsg(String uid){
        tempMap.remove(uid);
    }

    //添加@消息
    public void addAitMsg(IMMessage imMessage) {
        cacheMessages.put(imMessage.getSessionId(), imMessage);
    }
    //获取@消息
    public IMMessage getAitMsg(String sessionId){
        return cacheMessages.get(sessionId);
    }
    //移除@消息
    public void removeAitMsg(String sessionId){
        cacheMessages.remove(sessionId);
    }
}