From b7834724724d28463d42f2da7b37aeb5b5faf423 Mon Sep 17 00:00:00 2001 From: LiuSiXiang-007 <2535147127@qq.com> Date: Thu, 11 Jan 2024 14:30:02 +0800 Subject: [PATCH] 111 --- .../com/kanglai/push/ui/fragment/MessageFragment.java | 3 ++- .../java/com/kanglai/push/util/HistoryMsgUtil.java | 11 ++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/kanglai/push/ui/fragment/MessageFragment.java b/app/src/main/java/com/kanglai/push/ui/fragment/MessageFragment.java index 9a381e9..6fded20 100644 --- a/app/src/main/java/com/kanglai/push/ui/fragment/MessageFragment.java +++ b/app/src/main/java/com/kanglai/push/ui/fragment/MessageFragment.java @@ -21,6 +21,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.blankj.utilcode.util.CacheDiskUtils; import com.blankj.utilcode.util.CollectionUtils; import com.blankj.utilcode.util.LogUtils; +import com.blankj.utilcode.util.StringUtils; import com.blankj.utilcode.util.Utils; import com.dolphin.core.base.BaseFragment; import com.dolphin.core.bus.RxBus; @@ -87,7 +88,7 @@ public class MessageFragment extends BaseFragment { PushChatMessage pushChatMessage = (PushChatMessage) msg; - if(!TextUtils.isEmpty(pushChatMessage.getFanUserId())) { + if(!TextUtils.isEmpty(pushChatMessage.getFanUserId()) && !StringUtils.equals(pushChatMessage.getFanUserId(), user.getId())) { mViewModel.addLocalHistoryMsg(pushChatMessage.getFanUserId(), pushChatMessage.getText()); } }); diff --git a/app/src/main/java/com/kanglai/push/util/HistoryMsgUtil.java b/app/src/main/java/com/kanglai/push/util/HistoryMsgUtil.java index 3822801..55e1a49 100644 --- a/app/src/main/java/com/kanglai/push/util/HistoryMsgUtil.java +++ b/app/src/main/java/com/kanglai/push/util/HistoryMsgUtil.java @@ -3,10 +3,12 @@ package com.kanglai.push.util; import com.blankj.utilcode.util.CacheDiskUtils; import com.blankj.utilcode.util.MapUtils; import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; import com.kanglai.push.constant.CacheConstant; import com.kanglai.push.entity.LocalPushChatMsg; import com.kanglai.push.entity.User; +import java.lang.reflect.Type; import java.util.Map; import java.util.Objects; @@ -19,13 +21,15 @@ public class HistoryMsgUtil { public Map select() { String localHistoryMsgJson = CacheDiskUtils.getInstance().getString(user.getId().concat(user.getUserType()) ,""); - return (Map) new Gson().fromJson(localHistoryMsgJson, Map.class); + Type type = new TypeToken>(){}.getType(); + return new Gson().fromJson(localHistoryMsgJson, type); } public void put(String key,LocalPushChatMsg value) { Objects.requireNonNull(key); String localHistoryMsgJson = CacheDiskUtils.getInstance().getString(user.getId().concat(user.getUserType()) ,""); - Map localHistoryMsg = Objects.requireNonNullElse((Map) new Gson().fromJson(localHistoryMsgJson, Map.class), MapUtils.newHashMap()); + Type type = new TypeToken>(){}.getType(); + Map localHistoryMsg = Objects.requireNonNullElse(new Gson().fromJson(localHistoryMsgJson, type), MapUtils.newHashMap()); localHistoryMsg.put(key, value); String newLocalHistoryMsgJson = new Gson().toJson(localHistoryMsg); CacheDiskUtils.getInstance().put(user.getId().concat(user.getUserType()), newLocalHistoryMsgJson); @@ -34,7 +38,8 @@ public class HistoryMsgUtil { public void del(String key){ Objects.requireNonNull(key); String localHistoryMsgJson = CacheDiskUtils.getInstance().getString(user.getId().concat(user.getUserType()) ,""); - Map localHistoryMsg = Objects.requireNonNullElse((Map) new Gson().fromJson(localHistoryMsgJson, Map.class), MapUtils.newHashMap()); + Type type = new TypeToken>(){}.getType(); + Map localHistoryMsg = Objects.requireNonNullElse(new Gson().fromJson(localHistoryMsgJson, type), MapUtils.newHashMap()); localHistoryMsg.remove(key); String newLocalHistoryMsgJson = new Gson().toJson(localHistoryMsg); CacheDiskUtils.getInstance().put(user.getId().concat(user.getUserType()), newLocalHistoryMsgJson);