From a583d00d2e629b72cae74864d67168ccb5f71daa Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 28 十二月 2023 21:46:24 +0800
Subject: [PATCH] 2023年12月28日21:46:15

---
 app/src/main/java/com/hdl/photovoltaic/ui/message/AllMessageFragment.java     |    6 +
 app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java    |   41 +++++++++
 app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java             |    2 
 app/src/main/java/com/hdl/photovoltaic/enums/MessageStateType.java            |    5 
 app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java |   20 +++-
 app/src/main/java/com/hdl/photovoltaic/ui/message/RecoverMessageFragment.java |   24 +++--
 app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java         |    7 +
 app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java       |    4 +
 app/src/main/java/com/hdl/photovoltaic/ui/bean/MessageBean.java               |    2 
 app/src/main/java/com/hdl/photovoltaic/enums/MessageAlarmStateType.java       |   19 ++++
 app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java             |   96 +++++++++++++----------
 11 files changed, 157 insertions(+), 69 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java b/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java
index 222e572..add6714 100644
--- a/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java
+++ b/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java
@@ -16,6 +16,8 @@
 
     //all
     public static final String message_function_tab_switch = "message_function_tab_switch";
+    //娑堟伅璀﹀憡瑙e喅鎴栬�呮湭瑙e喅
+    public static final String message_function_push_post = "message_function_push";
     public static final String homepage_title_tab_switch = "homepage_title_tab_switch";
     //缃戠粶鐘舵�佸彂鐢熷彉鍖�
     public static final String network_change_post = "network_change";
