From 1c22df6f9f652b00fb64f523f1e2ee717fb4cc68 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 14 十二月 2023 18:02:58 +0800
Subject: [PATCH] 2023年12月14日18:02:49

---
 app/src/main/java/com/hdl/photovoltaic/ui/message/AllMessageFragment.java     |   78 +++++++-
 app/src/main/res/layout/activity_message_info.xml                             |   11 +
 app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java        |  121 +++++-------
 app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java    |   23 ++
 app/src/main/AndroidManifest.xml                                              |    3 
 app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java |   81 +++++++-
 app/src/main/java/com/hdl/photovoltaic/ui/message/RecoverMessageFragment.java |   80 +++++++-
 app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java         |    6 
 app/src/main/res/layout/fragment_nascent_message.xml                          |   21 +-
 app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java                 |   18 +-
 app/src/main/res/layout/fragment_message_all.xml                              |   20 +-
 app/src/main/res/layout/fragment_recover_message.xml                          |   22 +-
 12 files changed, 342 insertions(+), 142 deletions(-)

diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d91f4a2..c6f697c 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -71,6 +71,9 @@
         android:supportsRtl="true"
         android:theme="@style/Theme.PhotovoltaicDebug">
         <activity
+            android:name=".ui.message.MessageInfoActivity"
+            android:exported="false" />
+        <activity
             android:name=".ui.message.TestMessageActivity"
             android:exported="false" />
         <activity
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
index 715aaa7..3c1c9b4 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -85,18 +85,18 @@
      * 鍘熺敓鎺ユ敹鍒皍ni鍙戞潵鐨勬暟鎹�
      *
      * @param appId    -uni灏忕▼搴忔寚瀹氱殑appId
-     * @param event    -uni灏忕▼搴忓彂鏉ユ暟鎹�
+     * @param topic    -uni灏忕▼搴忓彂鏉ヤ富棰�(澶х被)
      * @param data     JSONObject com.alibaba.fastjson瑙f瀽澶勭悊
      * @param callback callback.invoke(JSONObject) 鐢╟om.alibaba.fastjson
      */
     @Override
-    public void onOtherUniMPEventReceive(String appId, String event, Object data, DCUniMPJSCallback callback) {
+    public void onOtherUniMPEventReceive(String appId, String topic, Object data, DCUniMPJSCallback callback) {
         try {
             if (!HDLUniMP.UNI_APP_ID.equals(appId)) {
                 return;
             }
-            String type = getKeyValue("type", data);
-            if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(event)) {
+            String type = getKeyValue("type", data);//灏忕被
+            if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(topic)) {
                 //浣忓畢妯″潡
                 switch (type) {
                     //鍒涘缓鐢电珯
@@ -128,7 +128,7 @@
                 if (callback != null) {
                     uniCallbackData(null, callback);
                 }
-            } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_MODEL.equals(event)) {
+            } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_MODEL.equals(topic)) {
                 //璁惧妯″潡
                 switch (type) {
                     //娣诲姞閫嗗彉鍣ㄥ埌浜戠
@@ -185,7 +185,7 @@
 
                 }
 
-            } else if (HDLUniMP.UNI_EVENT_REPLY_WIFI_MODEL.equals(event)) {
+            } else if (HDLUniMP.UNI_EVENT_REPLY_WIFI_MODEL.equals(topic)) {
                 WifiUtils wifiUtils = new WifiUtils(HDLApp.getInstance());
                 //wifi妯″潡
                 switch (type) {
@@ -210,7 +210,7 @@
                     break;
 
                 }
-            } else if (HDLUniMP.UNI_EVENT_REPLY_OTA_MODEL.equals(event)) {
+            } else if (HDLUniMP.UNI_EVENT_REPLY_OTA_MODEL.equals(topic)) {
                 //OTA鍗囩骇妯″潡
                 switch (type) {
                     //鍚戜簯绔幏鍙杘id鍒楄〃
@@ -285,7 +285,7 @@
                     break;
 
                 }
-            } else if (HDLUniMP.UNI_EVENT_REPLY_OTHER_MODEL.equals(event)) {
+            } else if (HDLUniMP.UNI_EVENT_REPLY_OTHER_MODEL.equals(topic)) {
                 //鍏跺畠妯″潡
                 switch (type) {
                     //鑾峰彇娓╁害鍗曚綅
@@ -300,7 +300,7 @@
                     break;
                 }
             }
-            HdlLogLogic.print("uni===鍘熺敓鎺ユ敹uni鍙戞潵鐨勬暟鎹�===" + event + "\r\n" + data, false);
+            HdlLogLogic.print("uni===鍘熺敓鎺ユ敹uni鍙戞潵鐨勬暟鎹�===澶х被->" + topic + "\r\n" + data, false);
         } catch (Exception e) {
             HdlLogLogic.print("uni===鍘熺敓鎺ユ敹uni鍙戞潵鐨勬暟鎹�===" + e.getMessage(), false);
         }
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 2b43fe1..6ce4bb5 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
@@ -38,10 +38,10 @@
     @Override
     public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
         MessageBean messageBean = this.mList.get(position);
