From ecaff4ffd05c630ac32e49daf3b9b8904052b0fe Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期五, 29 十二月 2023 15:16:07 +0800
Subject: [PATCH] 备份一下

---
 app/src/main/java/com/hdl/photovoltaic/ui/message/AllMessageFragment.java     |   54 ++++++++++-------
 app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java        |   14 ++--
 app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java    |   10 +++
 app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java |    9 ++
 app/src/main/java/com/hdl/photovoltaic/ui/message/RecoverMessageFragment.java |   36 +++++++-----
 app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java             |    9 ++-
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java |    6 --
 7 files changed, 83 insertions(+), 55 deletions(-)

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 f78b194..70f0b18 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
@@ -75,7 +75,7 @@
         return newList;
     }
 
-    public List<MessageBean> getListMessage() {
+    public List<MessageBean> getAllMessageList() {
         return mListMessage;
     }
 
@@ -207,8 +207,11 @@
         HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
             @Override
             public void onSuccess(String jsonStr) {
-                if (cloudCallBeak != null) {
-                    cloudCallBeak.onSuccess(new ArrayList<>());
+                if (TextUtils.isEmpty(jsonStr)) {
+                    if (cloudCallBeak != null) {
+                        cloudCallBeak.onSuccess(new ArrayList<>());
+                    }
+                    return;
                 }
                 Gson gson = new Gson();
                 MessageListClass messageListClass = gson.fromJson(jsonStr, MessageListClass.class);
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 8e6431a..09d24c5 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
@@ -17,9 +17,14 @@
 import com.hdl.photovoltaic.other.HdlCommonLogic;
 import com.hdl.photovoltaic.other.HdlLogLogic;
 import com.hdl.photovoltaic.other.HdlMessageLogic;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hdl.photovoltaic.ui.adapter.MessageAdapter;
 import com.hdl.photovoltaic.ui.bean.MessageBean;
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
+
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -52,15 +57,8 @@
     }
 
     private void initData() {
-//        mList.clear();
-//        for (int i = 0; i < 5; 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().getAllMessageList());
     }
 
 
@@ -111,14 +109,22 @@
         }
     }
 
-    @Override
+    @Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
     public void onEventMessage(BaseEventBus eventBus) {
         super.onEventMessage(eventBus);
         //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢
         if (eventBus.getTopic().equals(ConstantManage.message_function_tab_switch)) {
             if (eventBus.getType().equals(MessageFunctionTabSwitch.all.toString())) {
+                initData();
                 getAllMessageList(true);
-                HdlLogLogic.print("姝e湪鐐瑰嚮銆愬叏閮ㄣ��");
+                // 鍙栨秷绮樻�т簨浠�
+                EventBus.getDefault().removeStickyEvent(eventBus);
+            }
+        } else if (eventBus.getTopic().equals(ConstantManage.message_function_push_post)) {
+            if (eventBus.getType().equals(MessageStateType.all)) {
+                //娑堟伅璇︽儏鍥炶皟
+//                initData();
+//                updateListData();
             }
         }
     }
@@ -137,18 +143,22 @@
                 @Override
                 public void onSuccess(List<MessageBean> list) {
 
+                    HdlThreadLogic.runMainThread(new Runnable() {
+                        @Override
+                        public void run() {
+                            if (isShowLoading) {
+                                hideLoading();
+                            }
+                            if (!isShowLoading) {
+                                viewBinding.messageAllSrl.setRefreshing(false);
+                            }
 
-                    if (isShowLoading) {
-                        hideLoading();
-                    }
-                    if (!isShowLoading) {
-                        viewBinding.messageAllSrl.setRefreshing(false);
-                    }
-
-                    if (list != null && list.size() != 0) {
-                        mList.addAll(list);
-                        updateListData();
-                    }
+                            if (list != null && list.size() != 0) {
+                                mList.addAll(list);
+                                updateListData();
+                            }
+                        }
+                    });
                 }
 
                 @Override
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
index ff6ccf9..aa13d48 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
@@ -67,6 +67,7 @@
                 currentIndex = 0;
                 initView();
                 showFragment();
+                postEventBus(MessageFunctionTabSwitch.nascent);
 
             }
         });
@@ -77,6 +78,7 @@
                 currentIndex = 1;
                 initView();
                 showFragment();
+                postEventBus(MessageFunctionTabSwitch.recover);
 
             }
         });
@@ -88,6 +90,7 @@
                 currentIndex = 2;
                 initView();
                 showFragment();
+                postEventBus(MessageFunctionTabSwitch.all);
             }
         });
     }
@@ -116,6 +119,7 @@
             viewBinding.line2V.setVisibility(View.GONE);
             viewBinding.line3V.setVisibility(View.VISIBLE);
         }
+
     }
 
     private void initData() {
@@ -130,7 +134,8 @@
         BaseEventBus baseEventBus = new BaseEventBus();
         baseEventBus.setTopic(ConstantManage.message_function_tab_switch);
         baseEventBus.setType(tabSwitch.toString());
-        EventBus.getDefault().post(baseEventBus);
+        //鍙戦�佺矘鎬т簨浠�(濡傛灉涓嶅彂绮樻�т簨浠朵細閬囧埌涓�涓病鏈夊姞杞藉嚭鏉ョ殑纰庣墖鎺ユ敹涓嶅埌淇℃伅)
+        EventBus.getDefault().postSticky(baseEventBus);
     }
 
 
@@ -183,13 +188,6 @@
         //鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵
         currentFragment = fragmentList.get(currentIndex);
 
