From 48bd94f4e362c8a604017cbaf4c12e08be10c816 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期五, 10 五月 2024 17:25:37 +0800
Subject: [PATCH] 2024年05月10日17:25:30

---
 app/src/main/res/values/strings.xml                                           |    5 
 app/src/main/res/layout/fragment_message.xml                                  |  354 +++++++++----
 app/src/main/java/com/hdl/photovoltaic/ui/message/RecoverMessageFragment.java |   26 
 app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java         |   53 +
 app/src/main/res/drawable/house_list_line_parent_bg.xml                       |    2 
 app/src/main/res/layout/item_message.xml                                      |   16 
 app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java                 |    5 
 app/src/main/res/layout/item_type_title.xml                                   |    1 
 app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java                 |    8 
 app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java         |    2 
 /dev/null                                                                     |  317 ------------
 app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java        |  619 +++++++++++++++++++-----
 app/src/main/java/com/hdl/photovoltaic/ui/bean/UnCountBean.java               |   36 +
 app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java         |   12 
 app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java             |   25 
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java |    8 
 16 files changed, 866 insertions(+), 623 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 c3e0a85..76837f2 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
@@ -11,6 +11,7 @@
 import com.hdl.photovoltaic.internet.api.HttpApi;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
 import com.hdl.photovoltaic.ui.bean.MessageBean;
+import com.hdl.photovoltaic.ui.bean.UnCountBean;
 
 import java.util.ArrayList;
 import java.util.Comparator;
@@ -309,7 +310,7 @@
      *
      * @param cloudCallBeak -
      */