diff --git a/app/src/main/java/com/hdl/photovoltaic/enums/MessageAlarmStateType.java b/app/src/main/java/com/hdl/photovoltaic/enums/MessageAlarmStateType.java
new file mode 100644
index 0000000..67c28f2
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/enums/MessageAlarmStateType.java
@@ -0,0 +1,19 @@
+package com.hdl.photovoltaic.enums;
+
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
+import androidx.annotation.StringDef;
+
+import java.lang.annotation.Retention;
+
+
+@Retention(SOURCE)
+@StringDef({MessageAlarmStateType.fault, MessageAlarmStateType.warn, MessageAlarmStateType.event})
+public @interface MessageAlarmStateType {
+    //鏁呴殰
+    String fault = "FAULT";
+    //鍛婅
+    String warn = "WARN";
+    //浜嬩欢
+    String event = "EVENT";
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/enums/MessageStateType.java b/app/src/main/java/com/hdl/photovoltaic/enums/MessageStateType.java
index ec76cf0..2ba489c 100644
--- a/app/src/main/java/com/hdl/photovoltaic/enums/MessageStateType.java
+++ b/app/src/main/java/com/hdl/photovoltaic/enums/MessageStateType.java
@@ -4,18 +4,17 @@
 
 import androidx.annotation.StringDef;
 
-import com.hdl.sdk.link.gateway.type.GatewayMasterType;
 
 import java.lang.annotation.Retention;
 
 @Retention(SOURCE)
-@StringDef({MessageStateType.untreated, MessageStateType.processed})
+@StringDef({MessageStateType.untreated, MessageStateType.processed, MessageStateType.all})
 public @interface MessageStateType {
     //鏈鐞�
     String untreated = "UNTREATED";
     //宸插鐞�
     String processed = "PROCESSED";
-    //宸插鐞�
+    //鍏ㄩ儴
     String all = "ALL";
 
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
index 93f1665..f78b194 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
@@ -41,7 +41,7 @@
     /**
      * 鑾峰彇鍙戠敓涓紦瀛樺垪琛�
      */
-    public List<MessageBean> getRecoverMessageMemoryList() {
+    public List<MessageBean> getNascentMessageMemoryList() {
         if (this.mListMessage == null || this.mListMessage.size() == 0) {
             return new ArrayList<>();
         }
@@ -57,9 +57,9 @@
     }
 
     /**
-     * 鑾峰彇澶勭悊涓紦瀛樺垪琛�
+     * 鑾峰彇鎭㈠涓紦瀛樺垪琛�
      */
-    public List<MessageBean> getNascentMessageMemoryList() {
+    public List<MessageBean> getRecoverMessageMemoryList() {
         if (this.mListMessage == null || this.mListMessage.size() == 0) {
             return new ArrayList<>();
         }
@@ -67,6 +67,7 @@
         for (int i = 0; i < mListMessage.size(); i++) {
             MessageBean messageBean = mListMessage.get(i);
             if (messageBean.getStatus().equals(MessageStateType.processed)) {
+                messageBean.setRead(true);//榛樿宸茶
                 newList.add(messageBean);
             }
 
@@ -78,6 +79,11 @@
         return mListMessage;
     }
 
+    /**
+     * 娣诲姞娑堟伅鍒板垪琛ㄩ噷闈�
+     *
+     * @param list -
+     */
     public void setListMessage(List<MessageBean> list) {
         try {
             if (list == null || list.size() == 0) {
@@ -87,23 +93,37 @@
                 this.mListMessage.addAll(list);
                 return;
             }
-            List<MessageBean> newList = new ArrayList<>();
             for (int i = 0; i < list.size(); i++) {
-                MessageBean messageBean = list.get(i);
-                boolean if_boolean = false;
-                for (int j = 0; j < mListMessage.size(); j++) {
-                    if (mListMessage.get(j).toString().equals(messageBean.getMsgId().toString())) {
-                        mListMessage.remove(j);
-                        mListMessage.add(j, messageBean);
-                        if_boolean = true;
-                        break;
-                    }
-                }
-                if (!if_boolean) {
-                    newList.add(messageBean);
+                this.setListMessage(list.get(i));
+            }
+        } catch (Exception ignored) {
+        }
+    }
+
+    /**
+     * 娣诲姞娑堟伅鍒板垪琛ㄩ噷闈�
+     *
+     * @param messageBean -
+     */
+    public void setListMessage(MessageBean messageBean) {
+        try {
+            if (messageBean == null) {
+                return;
+            }
+            boolean if_boolean = false;
+            for (int i = 0; i < mListMessage.size(); i++) {
+                if (mListMessage.get(i).getMsgId().toString().equals(messageBean.getMsgId().toString())) {
+                    //瀛樺湪鏇挎崲
+                    mListMessage.remove(i);
+                    mListMessage.add(i, messageBean);
+                    if_boolean = true;
+                    break;
                 }
             }
-            this.mListMessage.addAll(newList);
+            if (!if_boolean) {
+                //娌℃湁娣诲姞
+                this.mListMessage.add(messageBean);
+            }
         } catch (Exception ignored) {
         }
     }
@@ -146,7 +166,16 @@
      * @param cloudCallBeak -
      */
     public void getAllMessageList(CloudCallBeak<List<MessageBean>> cloudCallBeak) {
-        getMessageList(MessageStatus.all, cloudCallBeak);
+        getMessageList(MessageStateType.all, cloudCallBeak);
+    }
+
+    /**
+     * 鑾峰彇鎭㈠涓垪琛�
+     *
+     * @param cloudCallBeak -
+     */
+    public void getRecoverMessageList(CloudCallBeak<List<MessageBean>> cloudCallBeak) {
+        getMessageList(MessageStateType.processed, cloudCallBeak);
     }
 
     /**
@@ -154,33 +183,22 @@
      *
      * @param cloudCallBeak -
      */
-    public void getRecoverMessageList(CloudCallBeak<List<MessageBean>> cloudCallBeak) {
-        getMessageList(MessageStatus.untreated, cloudCallBeak);
-    }
-
-    /**
-     * 鑾峰彇澶勭悊涓垪琛�
-     *
-     * @param cloudCallBeak -
-     */
     public void getNascentMessageList(CloudCallBeak<List<MessageBean>> cloudCallBeak) {
-        getMessageList(MessageStatus.processed, cloudCallBeak);
+        getMessageList(MessageStateType.untreated, cloudCallBeak);
     }
 
     /**
      * 鑾峰彇娑堟伅鍒楄〃
      *
-     * @param messageStatus all:鍏ㄩ儴,untreated:鏈鐞�,processed:宸插鐞�;
-     * @param cloudCallBeak -
+     * @param messageStateType all:鍏ㄩ儴,UNTREATED:鏈鐞�,PROCESSED:宸插鐞�;
+     * @param cloudCallBeak    -
      */
-    public void getMessageList(MessageStatus messageStatus, CloudCallBeak<List<MessageBean>> cloudCallBeak) {
+    private void getMessageList(String messageStateType, CloudCallBeak<List<MessageBean>> cloudCallBeak) {
         String requestUrl = HttpApi.POST_Message_List;
         JsonObject json = new JsonObject();
 
-        if (messageStatus == MessageStatus.untreated) {
-            json.addProperty("status", "UNTREATED");//鏈鐞�
-        } else if (messageStatus == MessageStatus.processed) {
-            json.addProperty("status", "PROCESSED");//宸插鐞�
+        if (!MessageStateType.all.equals(messageStateType)) {
+            json.addProperty("status", messageStateType);
         }
         json.addProperty("pageNo", 1);//椤电爜
         json.addProperty("pageSize", 50);//椤垫暟
@@ -315,14 +333,6 @@
 
     }
 
-
-    public enum MessageStatus {
-        all,//鍏ㄩ儴
-        untreated,//鏈鐞�
-        processed,//宸插鐞�
-
-
-    }
 
     static class MessageListClass {
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java
index 7822688..1fcb006 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java
@@ -94,6 +94,10 @@
      * 鏀瑰彉缁勪欢鏍峰紡
      *
      * @param textView    鏄剧ず缁勪欢
+     *                    濡傛灉璁惧浠庢潵娌′笂鎶ヨ繃鏁版嵁鏁版嵁 鐘舵�侊細杩炴帴涓�
+     *                    璁惧鍦ㄧ嚎 浣嗘槸褰撳墠澶勪簬鏁呴殰 鐘舵�侊細鏁呴殰
+     *                    璁惧鍦ㄧ嚎锛堟湁涓婃姤杩囨暟鎹紝娌℃湁鏁呴殰锛�  鐘舵�侊細鍦ㄧ嚎
+     *                    璁惧绂荤嚎 鐘舵�侊細绂荤嚎
      * @param state_value 鐢电珯鐘舵��(1:姝e父(杩愯),2:绂荤嚎,3:杩炴帴涓�,4:鏁呴殰)
      */
     private void setTextViewStyle(TextView textView, int state_value) {
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java
index 973be86..55a9cf4 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java
@@ -12,6 +12,7 @@
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.enums.MessageAlarmStateType;
 import com.hdl.photovoltaic.ui.bean.MessageBean;
 import com.hdl.photovoltaic.utils.TimeUtils;
 
@@ -46,13 +47,13 @@
         holder.item_time_tv.setText(date);
         String type = "";//FAULT:鏁呴殰,WARN:鍛婅,EVENT:浜嬩欢
         Drawable drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300);
-        if (messageBean.getType().equals("FAULT")) {
+        if (messageBean.getType().equals(MessageAlarmStateType.fault)) {
             type = mContext.getString(R.string.my_power_station_malfunction);
             drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_e34343);
-        } else if (messageBean.getType().equals("WARN")) {
+        } else if (messageBean.getType().equals(MessageAlarmStateType.warn)) {
             type = mContext.getString(R.string.message_alarm);
             drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300);
-        } else if (messageBean.getType().equals("EVENT")) {
+        } else if (messageBean.getType().equals(MessageAlarmStateType.event)) {
             type = "浜嬩欢";
             drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300);
         }
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/MessageBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/MessageBean.java
index abed74b..5e2f030 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/MessageBean.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/MessageBean.java
@@ -26,7 +26,7 @@
     private String address;//璇︾粏鍦板潃
 
 
-    private boolean isRead;//鏄惁宸茬粡璇诲彇
+    private boolean isRead;//鏄惁宸茬粡璇诲彇(true=璇诲彇)
 
     private HouseInfoBean.Location location = new HouseInfoBean.Location();//鐢电珯鍦板潃
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/AllMessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/AllMessageFragment.java
index 309502c..fe7d003 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/AllMessageFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/AllMessageFragment.java
@@ -12,6 +12,7 @@
 import com.hdl.photovoltaic.config.ConstantManage;
 import com.hdl.photovoltaic.databinding.FragmentMessageAllBinding;
 import com.hdl.photovoltaic.enums.MessageFunctionTabSwitch;
+import com.hdl.photovoltaic.enums.MessageStateType;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
 import com.hdl.photovoltaic.other.HdlCommonLogic;
 import com.hdl.photovoltaic.other.HdlLogLogic;
@@ -79,6 +80,9 @@
             messageAllAdapter.setNoOnclickListener(new MessageAdapter.OnclickListener() {
                 @Override
                 public void onClick(int position, MessageBean item) {
+                    if (position < 0 || position > mList.size()) {
+                        return;
+                    }
                     Intent intent = new Intent();
                     intent.putExtra("msgId", item.getMsgId().toString());
                     intent.setClass(_mActivity, MessageInfoActivity.class);
@@ -128,7 +132,7 @@
             if (isShowLoading) {
                 showLoading();
             }
-            HdlMessageLogic.getInstance().getMessageList(HdlMessageLogic.MessageStatus.all, new CloudCallBeak<List<MessageBean>>() {
+            HdlMessageLogic.getInstance().getAllMessageList(new CloudCallBeak<List<MessageBean>>() {
                 @Override
                 public void onSuccess(List<MessageBean> list) {
                     if (isShowLoading) {
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java
index 044b216..9dfa792 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java
@@ -10,12 +10,18 @@
 import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
+import com.hdl.photovoltaic.config.ConstantManage;
 import com.hdl.photovoltaic.databinding.ActivityMessageInfoBinding;
+import com.hdl.photovoltaic.enums.MessageAlarmStateType;
+import com.hdl.photovoltaic.enums.MessageStateType;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
 import com.hdl.photovoltaic.other.HdlMessageLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hdl.photovoltaic.ui.bean.MessageBean;
 import com.hdl.photovoltaic.utils.TimeUtils;
+import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
+
+import org.greenrobot.eventbus.EventBus;
 
 /**
  * 娑堟伅璇︽儏
@@ -76,18 +82,24 @@
 
                         String type = "";//FAULT:鏁呴殰,WARN:鍛婅,EVENT:浜嬩欢
                         Drawable drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_ffb300);
-                        if (mMessageBean.getType().equals("FAULT")) {
+                        if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) {
                             type = _mActivity.getString(R.string.my_power_station_malfunction);
                             drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_e34343);
-                        } else if (mMessageBean.getType().equals("WARN")) {
+                        } else if (mMessageBean.getType().equals(MessageAlarmStateType.warn)) {
                             type = _mActivity.getString(R.string.message_alarm);
                             drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_ffb300);
-                        } else if (mMessageBean.getType().equals("EVENT")) {
+                        } else if (mMessageBean.getType().equals(MessageAlarmStateType.event)) {
                             type = "浜嬩欢";
                             drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_ffb300);
                         }
                         viewBinding.messageInfoAlarmStateTv.setText(type);
                         viewBinding.messageInfoAlarmStateTv.setBackground(drawable);
+
+                        if (mMessageBean.getStatus().equals(MessageStateType.processed)) {
+                            //宸茬粡瑙e喅鎺夌殑闅愯棌
+                            viewBinding.messageInfoBackTv.setVisibility(View.GONE);
+                            viewBinding.messageInfoSolveTv.setVisibility(View.GONE);
+                        }
                     }
                 });
             }
@@ -104,6 +116,16 @@
         viewBinding.toolbarTopIn.topBackBtn.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                //鎭㈠杩涙潵鍙槸鏌ョ湅鐨�
+                if (mMessageBean.getStatus().equals(MessageStateType.untreated)) {
+                    mMessageBean.setRead(true);
+                    mMessageBean.setStatus(MessageStateType.untreated);
+                    HdlMessageLogic.getInstance().setListMessage(mMessageBean);
+                    BaseEventBus baseEventBus = new BaseEventBus();
+                    baseEventBus.setTopic(ConstantManage.message_function_push_post);
+                    baseEventBus.setType(MessageStateType.untreated);
+                    EventBus.getDefault().post(baseEventBus);
+                }
                 finish();
             }
         });
@@ -121,7 +143,20 @@
                 HdlMessageLogic.getInstance().getMessageMessageSolve(mMsgId, new CloudCallBeak<Boolean>() {
                     @Override
                     public void onSuccess(Boolean obj) {
+                        //鎭㈠杩涙潵鍙槸鏌ョ湅鐨�
+                        if (mMessageBean.getStatus().equals(MessageStateType.untreated)) {
+                            //閲嶇疆鍙橀噺
+                            mMessageBean.setRead(true);
+                            mMessageBean.setStatus(MessageStateType.processed);
+                            HdlMessageLogic.getInstance().setListMessage(mMessageBean);
+                            BaseEventBus baseEventBus = new BaseEventBus();
+                            baseEventBus.setTopic(ConstantManage.message_function_push_post);
+                            baseEventBus.setType(MessageStateType.processed);
+                            EventBus.getDefault().post(baseEventBus);
+                        }
                         finish();
+
+
                     }
 
                     @Override
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java
index d1016fd..a04dbdf 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java
@@ -7,15 +7,14 @@
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
 
-import com.google.gson.Gson;
 import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseFragment;
 import com.hdl.photovoltaic.config.ConstantManage;
 import com.hdl.photovoltaic.databinding.FragmentNascentMessageBinding;
 import com.hdl.photovoltaic.enums.MessageFunctionTabSwitch;
+import com.hdl.photovoltaic.enums.MessageStateType;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
-import com.hdl.photovoltaic.other.HdlCommonLogic;
 import com.hdl.photovoltaic.other.HdlMessageLogic;
 import com.hdl.photovoltaic.ui.adapter.MessageAdapter;
 import com.hdl.photovoltaic.ui.bean.MessageBean;
@@ -43,7 +42,7 @@
     @Override
     public void onBindView(Bundle savedInstanceState) {
         //鍒濆鍖栨暟鎹�
-        initData();
+//        initData();
         //鍒濆鍖栫晫闈�
         initView();
         //鍒濆鍖栫洃鍚櫒
@@ -51,7 +50,8 @@
     }
 
     private void initData() {
-        getNascentMessageList(true);
+        mList.clear();
+        mList.addAll(HdlMessageLogic.getInstance().getNascentMessageMemoryList());
     }
 
     private void initEvent() {
@@ -67,6 +67,9 @@
         messageNascentAdapter.setNoOnclickListener(new MessageAdapter.OnclickListener() {
             @Override
             public void onClick(int position, MessageBean item) {
+                if (position < 0 || position > mList.size()) {
+                    return;
+                }
                 Intent intent = new Intent();
                 intent.putExtra("msgId", item.getMsgId().toString());
                 intent.setClass(_mActivity, MessageInfoActivity.class);
@@ -98,7 +101,14 @@
         //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢
         if (eventBus.getTopic().equals(ConstantManage.message_function_tab_switch)) {
             if (eventBus.getType().equals(MessageFunctionTabSwitch.nascent.toString())) {
+                initData();
                 getNascentMessageList(true);
+            }
+
+        } else if (eventBus.getTopic().equals(ConstantManage.message_function_push_post)) {
+            if (eventBus.getType().equals(MessageStateType.untreated)) {
+                initData();
+                updateListData();
             }
         }
     }
@@ -113,7 +123,7 @@
             if (isShowLoading) {
                 showLoading();
             }
-            HdlMessageLogic.getInstance().getMessageList(HdlMessageLogic.MessageStatus.untreated, new CloudCallBeak<List<MessageBean>>() {
+            HdlMessageLogic.getInstance().getNascentMessageList(new CloudCallBeak<List<MessageBean>>() {
                 @Override
                 public void onSuccess(List<MessageBean> list) {
                     if (isShowLoading) {
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/RecoverMessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/RecoverMessageFragment.java
index b45b1d5..e2216c4 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/RecoverMessageFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/RecoverMessageFragment.java
@@ -13,6 +13,7 @@
 import com.hdl.photovoltaic.config.ConstantManage;
 import com.hdl.photovoltaic.databinding.FragmentRecoverMessageBinding;
 import com.hdl.photovoltaic.enums.MessageFunctionTabSwitch;
+import com.hdl.photovoltaic.enums.MessageStateType;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
 import com.hdl.photovoltaic.other.HdlLogLogic;
 import com.hdl.photovoltaic.other.HdlMessageLogic;
@@ -44,7 +45,7 @@
     public void onBindView(Bundle savedInstanceState) {
 
         //鍒濆鍖栨暟鎹�
-        initData();
+//        initData();
         //鍒濆鍖栫晫闈�
         initView();
         //鍒濆鍖栫洃鍚櫒
@@ -52,14 +53,8 @@
     }
 
     private void initData() {
-//        for (int i = 0; i < 2; i++) {
-//            MessageBean messageBean = new MessageBean();
-////            messageBean.setContent("鏉ヤ簡涓�鏉″憡璀︿俊鎭�" + i);
-//            messageBean.setHomeName(i + "");
-////            messageBean.setTime("2023-12-06-15");
-//            messageBean.setRead(false);
-//            mList.add(messageBean);
-//        }
+        mList.clear();
+        mList.addAll(HdlMessageLogic.getInstance().getRecoverMessageMemoryList());
     }
 
     private void initEvent() {
@@ -76,6 +71,9 @@
         messageRecoverAdapter.setNoOnclickListener(new MessageAdapter.OnclickListener() {
             @Override
             public void onClick(int position, MessageBean item) {
+                if (position < 0 || position > mList.size()) {
+                    return;
+                }
                 Intent intent = new Intent();
                 intent.putExtra("msgId", item.getMsgId().toString());
                 intent.setClass(_mActivity, MessageInfoActivity.class);
@@ -108,7 +106,13 @@
         if (eventBus.getTopic().equals(ConstantManage.message_function_tab_switch)) {
             if (eventBus.getType().equals(MessageFunctionTabSwitch.recover.toString())) {
                 HdlLogLogic.print("姝e湪鐐瑰嚮銆愬凡鎭㈠銆�");
+                initData();
                 getRecoverMessageList(true);
+            }
+        } else if (eventBus.getTopic().equals(ConstantManage.message_function_push_post)) {
+            if (eventBus.getType().equals(MessageStateType.processed)) {
+                initData();
+                updateListData();
             }
         }
     }
@@ -125,7 +129,7 @@
             if (isShowLoading) {
                 showLoading();
             }
-            HdlMessageLogic.getInstance().getMessageList(HdlMessageLogic.MessageStatus.processed, new CloudCallBeak<List<MessageBean>>() {
+            HdlMessageLogic.getInstance().getRecoverMessageList(new CloudCallBeak<List<MessageBean>>() {
                 @Override
                 public void onSuccess(List<MessageBean> list) {
                     if (isShowLoading) {

--
Gitblit v1.8.0