-        if (this.currentIndex == 0) {
-            postEventBus(MessageFunctionTabSwitch.nascent);
-        } else if (this.currentIndex == 1) {
-            postEventBus(MessageFunctionTabSwitch.recover);
-        } else if (this.currentIndex == 2) {
-            postEventBus(MessageFunctionTabSwitch.all);
-        }
 
     }
 
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 9dfa792..b17d003 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
@@ -133,6 +133,16 @@
         viewBinding.messageInfoBackTv.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();
             }
         });
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 1bf65a5..1568045 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
@@ -21,6 +21,10 @@
 import com.hdl.photovoltaic.ui.bean.MessageBean;
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
 
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -97,7 +101,7 @@
         }
     }
 
-    @Override
+    @Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
     public void onEventMessage(BaseEventBus eventBus) {
         super.onEventMessage(eventBus);
         //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢
@@ -105,10 +109,13 @@
             if (eventBus.getType().equals(MessageFunctionTabSwitch.nascent.toString())) {
                 initData();
                 getNascentMessageList(true);
+                // 鍙栨秷绮樻�т簨浠�
+                EventBus.getDefault().removeStickyEvent(eventBus);
             }
 
         } else if (eventBus.getTopic().equals(ConstantManage.message_function_push_post)) {
             if (eventBus.getType().equals(MessageStateType.untreated)) {
+                //娑堟伅璇︽儏鍥炶皟
                 initData();
                 updateListData();
             }
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 a9af873..00bded9 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
@@ -17,11 +17,13 @@
 import com.hdl.photovoltaic.listener.CloudCallBeak;
 import com.hdl.photovoltaic.other.HdlLogLogic;
 import com.hdl.photovoltaic.other.HdlMessageLogic;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hdl.photovoltaic.ui.adapter.MessageAdapter;
 import com.hdl.photovoltaic.ui.bean.BUserInfo;
 import com.hdl.photovoltaic.ui.bean.MessageBean;
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
 
+import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
 import org.greenrobot.eventbus.ThreadMode;
 
@@ -70,7 +72,6 @@
                 mList.clear();//琛ㄧず寮哄埗閲嶆柊璇锋眰娑堟伅鍒楄〃
                 updateListData();//娓呯┖涔嬪墠缂撳瓨,鍥犱负閬囧埌涓�涓棶棰樼寷鎷夌殑鏃跺�欐姤閿�;
                 getRecoverMessageList(false);
-                HdlLogLogic.print("RecoverMessageFragment涓嬫媺鍒锋柊", false);
             }
         });
         messageRecoverAdapter.setNoOnclickListener(new MessageAdapter.OnclickListener() {
@@ -104,25 +105,25 @@
         }
     }
 
-    @Override
+    @Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
     public void onEventMessage(BaseEventBus eventBus) {
         super.onEventMessage(eventBus);
         //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢
         if (eventBus.getTopic().equals(ConstantManage.message_function_tab_switch)) {
             if (eventBus.getType().equals(MessageFunctionTabSwitch.recover.toString())) {
-                HdlLogLogic.print("姝e湪鐐瑰嚮銆愬凡鎭㈠銆�");
                 initData();
                 getRecoverMessageList(true);
+                // 鍙栨秷绮樻�т簨浠�
+                EventBus.getDefault().removeStickyEvent(eventBus);
             }
         } else if (eventBus.getTopic().equals(ConstantManage.message_function_push_post)) {
             if (eventBus.getType().equals(MessageStateType.processed)) {
+                //娑堟伅璇︽儏鍥炶皟
                 initData();
                 updateListData();
             }
         }
     }
-
-
 
 
     /**
@@ -139,17 +140,22 @@
             HdlMessageLogic.getInstance().getRecoverMessageList(new CloudCallBeak<List<MessageBean>>() {
                 @Override
                 public void onSuccess(List<MessageBean> list) {
-                    if (isShowLoading) {
-                        hideLoading();
-                    }
-                    if (!isShowLoading) {
-                        viewBinding.messageRecoverSrl.setRefreshing(false);
-                    }
+                    HdlThreadLogic.runMainThread(new Runnable() {
+                        @Override
+                        public void run() {
+                            if (isShowLoading) {
+                                hideLoading();
+                            }
+                            if (!isShowLoading) {
+                                viewBinding.messageRecoverSrl.setRefreshing(false);
+                            }
 
-                    if (list != null && list.size() != 0) {
-                        mList.addAll(list);
-                        updateListData();
-                    }
+                            if (list != null && list.size() != 0) {
+                                mList.addAll(list);
+                                updateListData();
+                            }
+                        }
+                    });
                 }
 
                 @Override
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
index 0cc5896..8f7ee04 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
@@ -2,11 +2,9 @@
 
 import android.Manifest;
 import android.content.Context;
-import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.hardware.camera2.CameraManager;
 import android.os.Bundle;
-import android.text.TextUtils;
 import android.view.View;
 
 import androidx.annotation.NonNull;
@@ -24,16 +22,12 @@
 import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
 import com.hdl.photovoltaic.enums.ShowErrorMode;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
-import com.hdl.photovoltaic.other.HdlCommonLogic;
-import com.hdl.photovoltaic.other.HdlDeviceLogic;
 import com.hdl.photovoltaic.other.HdlLogLogic;
 import com.hdl.photovoltaic.other.HdlResidenceLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hdl.photovoltaic.other.HdlUniLogic;
 import com.hdl.photovoltaic.ui.adapter.HouseInfoAdapter;
 import com.hdl.photovoltaic.ui.bean.HouseIdBean;
-import com.hdl.photovoltaic.ui.bean.HouseInfoBean;
-import com.hdl.photovoltaic.ui.device.FastScanActivity;
 import com.hdl.photovoltaic.uni.HDLUniMP;
 import com.hdl.photovoltaic.utils.PermissionUtils;
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;

--
Gitblit v1.8.0