-    public void getMessageUntreatedCount(String homeId, CloudCallBeak<String> cloudCallBeak) {
+    public void getMessageUntreatedCount(String homeId, CloudCallBeak<UnCountBean> cloudCallBeak) {
         String requestUrl = HttpApi.POST_Message_UntreatedCount;
         JsonObject json = new JsonObject();
         if (!TextUtils.isEmpty(homeId)) {
@@ -318,8 +319,16 @@
         HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
             @Override
             public void onSuccess(String str) {
+                if (TextUtils.isEmpty(str)) {
+                    if (cloudCallBeak != null) {
+                        cloudCallBeak.onSuccess(new UnCountBean());
+                    }
+                    return;
+                }
+
+                UnCountBean unCountBean = new Gson().fromJson(str, UnCountBean.class);
                 if (cloudCallBeak != null) {
-                    cloudCallBeak.onSuccess(str);
+                    cloudCallBeak.onSuccess(unCountBean);
                 }
             }
 
@@ -491,9 +500,9 @@
     }
 
     /**
-     * 鑾峰彇鎸囧畾椤电殑鑾峰彇娑堟伅鍒楄〃(鐢ㄤ簬C绔�)
+     * 鑾峰彇鎸囧畾椤电殑鑾峰彇娑堟伅鍒楄〃
      *
-     * @param homeId                  鐢电珯id
+     * @param homeId                  鐢电珯id(濉�""榛樿璐﹀彿涓嬫墍鏈夋秷鎭�)
      * @param pageNo                  椤电爜
      * @param messageStateType        all:鍏ㄩ儴,UNTREATED:鏈鐞�,PROCESSED:宸插鐞�;
      * @param deviceType_filter_key   绫诲瀷锛堣澶囷紝绛夌骇锛屾椂闂达級
@@ -502,7 +511,7 @@
      *                                timeType锛圱ODAY 锛氫粖澶╋紱LAST_3_DAYS: 杩�3澶╋紱LAST_7_DAYS 锛氳繎7澶╋紱LAST_30_DAYS 锛氳繎30澶╋級锛�
      * @param cloudCallBeak           -
      */
-    public void getPageNoMessageList_C(String homeId, int pageNo, String messageStateType, String deviceType_filter_key, String deviceType_filter_value, String type_filter_key, String type_filter_value, String timeType_filter_key, String timeType_filter_value, CloudCallBeak<MessageListClass> cloudCallBeak) {
+    public void getPageNoMessageList(String homeId, int pageNo, String messageStateType, String deviceType_filter_key, String deviceType_filter_value, String type_filter_key, String type_filter_value, String timeType_filter_key, String timeType_filter_value, CloudCallBeak<MessageListClass> cloudCallBeak) {
         String requestUrl = HttpApi.POST_Message_List;
         JsonObject json = new JsonObject();
         if (!TextUtils.isEmpty(homeId)) {
@@ -619,13 +628,15 @@
     /**
      * 娑堟伅鍏ㄩ儴宸茶
      *
-     * @param homeId        娑堟伅id
+     * @param homeId        娑堟伅id(涓嶄紶宸茶鎵�鏈夌數绔欑殑锛屼紶鍊煎凡璇绘寚瀹氱數绔欑殑)
      * @param cloudCallBeak -
      */
     public void messageAllRead(String homeId, CloudCallBeak<Boolean> cloudCallBeak) {
         String requestUrl = HttpApi.POST_Message_AllRead;
         JsonObject json = new JsonObject();
-        json.addProperty("homeId", homeId);
+        if (!TextUtils.isEmpty(homeId)) {
+            json.addProperty("homeId", homeId);
+        }
         HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
             @Override
             public void onSuccess(String str) {
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java
index da664cc..bfc5c94 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java
@@ -536,12 +536,10 @@
         //-100:娌℃湁鏁版嵁;-101:娌℃湁md5绉橀挜;-102:md5绉橀挜涓嶅;-103:鏈夊紓甯�;
         if (zipData == null) {
             this.eventBusPost(fileFullPath, driver, -100, HDLApp.getInstance().getString(R.string.exception_unable_to_pull_up_the_cloud_upgrade_file_data));
-//            HdlLogLogic.print("鎷変笉鍒颁簯绔崌绾ф枃浠舵暟鎹�(-100)", true);
             return false;
         }
         if (TextUtils.isEmpty(md5)) {
             this.eventBusPost(fileFullPath, driver, -101, HDLApp.getInstance().getString(R.string.exception_failed_to_obtain_the_md5_key_of_the_upgrade_file_on_the_cloud));
-//            HdlLogLogic.print("鎷夸笉鍒颁簯绔笂鍗囩骇鏂囦欢md5绉橀挜(-101)", true);
             return false;
         }
         InputStream is = null;
@@ -555,7 +553,6 @@
             long total = zipData.contentLength();
             if (total == 0) {
                 this.eventBusPost(fileFullPath, driver, -102, HDLApp.getInstance().getString(R.string.exception_unable_to_pull_up_the_cloud_upgrade_file_data));
-//                HdlLogLogic.print("鎷変笉鍒颁簯绔崌绾ф枃浠舵暟鎹�(-102)", true);
                 return false;
             }
             fos = new FileOutputStream(file);
@@ -563,7 +560,6 @@
             while ((len = is.read(buf)) != -1) {
                 if (this.stopDownload) {
                     this.eventBusPost(fileFullPath, driver, -108, HDLApp.getInstance().getString(R.string.exception_the_user_cancels_downloading_the_upgrade_file));
-//                    HdlLogLogic.print("鐢ㄦ埛鍙栨秷涓嬭浇鍗囩骇鏂囦欢(-108)", true);
                     fos.flush();
                     fos.close();
                     is.close();
@@ -577,7 +573,6 @@
                 if (sum != total) {
                     //涓嶇瓑浜�100閮借鎶�,绛変簬100澶勭悊鏁村潡閫昏緫瀹屼箣鍚庡啀鎶�100;
                     this.eventBusPost(fileFullPath, driver, progress, "姝e父涓婃姤杩涘害鍊�--->" + progress);
-//                    HdlLogLogic.print("姝e父涓婃姤杩涘害鍊�--->" + progress, true);
                 }
             }
             fos.flush();
@@ -589,18 +584,15 @@
             byte[] decrypt = AesUtils.decrypt(bytes);
             if (decrypt == null) {
                 this.eventBusPost(fileFullPath, driver, -105, HDLApp.getInstance().getString(R.string.exception_failed_to_decrypt_the_upgrade_aes_file));
-//                HdlLogLogic.print("鍗囩骇鏂囦欢aes瑙e瘑澶辫触(-105)", true);
                 return false;
             }
             String fileMD5 = Md5Utils.encodeMD5(decrypt);
             if (TextUtils.isEmpty(fileMD5)) {
                 this.eventBusPost(fileFullPath, driver, -106, HDLApp.getInstance().getString(R.string.exception_failed_to_generate_md5_for_the_upgrade_file));
-//                HdlLogLogic.print("鍗囩骇鏂囦欢鐢熸垚md5澶辫触澶辫触(-106)", true);
                 return false;
             }
             if (!md5.equals(fileMD5)) {
                 this.eventBusPost(fileFullPath, driver, -107, HDLApp.getInstance().getString(R.string.exception_description_failed_to_compare_the_md5_of_the_upgrade_file));
-//                HdlLogLogic.print("鍗囩骇鏂囦欢md5姣斿澶辫触(-107)", true);
                 return false;
             }
             //todo 娉ㄦ剰:瑙e瘑涔嬪悗锛岃閲嶆柊鍐欐暟鎹�;
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 1975031..77eda60 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -43,6 +43,7 @@
 import com.hdl.photovoltaic.ui.bean.Geolocation;
 import com.hdl.photovoltaic.ui.bean.LinkBean;
 import com.hdl.photovoltaic.ui.bean.OidBean;
+import com.hdl.photovoltaic.ui.bean.UnCountBean;
 import com.hdl.photovoltaic.ui.me.AsRegardsActivity;
 import com.hdl.photovoltaic.ui.me.PersonalDataActivity;
 import com.hdl.photovoltaic.ui.me.SetActivity;
@@ -1265,9 +1266,9 @@
      */
     private void uniGetMessageNumber(String type, Object data, DCUniMPJSCallback callback) {
         String homeId = getKeyValue("homeId", getKeyValue("data", data));
-        HdlMessageLogic.getInstance().getMessageUntreatedCount(homeId, new CloudCallBeak<String>() {
+        HdlMessageLogic.getInstance().getMessageUntreatedCount(homeId, new CloudCallBeak<UnCountBean>() {
             @Override
-            public void onSuccess(String data) {
+            public void onSuccess(UnCountBean data) {
                 uniCallbackData(type, data, callback);
             }
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
index dd855f2..936b0f0 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
@@ -208,6 +208,9 @@
         viewBinding.myPowerStationBottomIl0.clickTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                if (currentFragmentIndex == 0) {
+                    return;
+                }
                 currentFragmentIndex = 0;
                 bottomViewChangeOfStyle();
                 postEventBus(HomepageTitleTabSwitch.homepage);
@@ -216,6 +219,9 @@
         viewBinding.myPowerStationBottomIl1.clickTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                if (currentFragmentIndex == 1) {
+                    return;
+                }
                 currentFragmentIndex = 1;
                 bottomViewChangeOfStyle();
                 postEventBus(HomepageTitleTabSwitch.powerstation);
@@ -224,6 +230,9 @@
         viewBinding.myMessageBottomIl2.clickTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                if (currentFragmentIndex == 2) {
+                    return;
+                }
                 currentFragmentIndex = 2;
                 bottomViewChangeOfStyle();
                 postEventBus(HomepageTitleTabSwitch.message);
@@ -232,6 +241,9 @@
         viewBinding.myMeBottomIl3.clickTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                if (currentFragmentIndex == 3) {
+                    return;
+                }
                 currentFragmentIndex = 3;
                 bottomViewChangeOfStyle();
                 postEventBus(HomepageTitleTabSwitch.me);
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 3dcd091..00515da 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.DeviceType;
 import com.hdl.photovoltaic.enums.MessageAlarmStateType;
 import com.hdl.photovoltaic.ui.bean.MessageBean;
 import com.hdl.photovoltaic.utils.TimeUtils;
@@ -24,10 +25,9 @@
 
     private List<MessageBean> mList;
     private final Context mContext;
-    private MessageAdapter.OnclickListener noOnclickListener;//鐐瑰嚮浜嗙殑鐩戝惉鍣�
+    private OnClickListener mOnclickListener;//鐐瑰嚮浜嗙殑鐩戝惉鍣�
 
-    public MessageAdapter(List<MessageBean> list, Context context) {
-        mList = list;
+    public MessageAdapter(Context context) {
         this.mContext = context;
     }
 
@@ -41,11 +41,12 @@
     @Override
     public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
         MessageBean messageBean = this.mList.get(position);
+//        String strName = getDeviceTypeStr(messageBean.getDeviceType()) + "(" + messageBean.getTitle() + ")";
         holder.item_content_tv.setText(messageBean.getTitle());
         holder.item_home_name_tv.setText(messageBean.getHomeName());
         String date = TimeUtils.getTimeFromTimestamp(messageBean.getCreateTime());
         holder.item_time_tv.setText(date);
-        String type = "";//FAULT:鏁呴殰,WARN:鍛婅,EVENT:浜嬩欢
+        String type = "";//FAULT:鏁呴殰,WARN:鍛婅,EVENT:鎻愮ず
         Drawable drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300);
         if (messageBean.getType().equals(MessageAlarmStateType.fault)) {
             type = mContext.getString(R.string.my_power_station_malfunction);
@@ -54,8 +55,8 @@
             type = mContext.getString(R.string.message_alarm);
             drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300);
         } else if (messageBean.getType().equals(MessageAlarmStateType.event)) {
-            type =mContext.getString(R.string.event);
-            drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300);
+            type = mContext.getString(R.string.loading_title_tip);
+            drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_b9b9b9);
         }
         holder.item_estate_tv.setText(type);
         holder.item_estate_tv.setBackground(drawable);
@@ -69,8 +70,8 @@
             @Override
             public void onClick(View v) {
                 try {
-                    if (noOnclickListener != null) {
-                        noOnclickListener.onClick((int) holder.itemView.getTag(), messageBean);
+                    if (mOnclickListener != null) {
+                        mOnclickListener.onClick((int) holder.itemView.getTag(), messageBean);
                     }
                 } catch (Exception ignored) {
                 }
@@ -85,12 +86,19 @@
     }
 
 
-    public void setList(List<MessageBean> list) {
-        this.mList = list;
+    public void setList(List<MessageBean> newData) {
+        if (this.mList == null) {
+            this.mList = new ArrayList<>();
+        } else {
+            this.mList.clear();
+        }
+
+        this.mList.addAll(newData);
+        notifyDataSetChanged();
     }
 
-    public void setNoOnclickListener(MessageAdapter.OnclickListener onclickListener) {
-        this.noOnclickListener = onclickListener;
+    public void setOnclickListener(OnClickListener onClickListener) {
+        this.mOnclickListener = onClickListener;
     }
 
     /**
@@ -113,8 +121,27 @@
         }
     }
 
-    public interface OnclickListener {
+    public interface OnClickListener {
         void onClick(int position, MessageBean messageBean);
     }
 
+    /**
+     * 閫氳繃鏋氫妇杞崲璁惧绫诲瀷鐨勫瓧绗�
+     *
+     * @param deviceType //璁惧绫诲瀷(INV 锛� 閫嗗彉鍣�, BMS 锛� BMS鎺у埗鐩�, BATTERY 锛� 鐢垫睜鍗曞厓)
+     * @return 璁惧绫诲瀷
+     */
+    private String getDeviceTypeStr(String deviceType) {
+        switch (deviceType) {
+            case DeviceType.inv:
+                return mContext.getString(R.string.alarm_all_device_inverter);
+            case DeviceType.bms:
+                return mContext.getString(R.string.alarm_all_device_bms);
+            case DeviceType.battery:
+                return mContext.getString(R.string.alarm_all_device_battery_cell);
+            default:
+                return "";
+        }
+    }
+
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/UnCountBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/UnCountBean.java
new file mode 100644
index 0000000..d591cd0
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/UnCountBean.java
@@ -0,0 +1,36 @@
+package com.hdl.photovoltaic.ui.bean;
+
+import java.io.Serializable;
+
+public class UnCountBean implements Serializable {
+
+    private int untreatedCount;//鏈鐞嗘暟閲�
+    private int processedCount;//宸插鐞嗘暟
+    private int unreadCount;//鏈鏁伴噺
+
+    public int getUntreatedCount() {
+        return untreatedCount;
+    }
+
+    public void setUntreatedCount(int untreatedCount) {
+        this.untreatedCount = untreatedCount;
+    }
+
+    public int getProcessedCount() {
+        return processedCount;
+    }
+
+    public void setProcessedCount(int processedCount) {
+        this.processedCount = processedCount;
+    }
+
+    public int getUnreadCount() {
+        return unreadCount;
+    }
+
+    public void setUnreadCount(int unreadCount) {
+        this.unreadCount = unreadCount;
+    }
+
+
+}
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
deleted file mode 100644
index 8597c39..0000000
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/AllMessageFragment.java
+++ /dev/null
@@ -1,181 +0,0 @@
-package com.hdl.photovoltaic.ui.message;
-
-import android.content.Intent;
-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.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;
-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;
-
-/**
- * 娑堟伅-鍏ㄩ儴
- */
-public class AllMessageFragment extends CustomBaseFragment {
-
-    private FragmentMessageAllBinding viewBinding;
-
-    private MessageAdapter messageAllAdapter;
-
-    private final List<MessageBean> mList = new ArrayList<>();
-
-    @Override
-    public Object getContentView() {
-        viewBinding = FragmentMessageAllBinding.inflate(getLayoutInflater());
-        return viewBinding.getRoot();
-    }
-
-    @Override
-    public void onBindView(Bundle savedInstanceState) {
-        //鍒濆鍖栨暟鎹�
-        initData();
-        //鍒濆鍖栫晫闈�
-        initView();
-        //鍒濆鍖栫洃鍚櫒
-        initEvent();
-    }
-
-    private void initData() {
-        mList.clear();
-        mList.addAll(HdlMessageLogic.getInstance().getAllMessageList());
-    }
-
-
-    private void initEvent() {
-
-        //璁剧疆涓嬫媺绠ご棰滆壊
-        viewBinding.messageAllSrl.setColorSchemeResources(R.color.text_FF245EC3);
-        viewBinding.messageAllSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
-            @Override
-            public void onRefresh() {
-                mList.clear();//琛ㄧず寮哄埗閲嶆柊璇锋眰娑堟伅鍒楄〃
-                updateListData();//娓呯┖涔嬪墠缂撳瓨,鍥犱负閬囧埌涓�涓棶棰樼寷鎷夌殑鏃跺�欐姤閿�;
-                getAllMessageList(false);
-                HdlLogLogic.print("AllMessageFragment涓嬫媺鍒锋柊", false);
-            }
-        });
-        if (messageAllAdapter != null) {
-            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);
-                    startActivity(intent);
-                }
-            });
-        }
-
-
-    }
-
-    private void initView() {
-        viewBinding.messageAllRecyclerview.setLayoutManager(new LinearLayoutManager(_mActivity));
-        messageAllAdapter = new MessageAdapter(this.mList, _mActivity);
-        viewBinding.messageAllRecyclerview.setAdapter(messageAllAdapter);
-    }
-
-    /**
-     * 鍒锋柊鍒楄〃鏁版嵁
-     */
-    private void updateListData() {
-        if (this.messageAllAdapter != null) {
-            this.messageAllAdapter.setList(mList);
-            this.messageAllAdapter.notifyDataSetChanged();
-        }
-    }
-
-    @Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
-    public void onEventMessage(BaseEventBus eventBus) {
-        super.onEventMessage(eventBus);
-        if (eventBus == null) {
-            return;
-        }
-        //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢
-        if (eventBus.getTopic().equals(ConstantManage.message_function_tab_switch)) {
-            if (eventBus.getType().equals(MessageFunctionTabSwitch.all.toString())) {
-                initData();
-                getAllMessageList(true);
-                // 鍙栨秷绮樻�т簨浠�
-                EventBus.getDefault().removeStickyEvent(eventBus);
-            }
-        } else if (eventBus.getTopic().equals(ConstantManage.message_function_push_post)) {
-            if (eventBus.getType().equals(MessageStateType.all)) {
-                //娑堟伅璇︽儏鍥炶皟
-//                initData();
-//                updateListData();
-            }
-        }
-    }
-
-    /**
-     * 鑾峰彇鍏ㄩ儴涓殑娑堟伅鍒楄〃
-     *
-     * @param isShowLoading 鏄惁鍚姩 true鍚姩
-     */
-    private void getAllMessageList(boolean isShowLoading) {
-        if (mList.size() == 0) {
-            if (isShowLoading) {
-                showLoading();
-            }
-            HdlMessageLogic.getInstance().getAllMessageList(new CloudCallBeak<List<MessageBean>>() {
-                @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 (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 ea34e28..3c1e038 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,20 +1,34 @@
 package com.hdl.photovoltaic.ui.message;
 
+import android.annotation.SuppressLint;
+import android.content.Intent;
 import android.os.Bundle;
 import android.view.View;
+import android.widget.TextView;
 
 
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentTransaction;
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+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.FragmentMessageBinding;
+import com.hdl.photovoltaic.enums.FilterType;
 import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
-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;
+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.photovoltaic.ui.bean.UnCountBean;
+import com.hdl.photovoltaic.widget.TypeTitleListDialog;
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
 
 import org.greenrobot.eventbus.EventBus;
@@ -22,7 +36,9 @@
 import org.greenrobot.eventbus.ThreadMode;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 娑堟伅
@@ -31,12 +47,23 @@
 
     private FragmentMessageBinding viewBinding;
 
-    //褰撳墠鏄剧ず鐨刦ragment
-    private static final String CURRENT_FRAGMENT = "state_fragment_show";
-    private FragmentManager mFragmentManager;
-    private Fragment currentFragment = new Fragment();
-    private final List<Fragment> fragmentList = new ArrayList<>();
-    private int currentIndex = 0;
+    private MessageAdapter mMessageAdapter;
+    private boolean isAlarmDeviceClick = true;//true琛ㄧず鍛婅璁惧琚�変腑,鍒檉alse琛ㄧず鎶ヨ璁板綍琚�変腑
+
+    private final List<MessageBean> mList = new ArrayList<>();
+    private int mCurrentPage = 0; // 褰撳墠椤电爜
+    private int mCurrentTotal = 0; // 鎬婚〉鐮�
+    private String mDeviceTypeFilterKye = FilterType.deviceType;//杩囨护绫诲瀷 deviceType锛圛NV 锛氶�嗗彉鍣紱BMS 锛欱MS鎺у埗鐩掞紱BATTERY 锛氱數姹犲崟鍏冿級
+    private String mDeviceTypeFilterValue = FilterType.all;//杩囨护绫诲瀷鍊� deviceType锛圛NV 锛氶�嗗彉鍣紱BMS 锛欱MS鎺у埗鐩掞紱BATTERY 锛氱數姹犲崟鍏冿級
+
+    private String mTypeFilterKye = FilterType.all;//杩囨护绫诲瀷 type锛團AULT 锛氭晠闅滐紱 WARN 锛氬憡璀︼紱 EVENT 锛氫簨浠�(鎻愮ず)锛夛紱
+    private String mTypeFilterValue = FilterType.all;//杩囨护绫诲瀷鍊� type锛團AULT 锛氭晠闅滐紱 WARN 锛氬憡璀︼紱 EVENT 锛氫簨浠�(鎻愮ず)锛夛紱
+
+    private String mTimeTypeFilterKye = FilterType.all;//杩囨护绫诲瀷  timeType锛圱ODAY 锛氫粖澶╋紱LAST_3_DAYS: 杩�3澶╋紱LAST_7_DAYS 锛氳繎7澶╋紱LAST_30_DAYS 锛氳繎30澶╋級锛�
+    private String mTimeTypeFilterValue = FilterType.all;//杩囨护绫诲瀷鍊�  timeType锛圱ODAY 锛氫粖澶╋紱LAST_3_DAYS: 杩�3澶╋紱LAST_7_DAYS 锛氳繎7澶╋紱LAST_30_DAYS 锛氳繎30澶╋級锛�
+
+
+    private boolean isLoadingMore = false; // 鏍囪姝e湪鍔犺浇鏇村鏁版嵁
 
     @Override
     public Object getContentView() {
@@ -46,165 +73,200 @@
 
     @Override
     public void onBindView(Bundle savedInstanceState) {
-
-        //鍒濆鍖栫鐗�
-        initFragment(savedInstanceState);
         //鍒濆鍖栫晫闈�
         initView();
         //鍒濆鍖栫洃鍚櫒
         initEvent();
         //鍒濆鍖栨暟鎹�
         initData();
+
     }
 
     private void initEvent() {
 
         //鍙戠敓涓�
-        viewBinding.messageTabNascentCl.setOnClickListener(new View.OnClickListener() {
+        viewBinding.messageTabNascentTitleTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                currentIndex = 0;
-                initView();
-                showFragment();
-                postEventBus(MessageFunctionTabSwitch.nascent);
-
+                if (isAlarmDeviceClick) {
+                    return;
+                }
+                isAlarmDeviceClick = true;
+                viewBinding.messageTabNascentTitleTv.setTextAppearance(R.style.Text20Style);
+                viewBinding.messageTabRecoverTitleTv.setTextAppearance(R.style.Text16Style);
+                viewBinding.allClearTv.setVisibility(View.VISIBLE);
+                loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
             }
         });
-        //宸叉仮澶�
-        viewBinding.messageTabRecoverCl.setOnClickListener(new View.OnClickListener() {
+        //鎶ヨ璁板綍
+        viewBinding.messageTabRecoverTitleTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                currentIndex = 1;
-                initView();
-                showFragment();
-                postEventBus(MessageFunctionTabSwitch.recover);
-
+                if (!isAlarmDeviceClick) {
+                    return;
+                }
+                isAlarmDeviceClick = false;
+                viewBinding.messageTabNascentTitleTv.setTextAppearance(R.style.Text16Style);
+                viewBinding.messageTabRecoverTitleTv.setTextAppearance(R.style.Text20Style);
+                viewBinding.allClearTv.setVisibility(View.GONE);
+                loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
             }
         });
 
-        //鍏ㄩ儴
-        viewBinding.messageTabAllCl.setOnClickListener(new View.OnClickListener() {
+        //娓呯┖鎵�鏈夋湭璇绘寜閽�
+        viewBinding.allClearTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                currentIndex = 2;
-                initView();
-                showFragment();
-                postEventBus(MessageFunctionTabSwitch.all);
+                showLoading();
+                HdlMessageLogic.getInstance().messageAllRead("", new CloudCallBeak<Boolean>() {
+                    @Override
+                    public void onSuccess(Boolean obj) {
+                        hideLoading();
+                        loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        hideLoading();
+                        HdlThreadLogic.toast(_mActivity, e);
+                    }
+                });
             }
         });
+
+        //鍏ㄩ儴璁惧(鍏ㄩ儴璁惧銆侀�嗗彉鍣ㄣ�丅MS鎺у埗鐩掋�佺數姹犲崟鍏�)鎸夐挳
+        viewBinding.messageTabAllDeviceCl.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                viewBinding.allDeviceTitleIv.setBackgroundResource(R.drawable.up);
+                viewBinding.allGradeTitleIv.setBackgroundResource(R.drawable.down);
+                viewBinding.allTimeTitleIv.setBackgroundResource(R.drawable.down);
+                List<String> stringList = getTypeList(FilterType.deviceType);
+                TypeTitleListDialog typeTitleListDialog = new TypeTitleListDialog(_mActivity, stringList);
+                typeTitleListDialog.show();
+                typeTitleListDialog.setOnListener(new TypeTitleListDialog.OnClickListener() {
+                    @Override
+                    public void onClick(int position, String title) {
+
+                        viewBinding.allDeviceTitleTv.setText(title);
+                        mDeviceTypeFilterKye = FilterType.deviceType;
+                        mDeviceTypeFilterValue = findFilterValueString(title);
+                        loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
+
+                    }
+                });
+
+
+            }
+        });
+        //鍏ㄩ儴绛夌骇(鏁呴殰銆佽鍛娿�佹彁绀�)鎸夐挳
+        viewBinding.messageTabAllGradeCl.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                viewBinding.allDeviceTitleIv.setBackgroundResource(R.drawable.down);
+                viewBinding.allGradeTitleIv.setBackgroundResource(R.drawable.up);
+                viewBinding.allTimeTitleIv.setBackgroundResource(R.drawable.down);
+                List<String> stringList = getTypeList(FilterType.type);
+                TypeTitleListDialog typeTitleListDialog = new TypeTitleListDialog(_mActivity, stringList);
+                typeTitleListDialog.show();
+                typeTitleListDialog.setOnListener(new TypeTitleListDialog.OnClickListener() {
+                    @Override
+                    public void onClick(int position, String title) {
+                        viewBinding.allGradeTitleTv.setText(title);
+                        mTypeFilterKye = FilterType.type;
+                        mTypeFilterValue = findFilterValueString(title);
+                        loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
+                    }
+                });
+            }
+        });
+        //鍏ㄩ儴鏃堕棿(褰撳ぉ銆佽繎3澶┿�佽繎7澶┿�佽繎30澶�)鎸夐挳
+        viewBinding.messageTabAllTimeCl.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                viewBinding.allDeviceTitleIv.setBackgroundResource(R.drawable.down);
+                viewBinding.allGradeTitleIv.setBackgroundResource(R.drawable.down);
+                viewBinding.allTimeTitleIv.setBackgroundResource(R.drawable.up);
+                List<String> stringList = getTypeList(FilterType.timeType);
+                TypeTitleListDialog typeTitleListDialog = new TypeTitleListDialog(_mActivity, stringList);
+                typeTitleListDialog.show();
+                typeTitleListDialog.setOnListener(new TypeTitleListDialog.OnClickListener() {
+                    @Override
+                    public void onClick(int position, String title) {
+                        viewBinding.allTimeTitleTv.setText(title);
+                        mTimeTypeFilterKye = FilterType.timeType;
+                        mTimeTypeFilterValue = findFilterValueString(title);
+                        loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
+                    }
+                });
+            }
+        });
+
+        //涓嬫媺鎸夐挳
+        viewBinding.messageSrl.setColorSchemeResources(R.color.text_FF245EC3);
+        viewBinding.messageSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+            @Override
+            public void onRefresh() {
+                viewBinding.messageSrl.setRefreshing(false);
+                loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
+            }
+        });
+        //涓婃媺鎸夐挳
+        viewBinding.messageRcv.addOnScrollListener(new RecyclerView.OnScrollListener() {
+            @Override
+            public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
+//                super.onScrolled(recyclerView, dx, dy);
+
+                LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
+                if (layoutManager == null) {
+                    return;
+                }
+                int visibleItemCount = layoutManager.getChildCount();
+                int totalItemCount = layoutManager.getItemCount();
+                int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition();
+                if (visibleItemCount > 0 && visibleItemCount + firstVisibleItemPosition == totalItemCount) {
+                    if (!isLoadingMore) {
+                        // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔
+                        HdlLogLogic.print("--->婊戝姩鍒颁簡搴曢儴");
+                        loadNextPageMessageList(++mCurrentPage, false, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, false);
+                    }
+                }
+            }
+        });
+        if (mMessageAdapter != null) {
+            mMessageAdapter.setOnclickListener(new MessageAdapter.OnClickListener() {
+                @Override
+                public void onClick(int position, MessageBean messageBean) {
+                    Intent intent = new Intent();
+                    intent.putExtra("msgId", messageBean.getMsgId().toString());
+                    intent.setClass(_mActivity, MessageInfoActivity.class);
+                    startActivity(intent);
+                }
+            });
+
+        }
     }
 
 
     private void initView() {
-        if (this.currentIndex == 0) {
-            viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
-            viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-            viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-            viewBinding.line1V.setVisibility(View.VISIBLE);
-            viewBinding.line2V.setVisibility(View.GONE);
-            viewBinding.line3V.setVisibility(View.GONE);
-        } else if (this.currentIndex == 1) {
-            viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-            viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
-            viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-            viewBinding.line1V.setVisibility(View.GONE);
-            viewBinding.line2V.setVisibility(View.VISIBLE);
-            viewBinding.line3V.setVisibility(View.GONE);
-        } else if (this.currentIndex == 2) {
-            viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-            viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-            viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
-            viewBinding.line1V.setVisibility(View.GONE);
-            viewBinding.line2V.setVisibility(View.GONE);
-            viewBinding.line3V.setVisibility(View.VISIBLE);
+        if (isAlarmDeviceClick) {
+            viewBinding.messageTabNascentTitleTv.setTextAppearance(R.style.Text20Style);
+            viewBinding.messageTabRecoverTitleTv.setTextAppearance(R.style.Text16Style);
+        } else {
+            viewBinding.messageTabNascentTitleTv.setTextAppearance(R.style.Text16Style);
+            viewBinding.messageTabRecoverTitleTv.setTextAppearance(R.style.Text20Style);
         }
 
+        mMessageAdapter = new MessageAdapter(_mActivity);
+        viewBinding.messageRcv.setLayoutManager(new LinearLayoutManager(_mActivity));
+        viewBinding.messageRcv.setAdapter(mMessageAdapter);
     }
 
     private void initData() {
+        //杩涙潵璇诲彇涓�娆℃暟鎹�(涓轰簡鏇存柊currentPage锛宑urrentTotal杩欎釜鍊�),app鍚姩鏃跺�欒鍙栵紝涓轰簡鍒锋柊娑堟伅妯″潡鐨勮鏍�
+        loadNextPageMessageList(1, true, FilterType.all, FilterType.all, FilterType.all, FilterType.all, FilterType.all, FilterType.all, true);
     }
 
-    /**
-     * 鍙戝竷鐐瑰嚮浜嬩欢
-     *
-     * @param tabSwitch -
-     */
-    private void postEventBus(MessageFunctionTabSwitch tabSwitch) {
-        BaseEventBus baseEventBus = new BaseEventBus();
-        baseEventBus.setTopic(ConstantManage.message_function_tab_switch);
-        baseEventBus.setType(tabSwitch.toString());
-        //鍙戦�佺矘鎬т簨浠�(濡傛灉涓嶅彂绮樻�т簨浠朵細閬囧埌涓�涓病鏈夊姞杞藉嚭鏉ョ殑纰庣墖鎺ユ敹涓嶅埌淇℃伅)
-        EventBus.getDefault().postSticky(baseEventBus);
-    }
-
-
-    /**
-     * 鍒濆鍖朏ragment
-     *
-     * @param savedInstanceState -
-     */
-    private void initFragment(Bundle savedInstanceState) {
-        mFragmentManager = _mActivity.getSupportFragmentManager();
-        //纰庣墖鍒濆鍖�
-        NascentMessageFragment mNascentMessageFragment = new NascentMessageFragment();
-        RecoverMessageFragment mRecoverMessageFragment = new RecoverMessageFragment();
-        AllMessageFragment mAllMessageFragment = new AllMessageFragment();
-        if (savedInstanceState != null) {
-            //鈥滃唴瀛橀噸鍚�濇椂璋冪敤 鑾峰彇鈥滃唴瀛橀噸鍚�濇椂淇濆瓨鐨勭储寮曚笅鏍�
-            currentIndex = savedInstanceState.getInt(CURRENT_FRAGMENT, 0);
-            if (fragmentList.size() != 0) {
-                fragmentList.clear();
-            }
-            fragmentList.add(mFragmentManager.findFragmentByTag(0 + ""));
-            fragmentList.add(mFragmentManager.findFragmentByTag(1 + ""));
-            fragmentList.add(mFragmentManager.findFragmentByTag(2 + ""));
-            restoreFragment();//鎭㈠fragment椤甸潰
-        } else {
-            //姝e父鍚姩鏃惰皟鐢�
-            fragmentList.add(mNascentMessageFragment);
-            fragmentList.add(mRecoverMessageFragment);
-            fragmentList.add(mAllMessageFragment);
-            showFragment();
-        }
-
-    }
-
-    /**
-     * 浣跨敤show() hide()鍒囨崲椤甸潰
-     * 鏄剧ずfragment
-     */
-    private void showFragment() {
-        FragmentTransaction ft = mFragmentManager.beginTransaction();
-        //濡傛灉涔嬪墠娌℃湁娣诲姞杩�
-        if (!fragmentList.get(currentIndex).isAdded()) {
-            //绗笁涓弬鏁颁负娣诲姞褰撳墠鐨刦ragment鏃剁粦瀹氫竴涓猼ag
-            ft.hide(currentFragment).add(R.id.message_fcv, fragmentList.get(currentIndex), currentIndex + "");
-        } else {
-            ft.hide(currentFragment).show(fragmentList.get(currentIndex));
-        }
-        currentFragment = fragmentList.get(currentIndex);
-        ft.commit();
-        //鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵
-        currentFragment = fragmentList.get(currentIndex);
-
-
-    }
-
-    /**
-     * 鎭㈠fragment
-     */
-    private void restoreFragment() {
-        FragmentTransaction ft = mFragmentManager.beginTransaction();
-        for (int i = 0; i < fragmentList.size(); i++) {
-            if (i == currentIndex) {
-                ft.show(fragmentList.get(i));
-            } else {
-                ft.hide(fragmentList.get(i));
-            }
-        }
-        ft.commit();
-
-    }
 
     @Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
     public void onEventMessage(BaseEventBus eventBus) {
@@ -217,10 +279,297 @@
             if (eventBus.getType().equals(HomepageTitleTabSwitch.message.toString())) {
                 // 鍙栨秷绮樻�т簨浠�
                 EventBus.getDefault().removeStickyEvent(eventBus);
-                postEventBus(MessageFunctionTabSwitch.nascent);
+                //杩涙潵璇诲彇涓�娆℃暟鎹�(涓轰簡鏇存柊currentPage锛宑urrentTotal杩欎釜鍊�)
+                initData();
                 HdlLogLogic.print("姝e湪鐐瑰嚮銆愭秷鎭��");
 
             }
         }
     }