-        holder.item_content_tv.setText(messageBean.getContent());
+        holder.item_content_tv.setText(messageBean.getTitle());
         holder.item_home_name_tv.setText(messageBean.getHomeName());
-        holder.item_time_tv.setText(messageBean.getTime());
-        holder.item_estate_tv.setText(messageBean.getGrade() + "");
+        holder.item_time_tv.setText(messageBean.getCreateTime() + "");
+        holder.item_estate_tv.setText(messageBean.getStatus() + "");
         holder.item_unread_message_tv.setVisibility(View.VISIBLE);
         if (messageBean.isRead()) {
             holder.item_unread_message_tv.setVisibility(View.GONE);
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 1ceb340..b0a25d8 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
@@ -4,14 +4,18 @@
 import android.view.ViewGroup;
 
 import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
 
+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.FragmentMessageAllBinding;
 import com.hdl.photovoltaic.databinding.FragmentMessageBinding;
+import com.hdl.photovoltaic.listener.CloudCallBeak;
 import com.hdl.photovoltaic.other.HdlCommonLogic;
 import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.other.HdlMessageLogic;
 import com.hdl.photovoltaic.ui.adapter.MessageAdapter;
 import com.hdl.photovoltaic.ui.bean.MessageBean;
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
@@ -47,19 +51,29 @@
     }
 
     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();
+//        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);
+//        }
     }
 
 
     private void initEvent() {
+
+        //璁剧疆涓嬫媺绠ご棰滆壊
+        viewBinding.messageAllSrl.setColorSchemeResources(R.color.text_FF245EC3);
+        viewBinding.messageAllSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+            @Override
+            public void onRefresh() {
+                getAllMessageList(false);
+                HdlLogLogic.print("AllMessageFragment涓嬫媺鍒锋柊", false);
+            }
+        });
         if (messageAllAdapter != null) {
             messageAllAdapter.setNoOnclickListener(new MessageAdapter.OnclickListener() {
                 @Override
@@ -69,6 +83,7 @@
             });
         }
 
+
     }
 
     private void initView() {
@@ -77,8 +92,12 @@
         viewBinding.messageAllRecyclerview.setAdapter(messageAllAdapter);
     }
 
+    /**
+     * 鍒锋柊鍒楄〃鏁版嵁
+     */
     private void updateListData() {
         if (this.messageAllAdapter != null) {
+            this.messageAllAdapter.setList(mList);
             this.messageAllAdapter.notifyDataSetChanged();
         }
     }
@@ -89,11 +108,50 @@
         //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢
         if (eventBus.getTopic().equals(ConstantManage.message_function_tab_switch)) {
             if (eventBus.getType().equals(HdlCommonLogic.MessageFunctionTabSwitch.all.toString())) {
-                updateListData();
+                getAllMessageList(true);
                 HdlLogLogic.print("姝e湪鐐瑰嚮銆愬叏閮ㄣ��");
             }
         }
     }
 
