diff --git a/app/src/main/java/com/kanglai/push/ui/vm/MessageViewModel.java b/app/src/main/java/com/kanglai/push/ui/vm/MessageViewModel.java index a21bfa6..586a520 100644 --- a/app/src/main/java/com/kanglai/push/ui/vm/MessageViewModel.java +++ b/app/src/main/java/com/kanglai/push/ui/vm/MessageViewModel.java @@ -59,7 +59,7 @@ public class MessageViewModel extends ToolbarViewModel { public void refresh(RefreshLayout refresh) { Map localHistoryMsg = HistoryMsgUtil.select(); - if (localHistoryMsg != null) { + if (localHistoryMsg != null && !localHistoryMsg.isEmpty()) { mActivity.mAdapter.refresh(localHistoryMsg.values()); mActivity.mLoadingLayout.showContent(); } else mActivity.mLoadingLayout.showEmpty(); 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 55e1a49..76f216e 100644 --- a/app/src/main/java/com/kanglai/push/util/HistoryMsgUtil.java +++ b/app/src/main/java/com/kanglai/push/util/HistoryMsgUtil.java @@ -9,7 +9,7 @@ import com.kanglai.push.entity.LocalPushChatMsg; import com.kanglai.push.entity.User; import java.lang.reflect.Type; -import java.util.Map; +import java.util.HashMap; import java.util.Objects; import lombok.experimental.UtilityClass; @@ -19,17 +19,17 @@ public class HistoryMsgUtil { private User user = CacheDiskUtils.getInstance().getParcelable(CacheConstant.USER_INFO, User.CREATOR, new User()); - public Map select() { + public HashMap select() { String localHistoryMsgJson = CacheDiskUtils.getInstance().getString(user.getId().concat(user.getUserType()) ,""); - Type type = new TypeToken>(){}.getType(); + 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()) ,""); - Type type = new TypeToken>(){}.getType(); - Map localHistoryMsg = Objects.requireNonNullElse(new Gson().fromJson(localHistoryMsgJson, type), MapUtils.newHashMap()); + Type type = new TypeToken>(){}.getType(); + HashMap 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); @@ -38,8 +38,8 @@ public class HistoryMsgUtil { public void del(String key){ Objects.requireNonNull(key); String localHistoryMsgJson = CacheDiskUtils.getInstance().getString(user.getId().concat(user.getUserType()) ,""); - Type type = new TypeToken>(){}.getType(); - Map localHistoryMsg = Objects.requireNonNullElse(new Gson().fromJson(localHistoryMsgJson, type), MapUtils.newHashMap()); + Type type = new TypeToken>(){}.getType(); + HashMap 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);