+
+    /**
+     * 鍔犺浇涓�椤垫暟鎹�
+     *
+     * @param pageNo                  椤垫暟
+     * @param isShowLoading           鏄惁鍚姩鍔犺浇妗� true鍚姩
+     * @param deviceType_filter_key   绫诲瀷锛堣澶囷紝绛夌骇锛屾椂闂达級
+     * @param deviceType_filter_value deviceType锛圛NV 锛氶�嗗彉鍣紱BMS 锛欱MS鎺у埗鐩掞紱BATTERY 锛氱數姹犲崟鍏冿級锛�
+     *                                type锛團AULT 锛氭晠闅滐紱 WARN 锛氬憡璀︼紱 EVENT 锛氫簨浠�(鎻愮ず)锛夛紱
+     *                                timeType锛圱ODAY 锛氫粖澶╋紱LAST_3_DAYS: 杩�3澶╋紱LAST_7_DAYS 锛氳繎7澶╋紱LAST_30_DAYS 锛氳繎30澶╋級锛�
+     * @param isClear                 true琛ㄧず娓呯┖缂撳瓨
+     */
+    private void loadNextPageMessageList(
+            int pageNo,
+            boolean isShowLoading,
+            String deviceType_filter_key,
+            String deviceType_filter_value,
+            String type_filter_key,
+            String type_filter_value,
+            String timeType_filter_key,
+            String timeType_filter_value,
+            boolean isClear) {
+        if (isClear) {
+            //琛ㄧず浠庣涓�椤靛彲浠ヨ鍙栵紝榛樿娓呯┖鎵�鏈夌紦瀛樻暟鎹�;
+            clearCacheData();
+        }
+        //绗竴椤佃鍙栨暟鎹己鍒惰
+        if (pageNo > 1 && mCurrentPage > mCurrentTotal) {
+            --mCurrentPage;
+            //褰撳墠椤典笉鑳藉ぇ浜庢�婚〉鏁�
+            return;
+        }
+        isLoadingMore = true;//鏍囪璇诲彇鐘舵��
+        if (isShowLoading) {
+            showLoading();
+        }
+        String messageStateType;
+        if (isAlarmDeviceClick) {
+            messageStateType = MessageStateType.untreated;
+        } else {
+            messageStateType = MessageStateType.processed;
+        }
+        HdlMessageLogic.getInstance().getPageNoMessageList("", pageNo, messageStateType, deviceType_filter_key, deviceType_filter_value, type_filter_key, type_filter_value, timeType_filter_key, timeType_filter_value, new CloudCallBeak<HdlMessageLogic.MessageListClass>() {
+            @Override
+            public void onSuccess(HdlMessageLogic.MessageListClass messageListClass) {
+                if (messageListClass != null) {
+                    mCurrentTotal = (int) messageListClass.getTotalPage();
+                    mCurrentPage = (int) messageListClass.getPageNo();
+                    updateListData();
+                }
+                isLoadingMore = false;
+                if (isShowLoading) {
+                    hideLoading();
+                }
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+                if (mCurrentPage > 1) {
+                    --mCurrentPage;
+                }
+                isLoadingMore = false;
+                if (isShowLoading) {
+                    hideLoading();
+                }
+            }
+        });
+
+
+    }
+
+    /**
+     * 鍒锋柊鍒楄〃鏁版嵁
+     */
+    private void updateListData() {
+        HdlThreadLogic.runMainThread(new Runnable() {
+            @Override
+            public void run() {
+                //璇诲彇缂撳瓨鏁版嵁
+                updateCacheData();
+                //鍒锋柊鍒楄〃
+                updateRecyclerViewList();
+                //鏄剧ず鏈淇℃伅鎬绘暟閲�
+                getUnreadCount();
+                //鏄剧ず娌℃暟鎹甎i鏍峰紡
+                nullDataUpdateUi();
+
+            }
+        });
+    }
+
+    /**
+     * 鍒锋柊淇℃伅鏁伴噺鎬绘暟
+     *
+     * @param nascentTotalCount 鍙戦�佷腑娑堟伅鎬绘暟閲�
+     * @param recoverTotalCount 鎶ヨ璁板綍娑堟伅鎬绘暟閲�
+     */
+    private void refreshAascentAndRecoverTotalCount(int nascentTotalCount, int recoverTotalCount) {
+        HdlThreadLogic.runMainThread(new Runnable() {
+            @Override
+            public void run() {
+                //璁惧鎶ヨ鎬绘暟閲�
+                TextView nascentTv = _mActivity.findViewById(R.id.message_tab_nascent_title_tv);
+                if (nascentTv != null) {
+                    nascentTv.setText(getText(R.string.message_nascent));
+                    if (nascentTotalCount > 0) {
+                        String s = getText(R.string.message_nascent) + "(" + nascentTotalCount + ")";
+                        nascentTv.setText(s);
+                    }
+                }
+                //鎶ヨ璁板綍鎬绘暟閲�
+                TextView recoverTV = _mActivity.findViewById(R.id.message_tab_recover_title_tv);
+                if (recoverTV != null) {
+                    recoverTV.setText(getText(R.string.alarm_record));
+                    if (recoverTotalCount > 0) {
+                        String s = getText(R.string.alarm_record) + "(" + recoverTotalCount + ")";
+                        recoverTV.setText(s);
+                    }
+                }
+            }
+        });
+
+    }
+
+    /**
+     * 鍒锋柊銆愭秷鎭ā鍧椼�戜笅瑙掓爣鏁板��
+     *
+     * @param unreadCount 鏈淇℃伅鏁伴噺鎬绘暟
+     */
+    private void refreshUnreadCount(int unreadCount) {
+        HdlThreadLogic.runMainThread(new Runnable() {
+            @SuppressLint("SetTextI18n")
+            @Override
+            public void run() {
+                TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
+                if (textView != null) {
+                    if (unreadCount == 0) {
+                        textView.setVisibility(View.GONE);
+                    } else {
+                        textView.setVisibility(View.VISIBLE);
+                        if (unreadCount > 99) {
+                            textView.setText("99+");
+                        } else {
+                            textView.setText(unreadCount + "");
+                        }
+                    }
+                }
+            }
+        });
+    }
+
+    /**
+     * 閲嶆柊鏇存柊鍒楄〃鏁版嵁
+     */
+    private void updateRecyclerViewList() {
+        if (mMessageAdapter == null) {
+            return;
+        }
+        mMessageAdapter.setList(mList);
+    }
+
+    /**
+     * 娓呯┖鎵�鏈夌紦瀛樻暟鎹�(鑾峰彇绗竴椤典箣鍓嶈娓呯┖鎵�鏈夌紦瀛樻暟鎹�)
+     */
+    private void clearCacheData() {
+        mList.clear();
+        HdlMessageLogic.getInstance().clearListMessage();//琛ㄧず寮哄埗娓呯┖鎵�鏈夌紦瀛樹俊鎭�
+    }
+
+    /**
+     * 鏇存柊缂撳瓨鏁版嵁
+     */
+    private void updateCacheData() {
+        mList.clear();
+        if (isAlarmDeviceClick) {
+            //璁惧鎶ヨ
+            mList.addAll(HdlMessageLogic.getInstance().getNascentMessageMemoryList());
+        } else {
+            //鎶ヨ璁板綍
+            mList.addAll(HdlMessageLogic.getInstance().getRecoverMessageMemoryList());
+        }
+    }
+
+    /**
+     * 璇诲彇娑堟伅銆愭湭璇绘暟閲�,鏈鐞嗘�绘暟閲忥紝宸插鐞嗘�绘暟閲忋��
+     */
+    private void getUnreadCount() {
+        HdlMessageLogic.getInstance().getMessageUntreatedCount("", new CloudCallBeak<UnCountBean>() {
+            @Override
+            public void onSuccess(UnCountBean unCountBean) {
+
+                HdlThreadLogic.runMainThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        if (unCountBean == null) {
+                            return;
+                        }
+                        refreshAascentAndRecoverTotalCount(unCountBean.getUntreatedCount(), unCountBean.getProcessedCount());
+                        refreshUnreadCount(unCountBean.getUnreadCount());
+                    }
+
+                });
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+                TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
+                if (textView != null) {
+                    textView.setVisibility(View.GONE);
+                }
+            }
+        });
+    }
+
+
+    /**
+     * 娌℃湁娑堟伅鍒楄〃鐨勬牱寮�
+     */
+    private void nullDataUpdateUi() {
+        HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, viewBinding.nullDataIc.getRoot(), viewBinding.nullDataIc.nullDataGifAnimationIv, viewBinding.nullDataIc.nullDataTv, getString(R.string.message_alarm_data_null), mList.size() > 0);
+    }
+
+    /**
+     * 鏌ユ壘杩囨护鍊�
+     *
+     * @param title 鏍囬
+     * @return 杩囨护鍊�
+     */
+    public String findFilterValueString(String title) {
+        Map<String, String> map = new HashMap<>();
+        map.put(getString(R.string.alarm_all_device), "");//璁惧鍏ㄩ儴
+        map.put(getString(R.string.alarm_all_device_inverter), "INV");
+        map.put(getString(R.string.alarm_all_device_bms), "BMS");
+        map.put(getString(R.string.alarm_all_device_battery_cell), "BATTERY");
+        map.put(getString(R.string.alarm_all_grade), "");//璁剧瓑绾у叏閮�
+        map.put(getString(R.string.alarm_all_grade_malfunction), "FAULT");
+        map.put(getString(R.string.alarm_all_grade_warning), "WARN");
+        map.put(getString(R.string.alarm_all_grade_tip), "EVENT");
+        map.put(getString(R.string.alarm_all_time), "");//鏃堕棿鍏ㄩ儴
+        map.put(getString(R.string.alarm_all_time_same_day), "TODAY");
+        map.put(getString(R.string.alarm_all_time_3), "LAST_3_DAYS");
+        map.put(getString(R.string.alarm_all_time_7), "LAST_7_DAYS");
+        map.put(getString(R.string.alarm_all_time_30), "LAST_30_DAYS");
+
+        for (Map.Entry<String, String> entry : map.entrySet()) {
+            if (title.equals(entry.getKey())) {
+                return entry.getValue();
+            }
+        }
+        return "";
+    }
+
+    /**
+     * 鑾峰彇绫诲瀷鍒楄〃
+     *
+     * @param filterType 杩囨护绫诲瀷
+     * @return 杩斿洖绫诲瀷鍒楄〃
+     */
+    private List<String> getTypeList(String filterType) {
+        List<String> stringList = new ArrayList<>();
+        switch (filterType) {
+            case FilterType.deviceType: {
+                stringList.add(getString(R.string.alarm_all_device));
+                stringList.add(getString(R.string.alarm_all_device_inverter));
+                stringList.add(getString(R.string.alarm_all_device_bms));
+                stringList.add(getString(R.string.alarm_all_device_battery_cell));
+            }
+            break;
+            case FilterType.type: {
+                stringList.add(getString(R.string.alarm_all_grade));
+                stringList.add(getString(R.string.alarm_all_grade_malfunction));
+                stringList.add(getString(R.string.alarm_all_grade_warning));
+                stringList.add(getString(R.string.alarm_all_grade_tip));
+            }
+            break;
+            case FilterType.timeType: {
+                stringList.add(getString(R.string.alarm_all_time));
+                stringList.add(getString(R.string.alarm_all_time_same_day));
+                stringList.add(getString(R.string.alarm_all_time_3));
+                stringList.add(getString(R.string.alarm_all_time_7));
+                stringList.add(getString(R.string.alarm_all_time_30));
+            }
+            break;
+        }
+        return stringList;
+    }
 }
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
deleted file mode 100644
index 1417088..0000000
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java
+++ /dev/null
@@ -1,317 +0,0 @@
-package com.hdl.photovoltaic.ui.message;
-
-
-import android.annotation.SuppressLint;
-import android.content.Intent;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.View;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-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.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;
-
-/**
- * 娑堟伅-鍙戠敓涓�
- */
-public class NascentMessageFragment extends CustomBaseFragment {
-    private FragmentNascentMessageBinding viewBinding;
-
-    private MessageAdapter messageNascentAdapter;
-
-    private final List<MessageBean> mList = new ArrayList<>();
-    private int currentPage = 0; // 褰撳墠椤电爜
-    private int currentTotal = 0; // 鎬婚〉鐮�
-
-
-    private boolean isLoadingMore = false; // 鏍囪姝e湪鍔犺浇鏇村鏁版嵁
-
-    LinearLayoutManager layoutManager;
-
-    @Override
-    public Object getContentView() {
-        viewBinding = FragmentNascentMessageBinding.inflate(getLayoutInflater());
-        return viewBinding.getRoot();
-    }
-
-    @Override
-    public void onBindView(Bundle savedInstanceState) {
-        //鍒濆鍖栫晫闈�
-        initView();
-        //鍒濆鍖栫洃鍚櫒
-        initEvent();
-        //杩涙潵璇诲彇涓�娆℃暟鎹�(涓轰簡鏇存柊currentPage锛宑urrentTotal杩欎釜鍊�)
-        loadNextPageNascentMessageList(1, true);
-    }
-
-
-    private void initEvent() {
-        //璁剧疆涓嬫媺绠ご棰滆壊
-        viewBinding.messageNascentSrl.setColorSchemeResources(R.color.text_FF245EC3);
-        viewBinding.messageNascentSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
-            @Override
-            public void onRefresh() {
-                viewBinding.messageNascentSrl.setRefreshing(false);
-                mList.clear();//琛ㄧず寮哄埗閲嶆柊璇锋眰绗竴椤垫秷鎭垪琛�
-                HdlMessageLogic.getInstance().clearListMessage();//琛ㄧず寮哄埗娓呯┖鎵�鏈夌紦瀛樹俊鎭�
-                loadNextPageNascentMessageList(1, true);
-            }
-        });
-        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);
-                startActivity(intent);
-
-            }
-        });
-
-        viewBinding.messageNascentRecyclerview.addOnScrollListener(new RecyclerView.OnScrollListener() {
-            @Override
-            public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
-//                super.onScrolled(recyclerView, dx, dy);
-
-                LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
-                if (layoutManager == null) {
-                    return;
-                }
-                int visibleItemCount = layoutManager.getChildCount();
-                int totalItemCount = layoutManager.getItemCount();
-                int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition();
-                if (visibleItemCount > 0 && visibleItemCount + firstVisibleItemPosition == totalItemCount) {
-                    if (!isLoadingMore) {
-                        // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔
-                        HdlLogLogic.print("--->婊戝姩鍒颁簡搴曢儴");
-                        loadNextPageNascentMessageList(++currentPage, false);
-                    }
-                }
-            }
-        });
-    }
-
-    private void initView() {
-        layoutManager = new LinearLayoutManager(_mActivity);
-        viewBinding.messageNascentRecyclerview.setLayoutManager(layoutManager);
-        messageNascentAdapter = new MessageAdapter(this.mList, _mActivity);
-        viewBinding.messageNascentRecyclerview.setAdapter(messageNascentAdapter);
-    }
-
-    /**
-     * 鍒锋柊鍒楄〃鏁版嵁
-     */
-    private void updateListData() {
-        HdlThreadLogic.runMainThread(new Runnable() {
-            @Override
-            public void run() {
-                //鏇存柊鏈湴缂撳瓨鏁版嵁
-                updatelocalityCacheData();
-                //鍒锋柊鍒楄〃
-                if (messageNascentAdapter != null) {
-                    messageNascentAdapter.setList(mList);
-                    messageNascentAdapter.notifyDataSetChanged();
-                }
-                //鏄剧ず鏈淇℃伅鎬绘暟閲�
-                getUnreadCount();
-                //鏄剧ず娌℃暟鎹甎i鏍峰紡
-                nullDataUpdateUi();
-
-            }
-        });
-    }
-
-    /**
-     * 鍒锋柊銆愬彂鐢熶腑銆戜俊鎭暟閲忔�绘暟
-     */
-    private void refreshNascentCount(String totalCount) {
-        HdlThreadLogic.runMainThread(new Runnable() {
-            @Override
-            public void run() {
-                TextView textView = _mActivity.findViewById(R.id.message_tab_nascent_title_tv);
-                if (textView != null) {
-                    textView.setText(getText(R.string.message_nascent));
-                    if (!TextUtils.isEmpty(totalCount) && !totalCount.equals("0")) {
-                        String s = getText(R.string.message_nascent) + "(" + totalCount + ")";
-                        textView.setText(s);
-                    }
-                }
-            }
-        });
-    }
-
-    /**
-     * 鍒锋柊瑙掓爣銆愭湭璇汇�戜俊鎭暟閲忔�绘暟
-     */
-    private void refreshUnreadNascentCount(String unreadCount) {
-        HdlThreadLogic.runMainThread(new Runnable() {
-            @SuppressLint("SetTextI18n")
-            @Override
-            public void run() {
-                TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
-                if (textView != null) {
-                    if (TextUtils.isEmpty(unreadCount) || unreadCount.equals("0")) {
-                        textView.setVisibility(View.GONE);
-                    } else {
-                        textView.setVisibility(View.VISIBLE);
-                        if (unreadCount.length() > 2) {
-                            textView.setText("99+");
-                        } else {
-                            textView.setText(unreadCount);
-                        }
-                    }
-                }
-            }
-        });
-    }
-
-    @Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
-    public void onEventMessage(BaseEventBus eventBus) {
-        super.onEventMessage(eventBus);
-        if (eventBus == null) {
-            return;
-        }
-        //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢
-        if (eventBus.getTopic().equals(ConstantManage.message_function_tab_switch)) {
-            if (eventBus.getType().equals(MessageFunctionTabSwitch.nascent.toString())) {
-                // 鍙栨秷绮樻�т簨浠�
-                EventBus.getDefault().removeStickyEvent(eventBus);
-
-            }
-
-        } else if (eventBus.getTopic().equals(ConstantManage.message_function_push_post)) {
-            if (eventBus.getType().equals(MessageStateType.untreated)) {
-                //娑堟伅璇︽儏鍥炶皟
-                updatelocalityCacheData();
-                updateListData();
-            }
-        }
-    }
-
-    /**
-     * 鏇存柊鏈湴缂撳瓨鏁版嵁
-     */
-    private void updatelocalityCacheData() {
-        mList.clear();
-        mList.addAll(HdlMessageLogic.getInstance().getNascentMessageMemoryList());
-    }
-
-    /**
-     * 鍔犺浇涓�椤垫暟鎹�
-     *
-     * @param pageNo        椤垫暟
-     * @param isShowLoading 鏄惁鍚姩鍔犺浇妗� true鍚姩
-     */
-    private void loadNextPageNascentMessageList(int pageNo, boolean isShowLoading) {
-        //绗竴椤佃鍙栨暟鎹己鍒惰
-        if (pageNo > 1 && currentPage > currentTotal) {
-            --currentPage;
-            //褰撳墠椤典笉鑳藉ぇ浜庢�婚〉鏁�
-            return;
-        }
-        isLoadingMore = true;//鏍囪璇诲彇鐘舵��
-        if (isShowLoading) {
-            showLoading();
-        }
-        HdlMessageLogic.getInstance().getPageNoMessageList(pageNo, MessageStateType.untreated, new CloudCallBeak<HdlMessageLogic.MessageListClass>() {
-            @Override
-            public void onSuccess(HdlMessageLogic.MessageListClass messageListClass) {
-                if (messageListClass != null) {
-                    currentTotal = (int) messageListClass.getTotalPage();
-                    currentPage = (int) messageListClass.getPageNo();
-                    updateListData();
-                }
-                isLoadingMore = false;
-                if (isShowLoading) {
-                    hideLoading();
-                }
-            }
-
-            @Override
-            public void onFailure(HDLException e) {
-                if (currentPage > 1) {
-                    --currentPage;
-                }
-                isLoadingMore = false;
-                if (isShowLoading) {
-                    hideLoading();
-                }
-            }
-        });
-    }
-
-    /**
-     * 璇诲彇娑堟伅銆愭湭璇绘暟閲忋��
-     */
-    private void getUnreadCount() {
-        HdlMessageLogic.getInstance().getMessageUntreatedCount("",new CloudCallBeak<String>() {
-            @Override
-            public void onSuccess(String data) {
-
-                HdlThreadLogic.runMainThread(new Runnable() {
-                    @Override
-                    public void run() {
-                        JSONObject jsonObject = JSON.parseObject(data);
-                        if (jsonObject.containsKey("untreatedCount")) {
-                            //鏈鐞嗘暟閲�
-                            String untreatedCount = jsonObject.getString("untreatedCount");
-                            refreshNascentCount(untreatedCount);
-                        }
-                        if (jsonObject.containsKey("unreadCount")) {
-                            //鏈鏁伴噺
-                            String unreadCount = jsonObject.getString("unreadCount");
-                            refreshUnreadNascentCount(unreadCount);
-                        }
-                    }
-                });
-
-            }
-
-            @Override
-            public void onFailure(HDLException e) {
-                TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
-                if (textView != null) {
-                    textView.setVisibility(View.GONE);
-                }
-            }
-        });
-    }
-
-
-    /**
-     * 娌℃湁鐢电珯鍒楄〃鐨勬牱寮�
-     */
-    private void nullDataUpdateUi() {
-        HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, viewBinding.nullDataIc.getRoot(), viewBinding.nullDataIc.nullDataGifAnimationIv, viewBinding.nullDataIc.nullDataTv, getString(R.string.message_alarm_data_null), mList.size() > 0);
-    }
-}
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 e42864b..0c39ece 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
@@ -88,18 +88,18 @@
                 loadNextPageRecoverMessageList(1, true);
             }
         });
