From 159dcb5c3b04a268c20c131df4ab99c1ae12e7db Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期五, 26 一月 2024 18:29:47 +0800 Subject: [PATCH] 2024年01月26日18:29:37 --- app/src/main/java/com/hdl/photovoltaic/ui/message/RecoverMessageFragment.java | 109 +++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 83 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..ec3c8a1 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,25 @@ 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(); + } + } + }); } @Override @@ -155,4 +181,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