From 96f2b56c103c53b17cf946d2c733d4cb03d2f39d Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期一, 29 一月 2024 15:16:28 +0800
Subject: [PATCH] 2024年01月29日15:16:23
---
app/src/main/java/com/hdl/photovoltaic/ui/message/RecoverMessageFragment.java | 111 ++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 85 insertions(+), 26 deletions(-)
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 4fbc266..ec05cd8 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
@@ -2,23 +2,32 @@
import android.content.Intent;
import android.os.Bundle;
+import android.widget.TextView;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
+import com.google.gson.Gson;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseFragment;
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.databinding.FragmentRecoverMessageBinding;
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.BUserInfo;
import com.hdl.photovoltaic.ui.bean.MessageBean;
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
+
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
import java.util.ArrayList;
import java.util.List;
@@ -44,7 +53,7 @@
public void onBindView(Bundle savedInstanceState) {
//鍒濆鍖栨暟鎹�
- initData();
+// initData();
//鍒濆鍖栫晫闈�
initView();
//鍒濆鍖栫洃鍚櫒
@@ -52,14 +61,8 @@
}
private void initData() {
- for (int i = 0; i < 2; i++) {
- MessageBean messageBean = new MessageBean();
-// messageBean.setContent("鏉ヤ簡涓�鏉″憡璀︿俊鎭�" + i);
- messageBean.setHomeName(i + "");
-// messageBean.setTime("2023-12-06-15");
- messageBean.setRead(false);
- mList.add(messageBean);
- }
+ mList.clear();
+ mList.addAll(HdlMessageLogic.getInstance().getRecoverMessageMemoryList());
}
private void initEvent() {
@@ -69,17 +72,18 @@
@Override
public void onRefresh() {
mList.clear();//琛ㄧず寮哄埗閲嶆柊璇锋眰娑堟伅鍒楄〃
+ updateListData();//娓呯┖涔嬪墠缂撳瓨,鍥犱负閬囧埌涓�涓棶棰樼寷鎷夌殑鏃跺�欐姤閿�;
getRecoverMessageList(false);
- HdlLogLogic.print("RecoverMessageFragment涓嬫媺鍒锋柊", false);
}
});
messageRecoverAdapter.setNoOnclickListener(new MessageAdapter.OnclickListener() {
@Override
public void onClick(int position, MessageBean item) {
+ if (position < 0 || position > mList.size()) {
+ return;
+ }
Intent intent = new Intent();
- Bundle bundle = new Bundle();
- bundle.putSerializable("message_info", MessageBean.class);
- intent.putExtras(bundle);
+ intent.putExtra("msgId", item.getMsgId().toString());
intent.setClass(_mActivity, MessageInfoActivity.class);
startActivity(intent);
}
@@ -101,16 +105,33 @@
this.messageRecoverAdapter.setList(mList);
this.messageRecoverAdapter.notifyDataSetChanged();
}
+
+ //鍒锋柊銆愬凡鎭㈠銆戜俊鎭暟閲忔�绘暟
+ this.refreshRecoverCount();
+ this.nullDataUpdateUi();
}
- @Override
+
+ @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.recover.toString())) {
- HdlLogLogic.print("姝e湪鐐瑰嚮銆愬凡鎭㈠銆�");
+ initData();
getRecoverMessageList(true);
+ // 鍙栨秷绮樻�т簨浠�
+ EventBus.getDefault().removeStickyEvent(eventBus);
+ }
+ } else if (eventBus.getTopic().equals(ConstantManage.message_function_push_post)) {
+ if (eventBus.getType().equals(MessageStateType.processed)) {
+ //娑堟伅璇︽儏鍥炶皟
+ initData();
+ updateListData();
+
}
}
}
@@ -127,20 +148,27 @@
if (isShowLoading) {
showLoading();
}
- HdlMessageLogic.getInstance().getMessageList(HdlMessageLogic.MessageStatus.processed, new CloudCallBeak<List<MessageBean>>() {
+ HdlMessageLogic.getInstance().getRecoverMessageList(new CloudCallBeak<List<MessageBean>>() {
@Override
public void onSuccess(List<MessageBean> list) {
- if (isShowLoading) {
- hideLoading();
- }
- if (!isShowLoading) {
- viewBinding.messageRecoverSrl.setRefreshing(false);
- }
+ HdlThreadLogic.runMainThread(new Runnable() {
+ @Override
+ public void run() {
+ if (isShowLoading) {
+ hideLoading();
+ }
+ if (!isShowLoading) {
+ viewBinding.messageRecoverSrl.setRefreshing(false);
+ }
- if (list != null && list.size() != 0) {
- mList.addAll(list);
- updateListData();
- }
+ if (list != null && list.size() != 0) {
+ mList.addAll(list);
+ updateListData();
+ } else {
+ nullDataUpdateUi();
+ }
+ }
+ });
}
@Override
@@ -155,4 +183,35 @@
});
}
}
+
+ /**
+ * 鍒锋柊銆愬凡鎭㈠銆戜俊鎭暟閲忔�绘暟
+ */
+ private void refreshRecoverCount() {
+ HdlThreadLogic.runMainThread(new Runnable() {
+ @Override
+ public void run() {
+ TextView textView = _mActivity.findViewById(R.id.message_tab_recover_title_tv);
+ if (textView != null) {
+ textView.setText(getText(R.string.message_recover));
+ if (mList.size() > 0) {
+ String s = getText(R.string.message_recover) + "(" + mList.size() + ")";
+ textView.setText(s);
+ }
+ }
+
+ }
+ });
+ }
+
+ /**
+ * 娌℃湁鐢电珯鍒楄〃鐨勬牱寮�
+ */
+ 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);
+ }
+
}
--
Gitblit v1.8.0