-        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);
-                startActivity(intent);
-            }
-        });
+//        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);
+//                startActivity(intent);
+//            }
+//        });
 
         viewBinding.messageRecoverRecyclerview.addOnScrollListener(new RecyclerView.OnScrollListener() {
             @Override
@@ -127,7 +127,7 @@
 
     private void initView() {
         viewBinding.messageRecoverRecyclerview.setLayoutManager(new LinearLayoutManager(_mActivity));
-        messageRecoverAdapter = new MessageAdapter(this.mList, _mActivity);
+        messageRecoverAdapter = new MessageAdapter(_mActivity);
         viewBinding.messageRecoverRecyclerview.setAdapter(messageRecoverAdapter);
     }
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java b/app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java
index bb187e1..d04d85f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java
@@ -336,7 +336,7 @@
         } else {
             messageStateType = MessageStateType.processed;
         }
-        HdlMessageLogic.getInstance().getPageNoMessageList_C(UserConfigManage.getInstance().getHomeId(), pageNo, messageStateType,
+        HdlMessageLogic.getInstance().getPageNoMessageList(UserConfigManage.getInstance().getHomeId(), pageNo, messageStateType,
                 deviceType_filter_key, deviceType_filter_value,
                 type_filter_key, type_filter_value,
                 timeType_filter_key, timeType_filter_value,
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 f32beb7..64e341f 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
@@ -106,8 +106,8 @@
                 isClickPowerStationLabel = true;
                 viewBinding.powerStationLabel.setTextAppearance(R.style.Text20Style);
                 viewBinding.deviceLabel.setTextAppearance(R.style.Text16Style);
-                viewBinding.powerStationLabelParent.setVisibility(View.VISIBLE);
-                viewBinding.deviceLabelParent.setVisibility(View.GONE);//璁惧鏍囩闅愯棌
+                viewBinding.powerStationLabelParent.setVisibility(View.VISIBLE);//鐢电珯鏍囩銆愮埗瀹瑰櫒銆戞樉绀�
+                viewBinding.deviceLabelParent.setVisibility(View.GONE);//璁惧鏍囩銆愮埗瀹瑰櫒銆戦殣钘�
                 loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
             }
         });