+    /**
+     * 鑾峰彇鍏ㄩ儴涓殑娑堟伅鍒楄〃
+     *
+     * @param isShowLoading 鏄惁鍚姩 true鍚姩
+     */
+    private void getAllMessageList(boolean isShowLoading) {
+        if (mList.size() == 0) {
+            if (isShowLoading) {
+                showLoading();
+            }
+            HdlMessageLogic.getInstance().getMessageList(HdlMessageLogic.MessageStatus.processed, new CloudCallBeak<List<MessageBean>>() {
+                @Override
+                public void onSuccess(List<MessageBean> list) {
+                    if (isShowLoading) {
+                        hideLoading();
+                    }
+                    if (!isShowLoading) {
+                        viewBinding.messageAllSrl.setRefreshing(false);
+                    }
+
+                    if (list != null && list.size() != 0) {
+                        mList.addAll(list);
+                        updateListData();
+                    }
+                }
+
+                @Override
+                public void onFailure(HDLException e) {
+                    if (isShowLoading) {
+                        hideLoading();
+                    }
+                    if (!isShowLoading) {
+                        viewBinding.messageAllSrl.setRefreshing(false);
+                    }
+                }
+            });
+        }
+    }
+
 
 }
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 40e921a..9585d2a 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
@@ -1,12 +1,9 @@
 package com.hdl.photovoltaic.ui.message;
 
-import android.os.Build;
 import android.os.Bundle;
-import android.os.Handler;
 import android.view.View;
 
 
-import androidx.annotation.RequiresApi;
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentManager;
 import androidx.fragment.app.FragmentTransaction;
@@ -34,11 +31,8 @@
     private static final String CURRENT_FRAGMENT = "state_fragment_show";
     private FragmentManager mFragmentManager;
     private Fragment currentFragment = new Fragment();
-    private List<Fragment> fragments = new ArrayList<>();
+    private final List<Fragment> fragmentList = new ArrayList<>();
     private int currentIndex = 0;
-    private AllMessageFragment mAllMessageFragment;
-    private NascentMessageFragment mNascentMessageFragment;
-    private RecoverMessageFragment mRecoverMessageFragment;
 
     @Override
     public Object getContentView() {
@@ -49,6 +43,7 @@
     @Override
     public void onBindView(Bundle savedInstanceState) {
 
+        //鍒濆鍖栫鐗�
         initFragment(savedInstanceState);
         //鍒濆鍖栫晫闈�
         initView();
@@ -64,28 +59,20 @@
         viewBinding.messageTabNascentCl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-                viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
-                viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-                viewBinding.line1V.setVisibility(View.GONE);
-                viewBinding.line2V.setVisibility(View.VISIBLE);
-                viewBinding.line3V.setVisibility(View.GONE);
-                showFragment(0);
-                postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.nascent);
+                currentIndex = 0;
+                showFragment();
+                initView();
+
             }
         });
         //宸叉仮澶�
         viewBinding.messageTabRecoverCl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-                viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-                viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
-                viewBinding.line1V.setVisibility(View.GONE);
-                viewBinding.line2V.setVisibility(View.GONE);
-                viewBinding.line3V.setVisibility(View.VISIBLE);
-                showFragment(1);
-                postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.recover);
+                currentIndex = 1;
+                showFragment();
+                initView();
+
             }
         });
 
@@ -93,32 +80,38 @@
         viewBinding.messageTabAllCl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
-                viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-                viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-                viewBinding.line1V.setVisibility(View.VISIBLE);
-                viewBinding.line2V.setVisibility(View.GONE);
-                viewBinding.line3V.setVisibility(View.GONE);
-                showFragment(2);
-                postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.all);
-
+                currentIndex = 2;
+                showFragment();
+                initView();
             }
         });
     }
 
 
     private void initView() {
-        viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-        viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
-        viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-        viewBinding.line1V.setVisibility(View.GONE);
-        viewBinding.line2V.setVisibility(View.VISIBLE);
-        viewBinding.line3V.setVisibility(View.GONE);
         if (this.currentIndex == 0) {
+            viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+            viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
+            viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+            viewBinding.line1V.setVisibility(View.GONE);
+            viewBinding.line2V.setVisibility(View.VISIBLE);
+            viewBinding.line3V.setVisibility(View.GONE);
             postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.nascent);
         } else if (this.currentIndex == 1) {
+            viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+            viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+            viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
+            viewBinding.line1V.setVisibility(View.GONE);
+            viewBinding.line2V.setVisibility(View.GONE);
+            viewBinding.line3V.setVisibility(View.VISIBLE);
             postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.recover);
         } else if (this.currentIndex == 2) {
+            viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
+            viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+            viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+            viewBinding.line1V.setVisibility(View.VISIBLE);
+            viewBinding.line2V.setVisibility(View.GONE);
+            viewBinding.line3V.setVisibility(View.GONE);
             postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.all);
         }
     }
