From 0ee94492079e07ae2cd33f64fff441bb93f2c8c1 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 23 五月 2024 15:42:15 +0800
Subject: [PATCH] 2024年05月23日15:42:10

---
 app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java |  123 +++++++++++++++++++++++------------------
 1 files changed, 69 insertions(+), 54 deletions(-)

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 7d4221d..e5a36c3 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
@@ -12,6 +12,7 @@
 import androidx.recyclerview.widget.RecyclerView;
 import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
 
+import com.google.gson.Gson;
 import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseFragment;
@@ -28,7 +29,7 @@
 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.photovoltaic.widget.BTypeTitleListDialog;
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
 
 import org.greenrobot.eventbus.EventBus;
@@ -96,7 +97,7 @@
                 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);
+                loadNextPageMessageList(true, 1, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
             }
         });
         //鎶ヨ璁板綍
@@ -110,14 +111,21 @@
                 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);
+                loadNextPageMessageList(true, 1, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
             }
         });
         //鎼滅储娑堟伅
         viewBinding.messageSearchCl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                String messageStateType;
+                if (isAlarmDeviceClick) {
+                    messageStateType = MessageStateType.untreated;
+                } else {
+                    messageStateType = MessageStateType.processed;
+                }
                 Intent intent = new Intent();
+                intent.putExtra("MessageStateType", messageStateType);
                 intent.setClass(_mActivity, SearchMessageActivity.class);
                 startActivity(intent);
             }
@@ -132,7 +140,7 @@
                     @Override
                     public void onSuccess(Boolean obj) {
                         hideLoading();
-                        loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
+                        loadNextPageMessageList(true, 1, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
                     }
 
                     @Override
@@ -151,21 +159,7 @@
                 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);
-
-                    }
-                });
-
+                setTypeTitleListDialog(viewBinding.allDeviceTitleTv, FilterType.deviceType, getTypeList(FilterType.deviceType));
 
             }
         });
@@ -176,18 +170,8 @@
                 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);
-                    }
-                });
+                setTypeTitleListDialog(viewBinding.allGradeTitleTv, FilterType.type, getTypeList(FilterType.type));
+
             }
         });
         //鍏ㄩ儴鏃堕棿(褰撳ぉ銆佽繎3澶┿�佽繎7澶┿�佽繎30澶�)鎸夐挳
@@ -197,18 +181,7 @@
                 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);
-                    }
-                });
+                setTypeTitleListDialog(viewBinding.allTimeTitleTv, FilterType.timeType, getTypeList(FilterType.timeType));
             }
         });
 
@@ -218,7 +191,7 @@
             @Override
             public void onRefresh() {
                 viewBinding.messageSrl.setRefreshing(false);
-                loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
+                loadNextPageMessageList(true, 1, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
             }
         });
         //涓婃媺鎸夐挳
@@ -238,7 +211,7 @@
                     if (!isLoadingMore) {
                         // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔
                         HdlLogLogic.print("--->婊戝姩鍒颁簡搴曢儴");
-                        loadNextPageMessageList(++mCurrentPage, false, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, false);
+                        loadNextPageMessageList(false, ++mCurrentPage, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, false);
                     }
                 }
             }
@@ -248,13 +221,49 @@
                 @Override
                 public void onClick(int position, MessageBean messageBean) {
                     Intent intent = new Intent();
-                    intent.putExtra("msgId", messageBean.getMsgId().toString());
+                    intent.putExtra("messageBean",new Gson().toJson(messageBean));
                     intent.setClass(_mActivity, MessageInfoActivity.class);
                     startActivity(intent);
                 }
             });
 
         }
+    }
+
+    /**
+     * 绫诲瀷绛涢��
+     *
+     * @param textView   缁勪欢鏄剧ず
+     * @param filterType 杩囨护绫诲瀷
+     * @param stringList 杩囨护绫诲瀷鍊艰〃
+     */
+    private void setTypeTitleListDialog(TextView textView, String filterType, List<String> stringList) {
+        BTypeTitleListDialog typeTitleListDialog = new BTypeTitleListDialog(_mActivity, stringList);
+        typeTitleListDialog.show();
+        typeTitleListDialog.setOnListener(new BTypeTitleListDialog.OnClickListener() {
+            @Override
+            public void onClick(int position, String title) {
+                textView.setText(title);
+                switch (filterType) {
+                    case FilterType.deviceType: {
+                        mDeviceTypeFilterKye = filterType;
+                        mDeviceTypeFilterValue = findFilterValueString(title);
+                    }
+                    break;
+                    case FilterType.type: {
+                        mTypeFilterKye = filterType;
+                        mTypeFilterValue = findFilterValueString(title);
+                    }
+                    break;
+                    case FilterType.timeType: {
+                        mTimeTypeFilterKye = filterType;
+                        mTimeTypeFilterValue = findFilterValueString(title);
+                    }
+                    break;
+                }
+                loadNextPageMessageList(true, 1, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
+            }
+        });
     }
 
 
@@ -274,7 +283,7 @@
 
     private void initData() {
         //杩涙潵璇诲彇涓�娆℃暟鎹�(涓轰簡鏇存柊currentPage锛宑urrentTotal杩欎釜鍊�),app鍚姩鏃跺�欒鍙栵紝涓轰簡鍒锋柊娑堟伅妯″潡鐨勮鏍�
-        loadNextPageMessageList(1, true, FilterType.all, FilterType.all, FilterType.all, FilterType.all, FilterType.all, FilterType.all, true);
+        loadNextPageMessageList(true, 1, FilterType.all, FilterType.all, FilterType.all, FilterType.all, FilterType.all, FilterType.all, true);
     }
 
 
@@ -290,7 +299,7 @@
                 // 鍙栨秷绮樻�т簨浠�
                 EventBus.getDefault().removeStickyEvent(eventBus);
                 //杩涙潵璇诲彇涓�娆℃暟鎹�(涓轰簡鏇存柊currentPage锛宑urrentTotal杩欎釜鍊�)
-                initData();
+//                initData();
                 HdlLogLogic.print("姝e湪鐐瑰嚮銆愭秷鎭��");
 
             }
@@ -315,8 +324,9 @@
      * @param isClear                 true琛ㄧず娓呯┖缂撳瓨
      */
     private void loadNextPageMessageList(
-            int pageNo,
+
             boolean isShowLoading,
+            int pageNo,
             String deviceType_filter_key,
             String deviceType_filter_value,
             String type_filter_key,
@@ -344,7 +354,7 @@
         } 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>() {
+        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) {
@@ -508,10 +518,15 @@
 
             @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);
-                }
+                HdlThreadLogic.runMainThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
+                        if (textView != null) {
+                            textView.setVisibility(View.GONE);
+                        }
+                    }
+                });
             }
         });
     }

--
Gitblit v1.8.0