@@ -123,8 +123,8 @@
                 viewBinding.powerStationLabel.setTextAppearance(R.style.Text16Style);
                 viewBinding.editIv.setVisibility(View.GONE);//缂栬緫鍥炬爣闅愯棌
                 viewBinding.addIv.setVisibility(View.GONE);//娣诲姞鍥炬爣闅愯棌
-                viewBinding.powerStationLabelParent.setVisibility(View.GONE);//鐢电珯鏍囩闅愯棌
-                viewBinding.deviceLabelParent.setVisibility(View.VISIBLE);
+                viewBinding.powerStationLabelParent.setVisibility(View.GONE);//鐢电珯鏍囩銆愮埗瀹瑰櫒銆戦殣钘�
+                viewBinding.deviceLabelParent.setVisibility(View.VISIBLE);//璁惧鏍囩銆愮埗瀹瑰櫒銆戞樉绀�
                 loadNextPageDeviceList(true, 1, true);
             }
         });
diff --git a/app/src/main/res/drawable/house_list_line_parent_bg.xml b/app/src/main/res/drawable/house_list_line_parent_bg.xml
index 7a5233d..8e4af38 100644
--- a/app/src/main/res/drawable/house_list_line_parent_bg.xml
+++ b/app/src/main/res/drawable/house_list_line_parent_bg.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <shape xmlns:android="http://schemas.android.com/apk/res/android">
     <solid android:color="@color/text_FFFFFFFF" />