@@ -146,41 +139,30 @@
      */
     private void initFragment(Bundle savedInstanceState) {
         mFragmentManager = _mActivity.getSupportFragmentManager();
-        //纰庣墖鍐呴渶瑕佷娇鐢ㄦ潈闄愬拰forresult
-
-        mNascentMessageFragment = new NascentMessageFragment();
-        mRecoverMessageFragment = new RecoverMessageFragment();
-        mAllMessageFragment = new AllMessageFragment();
+        //纰庣墖鍒濆鍖�
+        NascentMessageFragment mNascentMessageFragment = new NascentMessageFragment();
+        RecoverMessageFragment mRecoverMessageFragment = new RecoverMessageFragment();
+        AllMessageFragment mAllMessageFragment = new AllMessageFragment();
         if (savedInstanceState != null) {
             //鈥滃唴瀛橀噸鍚�濇椂璋冪敤 鑾峰彇鈥滃唴瀛橀噸鍚�濇椂淇濆瓨鐨勭储寮曚笅鏍�
             currentIndex = savedInstanceState.getInt(CURRENT_FRAGMENT, 0);
-            if (fragments.size() != 0) {
-                fragments.clear();
+            if (fragmentList.size() != 0) {
+                fragmentList.clear();
             }
-            fragments.add(mFragmentManager.findFragmentByTag(0 + ""));
-            fragments.add(mFragmentManager.findFragmentByTag(1 + ""));
-            fragments.add(mFragmentManager.findFragmentByTag(2 + ""));
+            fragmentList.add(mFragmentManager.findFragmentByTag(0 + ""));
+            fragmentList.add(mFragmentManager.findFragmentByTag(1 + ""));
+            fragmentList.add(mFragmentManager.findFragmentByTag(2 + ""));
             restoreFragment();//鎭㈠fragment椤甸潰
         } else {
             //姝e父鍚姩鏃惰皟鐢�
-            fragments.add(mAllMessageFragment);
-            fragments.add(mNascentMessageFragment);
-            fragments.add(mRecoverMessageFragment);
+            fragmentList.add(mNascentMessageFragment);
+            fragmentList.add(mRecoverMessageFragment);
+            fragmentList.add(mAllMessageFragment);
             showFragment();
 
 
         }
 
-    }
-
-    /**
-     * 鍒囨崲Fragment
-     *
-     * @param index 绱㈠紩
-     */
-    private void showFragment(int index) {
-        currentIndex = index;
-        showFragment();
     }
 
     /**
@@ -190,34 +172,33 @@
     private void showFragment() {
         FragmentTransaction ft = mFragmentManager.beginTransaction();
         //濡傛灉涔嬪墠娌℃湁娣诲姞杩�
-        if (!fragments.get(currentIndex).isAdded()) {
+        if (!fragmentList.get(currentIndex).isAdded()) {
             //绗笁涓弬鏁颁负娣诲姞褰撳墠鐨刦ragment鏃剁粦瀹氫竴涓猼ag
             ft.hide(currentFragment)
-                    .add(R.id.message_fcv, fragments.get(currentIndex), "" + currentIndex);
+                    .add(R.id.message_fcv, fragmentList.get(currentIndex), currentIndex + "");
         } else {
             ft.hide(currentFragment)
-                    .show(fragments.get(currentIndex));
+                    .show(fragmentList.get(currentIndex));
         }
-        currentFragment = fragments.get(currentIndex);
+        currentFragment = fragmentList.get(currentIndex);
         ft.commit();
     }
 
     /**
      * 鎭㈠fragment
      */
-
     private void restoreFragment() {
         FragmentTransaction ft = mFragmentManager.beginTransaction();
-        for (int i = 0; i < fragments.size(); i++) {
+        for (int i = 0; i < fragmentList.size(); i++) {
             if (i == currentIndex) {
-                ft.show(fragments.get(i));
+                ft.show(fragmentList.get(i));
             } else {
-                ft.hide(fragments.get(i));
+                ft.hide(fragmentList.get(i));
             }
         }
         ft.commit();
         //鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵
-        currentFragment = fragments.get(currentIndex);
+        currentFragment = fragmentList.get(currentIndex);
     }
 
 
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
new file mode 100644
index 0000000..8f4c0b9
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java
@@ -0,0 +1,23 @@
+package com.hdl.photovoltaic.ui.message;
+
+
+import android.os.Bundle;
+
+import com.hdl.photovoltaic.base.CustomBaseActivity;
+import com.hdl.photovoltaic.databinding.ActivityMessageInfoBinding;
+
+public class MessageInfoActivity extends CustomBaseActivity {
+
+    ActivityMessageInfoBinding viewBinding;
+
+    @Override
+    public Object getContentView() {
+        viewBinding = ActivityMessageInfoBinding.inflate(getLayoutInflater());
+        return viewBinding.getRoot();
+    }
+
+    @Override
+    public void onBindView(Bundle savedInstanceState) {
+
+    }
+}
\ No newline at end of file
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 725e233..0de0186 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
@@ -4,12 +4,16 @@
 import android.os.Bundle;
 
 import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
 
+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.listener.CloudCallBeak;
 import com.hdl.photovoltaic.other.HdlCommonLogic;
-import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.other.HdlMessageLogic;
 import com.hdl.photovoltaic.ui.adapter.MessageAdapter;
 import com.hdl.photovoltaic.ui.bean.MessageBean;
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
@@ -25,7 +29,7 @@
 
     private MessageAdapter messageNascentAdapter;
 
-    private List<MessageBean> mList;
+    private List<MessageBean> mList = new ArrayList<>();
 
     @Override
     public Object getContentView() {
@@ -44,18 +48,27 @@
     }
 
     private void initData() {
-        mList = new ArrayList<>();
-        for (int i = 0; i < 3; i++) {
-            MessageBean messageBean = new MessageBean();
-            messageBean.setContent("鏉ヤ簡涓�鏉″憡璀︿俊鎭�" + i);
-            messageBean.setHomeName(i + "");
-            messageBean.setTime("2023-12-06-15");
-            messageBean.setRead(false);
-            mList.add(messageBean);
-        }
+//        mList = new ArrayList<>();
+//        for (int i = 0; i < 3; i++) {
+//            MessageBean messageBean = new MessageBean();
+//            messageBean.setTitle("鏉ヤ簡涓�鏉″憡璀︿俊鎭�" + i);
+//            messageBean.setHomeName(i + "");
+//            messageBean.setCreateTime((long) 1234567777);
+//            messageBean.setRead(false);
+//            mList.add(messageBean);
+//        }
     }
 
     private void initEvent() {
+        //璁剧疆涓嬫媺绠ご棰滆壊
+        viewBinding.messageNascentSrl.setColorSchemeResources(R.color.text_FF245EC3);
+        viewBinding.messageNascentSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+            @Override
+            public void onRefresh() {
+                mList.clear();//琛ㄧず寮哄埗閲嶆柊璇锋眰娑堟伅鍒楄〃
+                getNascentMessageList(false);
+            }
+        });
         messageNascentAdapter.setNoOnclickListener(new MessageAdapter.OnclickListener() {
             @Override
             public void onClick(int position, MessageBean item) {
@@ -70,8 +83,12 @@
         viewBinding.messageNascentRecyclerview.setAdapter(messageNascentAdapter);
     }
 
+    /**
+     * 鍒锋柊鍒楄〃鏁版嵁
+     */
     private void updateListData() {
         if (this.messageNascentAdapter != null) {
+            this.messageNascentAdapter.setList(mList);
             this.messageNascentAdapter.notifyDataSetChanged();
         }
     }
@@ -82,9 +99,47 @@
         //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢
         if (eventBus.getTopic().equals(ConstantManage.message_function_tab_switch)) {
             if (eventBus.getType().equals(HdlCommonLogic.MessageFunctionTabSwitch.nascent.toString())) {
-                HdlLogLogic.print("姝e湪鐐瑰嚮銆愯繘琛屼腑銆�");
-                updateListData();
+                getNascentMessageList(true);
             }
         }
     }
+
+    /**
+     * 鑾峰彇鍙戠敓涓殑娑堟伅鍒楄〃
+     *
+     * @param isShowLoading 鏄惁鍚姩 true鍚姩
+     */
+    private void getNascentMessageList(boolean isShowLoading) {
+        if (mList.size() == 0) {
+            if (isShowLoading) {
+                showLoading();
+            }
+            HdlMessageLogic.getInstance().getMessageList(HdlMessageLogic.MessageStatus.untreated, new CloudCallBeak<List<MessageBean>>() {
+                @Override
+                public void onSuccess(List<MessageBean> list) {
+                    if (isShowLoading) {
+                        hideLoading();
+                    }
+                    if (!isShowLoading) {
+                        viewBinding.messageNascentSrl.setRefreshing(false);
+                    }
+
+                    if (list != null && list.size() != 0) {
+                        mList.addAll(list);
+                        updateListData();
+                    }
+                }
+
+                @Override
+                public void onFailure(HDLException e) {
+                    if (isShowLoading) {
+                        hideLoading();
+                    }
+                    if (!isShowLoading) {
+                        viewBinding.messageNascentSrl.setRefreshing(false);
+                    }
+                }
+            });
+        }
+    }
 }
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 0df63af..20090df 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
@@ -3,12 +3,17 @@
 import android.os.Bundle;
 
 import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
 
+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.FragmentRecoverMessageBinding;
+import com.hdl.photovoltaic.listener.CloudCallBeak;
 import com.hdl.photovoltaic.other.HdlCommonLogic;
 import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.other.HdlMessageLogic;
 import com.hdl.photovoltaic.ui.adapter.MessageAdapter;
 import com.hdl.photovoltaic.ui.bean.MessageBean;
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
@@ -26,6 +31,7 @@
     private MessageAdapter messageRecoverAdapter;
 
     private List<MessageBean> mList;
+
     @Override
     public Object getContentView() {
         viewBinding = FragmentRecoverMessageBinding.inflate(getLayoutInflater());
@@ -43,18 +49,27 @@
     }
 
     private void initData() {
-        mList = new ArrayList<>();
-        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 = new ArrayList<>();
+//        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);
+//        }
     }
 
     private void initEvent() {
+        //璁剧疆涓嬫媺绠ご棰滆壊
+        viewBinding.messageRecoverSrl.setColorSchemeResources(R.color.text_FF245EC3);
+        viewBinding.messageRecoverSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+            @Override
+            public void onRefresh() {
+                getRecoverMessageList(false);
+                HdlLogLogic.print("RecoverMessageFragment涓嬫媺鍒锋柊", false);
+            }
+        });
         messageRecoverAdapter.setNoOnclickListener(new MessageAdapter.OnclickListener() {
             @Override
             public void onClick(int position, MessageBean item) {
@@ -69,11 +84,17 @@
         viewBinding.messageRecoverRecyclerview.setAdapter(messageRecoverAdapter);
     }
 
+
+    /**
+     * 鍒锋柊鍒楄〃鏁版嵁
+     */
     private void updateListData() {
         if (this.messageRecoverAdapter != null) {
+            this.messageRecoverAdapter.setList(mList);
             this.messageRecoverAdapter.notifyDataSetChanged();
         }
     }
+
     @Override
     public void onEventMessage(BaseEventBus eventBus) {
         super.onEventMessage(eventBus);
@@ -81,7 +102,48 @@
         if (eventBus.getTopic().equals(ConstantManage.message_function_tab_switch)) {
             if (eventBus.getType().equals(HdlCommonLogic.MessageFunctionTabSwitch.recover.toString())) {
                 HdlLogLogic.print("姝e湪鐐瑰嚮銆愬凡鎭㈠銆�");
+                getRecoverMessageList(true);
             }
         }
     }
+
+
+    /**
+     * 鑾峰彇鎭㈠涓殑娑堟伅鍒楄〃
+     *
+     * @param isShowLoading 鏄惁鍚姩 true鍚姩
+     */
+    private void getRecoverMessageList(boolean isShowLoading) {
+        if (mList.size() == 0) {
+            if (isShowLoading) {
+                showLoading();
+            }
+            HdlMessageLogic.getInstance().getMessageList(HdlMessageLogic.MessageStatus.processed, new CloudCallBeak<List<MessageBean>>() {
+                @Override
+                public void onSuccess(List<MessageBean> list) {
+                    if (isShowLoading) {
+                        hideLoading();
+                    }
+                    if (!isShowLoading) {
+                        viewBinding.messageRecoverSrl.setRefreshing(false);
+                    }
+
+                    if (list != null && list.size() != 0) {
+                        mList.addAll(list);
+                        updateListData();
+                    }
+                }
+
+                @Override
+                public void onFailure(HDLException e) {
+                    if (isShowLoading) {
+                        hideLoading();
+                    }
+                    if (!isShowLoading) {
+                        viewBinding.messageRecoverSrl.setRefreshing(false);
+                    }
+                }
+            });
+        }
+    }
 }
diff --git a/app/src/main/res/layout/activity_message_info.xml b/app/src/main/res/layout/activity_message_info.xml
new file mode 100644
index 0000000..1f943ac
--- /dev/null
+++ b/app/src/main/res/layout/activity_message_info.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@color/text_FFFFFFFF"
+    tools:context=".ui.message.MessageInfoActivity">
+
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_message_all.xml b/app/src/main/res/layout/fragment_message_all.xml
index fd146fb..a3bc437 100644
--- a/app/src/main/res/layout/fragment_message_all.xml
+++ b/app/src/main/res/layout/fragment_message_all.xml
@@ -3,19 +3,19 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/all_parent"
     android:layout_width="match_parent"
-    android:background="#EA0C0C"
     android:layout_height="match_parent">
 
-    <androidx.recyclerview.widget.RecyclerView
-        android:id="@+id/message_all_recyclerview"
+    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+        android:id="@+id/message_all_srl"
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="@color/text_FFB300"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
+        android:layout_height="match_parent">
 
-
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/message_all_recyclerview"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:clipToPadding="false"
+            android:paddingBottom="@dimen/dp_16" />
+    </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
 
 </FrameLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_nascent_message.xml b/app/src/main/res/layout/fragment_nascent_message.xml
index b18b7ca..bed934a 100644
--- a/app/src/main/res/layout/fragment_nascent_message.xml
+++ b/app/src/main/res/layout/fragment_nascent_message.xml
@@ -5,14 +5,17 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
-    <androidx.recyclerview.widget.RecyclerView
-        android:id="@+id/message_nascent_recyclerview"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:background="@color/text_FFB300"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
+    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+        android:id="@+id/message_nascent_srl"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        >
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/message_nascent_recyclerview"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:clipToPadding="false"
+            android:paddingBottom="@dimen/dp_16" />
+    </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
 
 </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_recover_message.xml b/app/src/main/res/layout/fragment_recover_message.xml
index 7d5844b..cd7964c 100644
--- a/app/src/main/res/layout/fragment_recover_message.xml
+++ b/app/src/main/res/layout/fragment_recover_message.xml
@@ -5,14 +5,18 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
-    <androidx.recyclerview.widget.RecyclerView
-        android:id="@+id/message_recover_recyclerview"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:background="@color/text_FFB300"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
+    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+        android:id="@+id/message_recover_srl"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/message_recover_recyclerview"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:clipToPadding="false"
+            android:paddingBottom="@dimen/dp_16" />
+    </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
+
 
 </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file

--
Gitblit v1.8.0