-    <corners android:radius="@dimen/dp_4" />
+    <corners android:radius="@dimen/dp_13" />
 </shape>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_message.xml b/app/src/main/res/layout/fragment_message.xml
index 8e346f6..d22ba4f 100644
--- a/app/src/main/res/layout/fragment_message.xml
+++ b/app/src/main/res/layout/fragment_message.xml
@@ -3,134 +3,266 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/message_parent"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@color/text_F5F7FA">
-
+    android:layout_height="match_parent">
+    <!--澶撮儴鏍囩-->
     <RelativeLayout
         android:id="@+id/message_rl"
-        android:layout_width="0dp"
-        android:layout_height="@dimen/dp_52"
-        android:background="@color/text_245EC3"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/dp_31"
+        android:layout_marginStart="@dimen/dp_16"
+        android:layout_marginTop="@dimen/dp_44"
+        android:layout_marginEnd="@dimen/dp_16"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent">
 
-        <LinearLayout
-            android:id="@+id/message_tab_ll"
-            android:layout_width="match_parent"
+        <TextView
+            android:id="@+id/message_tab_nascent_title_tv"
+            android:layout_width="wrap_content"
             android:layout_height="match_parent"
-            android:layout_marginStart="@dimen/dp_17"
-            android:layout_marginEnd="@dimen/dp_16"
-            android:orientation="horizontal">
-            <!--鍙戠敓涓�-->
-            <androidx.constraintlayout.widget.ConstraintLayout
-                android:id="@+id/message_tab_nascent_cl"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="1">
+            android:layout_centerVertical="true"
+            android:gravity="center_vertical"
+            android:text="@string/message_nascent"
+            android:textColor="@color/text_90000000"
+            android:textSize="@dimen/text_20"
+            android:textStyle="bold" />
 
-                <TextView
-                    android:id="@+id/message_tab_nascent_title_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="@dimen/dp_23"
-                    android:layout_marginTop="@dimen/dp_16"
-                    android:gravity="center"
-                    android:text="@string/message_nascent"
-                    android:textColor="@color/text_FFFFFFFF"
-                    android:textSize="@dimen/text_16"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toTopOf="parent" />
+        <TextView
+            android:id="@+id/message_tab_recover_title_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:layout_centerVertical="true"
+            android:layout_marginStart="@dimen/dp_21"
+            android:layout_marginEnd="@dimen/dp_4"
+            android:layout_toStartOf="@+id/all_clear_tv"
+            android:layout_toEndOf="@+id/message_tab_nascent_title_tv"
+            android:gravity="start|center_vertical"
+            android:text="@string/alarm_record"
+            android:textColor="@color/text_40000000"
+            android:textSize="@dimen/text_16"
 
-                <View
-                    android:id="@+id/line1_v"
-                    android:layout_width="0dp"
-                    android:layout_height="3dp"
-                    android:layout_marginTop="@dimen/dp_11"
-                    android:background="@color/text_FFFFFFFF"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    app:layout_constraintEnd_toEndOf="@+id/message_tab_nascent_title_tv"
-                    app:layout_constraintStart_toStartOf="@+id/message_tab_nascent_title_tv" />
+            />
+
+        <TextView
+            android:id="@+id/all_clear_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="@dimen/dp_31"
+            android:layout_alignParentEnd="true"
+            android:gravity="center"
+            android:text="@string/all_read"
+            android:textColor="@color/text_38C494"
+            android:textSize="@dimen/dp_16"
+
+            />
 
 
-            </androidx.constraintlayout.widget.ConstraintLayout>
-            <!--宸叉仮澶�-->
-            <androidx.constraintlayout.widget.ConstraintLayout
-                android:id="@+id/message_tab_recover_cl"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="1">
-
-                <TextView
-                    android:id="@+id/message_tab_recover_title_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="@dimen/dp_23"
-                    android:layout_marginTop="@dimen/dp_16"
-                    android:gravity="center"
-                    android:text="@string/message_recover"
-                    android:textColor="@color/text_FFFFFFFF"
-                    android:textSize="@dimen/text_16"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toTopOf="parent" />
-
-                <View
-                    android:id="@+id/line2_v"
-                    android:layout_width="0dp"
-                    android:layout_height="3dp"
-                    android:layout_marginTop="@dimen/dp_11"
-                    android:background="@color/text_FFFFFFFF"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    app:layout_constraintEnd_toEndOf="@+id/message_tab_recover_title_tv"
-                    app:layout_constraintStart_toStartOf="@+id/message_tab_recover_title_tv" />
-
-
-            </androidx.constraintlayout.widget.ConstraintLayout>
-            <!--鍏ㄩ儴 2023骞�12鏈�29鏃�09:49:59闃垮粬瑕佹眰鍏堥殣钘�-->
-            <androidx.constraintlayout.widget.ConstraintLayout
-                android:id="@+id/message_tab_all_cl"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:visibility="gone">
-
-                <TextView
-                    android:id="@+id/message_tab_all_title_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="@dimen/dp_23"
-                    android:layout_marginTop="@dimen/dp_16"
-                    android:gravity="center"
-                    android:text="@string/message_all"
-                    android:textColor="@color/text_FFFFFFFF"
-                    android:textSize="@dimen/text_16"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toTopOf="parent" />
-
-                <View
-                    android:id="@+id/line3_v"
-                    android:layout_width="0dp"
-                    android:layout_height="3dp"
-                    android:layout_marginTop="@dimen/dp_11"
-                    android:background="@color/text_FFFFFFFF"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    app:layout_constraintEnd_toEndOf="@+id/message_tab_all_title_tv"
-                    app:layout_constraintStart_toStartOf="@+id/message_tab_all_title_tv" />
-
-
-            </androidx.constraintlayout.widget.ConstraintLayout>
-        </LinearLayout>
     </RelativeLayout>
 
-    <!--Fragment-->
-    <androidx.fragment.app.FragmentContainerView
-        android:id="@+id/message_fcv"
-        android:layout_width="0dp"
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/message_cl"
+        android:layout_width="match_parent"
+        android:layout_height="98dp"
+        android:layout_marginTop="@dimen/dp_21"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/message_rl">
+        <!--鎼滅储-->
+        <RelativeLayout
+            android:id="@+id/message_search_cl"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/dp_35"
+            android:layout_marginStart="@dimen/dp_13"
+            android:layout_marginEnd="@dimen/dp_16"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent">
+
+            <RelativeLayout
+                android:id="@+id/message_search_click_cl"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_alignParentEnd="true"
+                android:layout_marginEnd="@dimen/dp_17"
+                android:background="@drawable/search_bj_ff05000000">
+
+                <ImageView
+                    android:id="@+id/power_station_search_iv"
+                    android:layout_width="@dimen/dp_18"
+                    android:layout_height="@dimen/dp_18"
+                    android:layout_alignParentStart="true"
+                    android:layout_centerVertical="true"
+                    android:layout_marginStart="@dimen/dp_13"
+                    android:src="@drawable/search_path" />
+
+                <TextView
+                    android:id="@+id/power_station_search_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="@dimen/dp_17"
+                    android:layout_centerVertical="true"
+                    android:layout_marginStart="@dimen/dp_11"
+                    android:layout_toEndOf="@+id/power_station_search_iv"
+                    android:text="Search the message"
+                    android:textColor="@color/text_40000000"
+                    android:textSize="@dimen/text_14" />
+            </RelativeLayout>
+
+
+        </RelativeLayout>
+        <!--鏉′欢绛涢��-->
+        <RelativeLayout
+            android:id="@+id/message_condition_screening_rl"
+            android:layout_width="0dp"
+            android:layout_height="@dimen/dp_62"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/message_search_cl">
+
+            <LinearLayout
+                android:id="@+id/message_tab_ll"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginStart="@dimen/dp_16"
+                android:layout_marginEnd="@dimen/dp_16"
+                android:orientation="horizontal">
+                <!--鍏ㄩ儴璁惧-->
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/message_tab_all_device_cl"
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_weight="1">
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal">
+
+                        <TextView
+                            android:id="@+id/all_device_title_tv"
+                            android:layout_width="wrap_content"
+                            android:layout_height="@dimen/dp_20"
+                            android:text="@string/alarm_all_device"
+                            android:textColor="@color/text_90000000"
+                            android:textSize="@dimen/text_14" />
+
+                        <View
+                            android:layout_width="@dimen/dp_7"
+                            android:layout_height="match_parent" />
+
+                        <ImageView
+                            android:id="@+id/all_device_title_iv"
+                            android:layout_width="@dimen/dp_10"
+                            android:layout_height="@dimen/dp_10"
+                            android:layout_marginStart="@dimen/dp_7"
+                            android:background="@drawable/up" />
+
+                    </LinearLayout>
+
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+                <!--鍏ㄩ儴绛夌骇-->
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/message_tab_all_grade_cl"
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_weight="1">
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent"
+                        android:gravity="center"
+                        android:orientation="horizontal">
+
+                        <TextView
+                            android:id="@+id/all_grade_title_tv"
+                            android:layout_width="wrap_content"
+                            android:layout_height="@dimen/dp_20"
+                            android:text="@string/alarm_all_grade"
+                            android:textColor="@color/text_90000000"
+                            android:textSize="@dimen/text_14" />
+
+                        <View
+                            android:layout_width="7dp"
+                            android:layout_height="match_parent" />
+
+                        <ImageView
+                            android:id="@+id/all_grade_title_iv"
+                            android:layout_width="@dimen/dp_10"
+                            android:layout_height="@dimen/dp_10"
+                            android:layout_marginStart="@dimen/dp_7"
+                            android:background="@drawable/up" />
+                    </LinearLayout>
+
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+                <!--鍏ㄩ儴鏃堕棿-->
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/message_tab_all_time_cl"
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_weight="1">
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent"
+                        android:gravity="center_vertical|end"
+                        android:orientation="horizontal">
+
+                        <TextView
+                            android:id="@+id/all_time_title_tv"
+                            android:layout_width="wrap_content"
+                            android:layout_height="@dimen/dp_20"
+                            android:layout_marginEnd="@dimen/dp_7"
+                            android:text="@string/alarm_all_time"
+                            android:textColor="@color/text_90000000"
+                            android:textSize="@dimen/text_14" />
+
+                        <View
+                            android:layout_width="@dimen/dp_7"
+                            android:layout_height="match_parent" />
+
+                        <ImageView
+                            android:id="@+id/all_time_title_iv"
+                            android:layout_width="@dimen/dp_10"
+                            android:layout_height="@dimen/dp_10"
+                            android:background="@drawable/up" />
+                    </LinearLayout>
+
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+            </LinearLayout>
+        </RelativeLayout>
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+
+    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+        android:id="@+id/message_srl"
+        android:layout_width="match_parent"
         android:layout_height="0dp"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/message_rl" />
+        app:layout_constraintTop_toBottomOf="@+id/message_cl">
 
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/message_rcv"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:clipToPadding="false"
+            android:paddingBottom="@dimen/dp_16" />
+    </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
+
+    <!--娌℃湁鏁版嵁鏄剧ず鏍峰紡-->
+    <include
+        android:id="@+id/null_data_ic"
+        layout="@layout/null_data_view"
+        android:layout_width="match_parent"
+        android:layout_height="224dp"
+        android:visibility="gone"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/message_cl" />
 
 </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_message.xml b/app/src/main/res/layout/item_message.xml
index da1f0a5..bf087ba 100644
--- a/app/src/main/res/layout/item_message.xml
+++ b/app/src/main/res/layout/item_message.xml
@@ -2,8 +2,7 @@
 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
-    android:layout_height="@dimen/dp_150"
-    android:background="@color/text_F5F7FA">
+    android:layout_height="@dimen/dp_115">
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="match_parent"
@@ -26,14 +25,15 @@
             android:id="@+id/item_content_tv"
             android:layout_width="0dp"
             android:layout_height="@dimen/dp_23"
-            android:layout_marginStart="20dp"
-            android:layout_marginTop="16dp"
+            android:layout_marginStart="16dp"
+            android:layout_marginTop="19dp"
             android:layout_marginEnd="@dimen/dp_5"
+            android:ellipsize="end"
             android:gravity="center_vertical"
+            android:singleLine="true"
+            android:textStyle="bold"
             android:textColor="@color/text_90000000"
             android:textSize="@dimen/text_16"
-            android:ellipsize="end"
-            android:singleLine="true"
             app:layout_constraintEnd_toStartOf="@+id/item_estate_tv"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
@@ -42,7 +42,7 @@
             android:id="@+id/item_home_name_tv"
             android:layout_width="wrap_content"
             android:layout_height="@dimen/dp_17"
-            android:layout_marginTop="@dimen/dp_24"
+            android:layout_marginTop="@dimen/dp_6"
             android:textColor="@color/text_40000000"
             android:textSize="@dimen/text_12"
             app:layout_constraintStart_toStartOf="@+id/item_content_tv"
@@ -52,7 +52,7 @@
             android:id="@+id/item_time_tv"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginTop="@dimen/dp_14"
+            android:layout_marginTop="@dimen/dp_6"
             android:gravity="center_vertical"
             android:textColor="@color/text_40000000"
             android:textSize="@dimen/text_12"
diff --git a/app/src/main/res/layout/item_type_title.xml b/app/src/main/res/layout/item_type_title.xml
index 8e61c18..c767cf7 100644
--- a/app/src/main/res/layout/item_type_title.xml
+++ b/app/src/main/res/layout/item_type_title.xml
@@ -19,6 +19,7 @@
             android:id="@+id/type_title_tv"
             android:layout_width="match_parent"
             android:layout_height="@dimen/dp_20"
+            android:gravity="center"
             android:textColor="@color/text_90000000"
             android:textSize="@dimen/text_14"
             app:layout_constraintBottom_toBottomOf="parent"
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 02a7e84..30b880f 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,5 +1,4 @@
 <resources>
-    <!--    <string name="app_name">PhotovoltaicDebug</string>-->
     <string name="app_name">鏅烘収鑳芥簮</string>
     <string name="title_activity_home_login">HomeLoginActivity</string>
     <!-- Strings used for fragments for navigation -->
@@ -10,6 +9,7 @@
 
     <string name="hello_first_fragment">Hello first fragment</string>
     <string name="hello_second_fragment">Hello second fragment. Arg: %1$s</string>
+
 
     <!--鐧诲綍妯″潡-->
     <string name="home_login_chinese">绠�浣撲腑鏂�</string>
@@ -287,6 +287,5 @@
     <string name="grid_connected">骞剁綉</string>
     <string name="off_network">绂荤綉</string>
     <string name="the_input_value_has_been_exceeded">杈撳叆鍊煎凡缁忚秴杩�</string>
-
-
+    <string name="all_read">涓�閿竻闄�</string>
 </resources>
\ No newline at end of file

--
Gitblit v1.8.0