From 791f82dc46e14491116a87bd4aa84ade011ab4c6 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期一, 15 一月 2024 14:30:58 +0800 Subject: [PATCH] 2024年01月15日14:30:41 --- app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java | 102 +++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 94 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java index 3388a68..b119560 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java @@ -4,12 +4,17 @@ import android.content.Intent; import android.os.Bundle; import android.os.Handler; +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; @@ -18,11 +23,14 @@ 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.HouseIdBean; import com.hdl.photovoltaic.ui.bean.MessageBean; +import com.hdl.photovoltaic.utils.GlideUtils; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; import org.greenrobot.eventbus.EventBus; @@ -124,15 +132,30 @@ this.messageNascentAdapter.setList(mList); this.messageNascentAdapter.notifyDataSetChanged(); } + //鍒锋柊銆愬彂鐢熶腑銆戜俊鎭暟閲忔�绘暟 + this.refreshNascentCount(); + this.nullDataUpdateUi(); - if (mList.size() > 0) { - BaseEventBus baseEventBus = new BaseEventBus(); - baseEventBus.setTopic(ConstantManage.message_count); - baseEventBus.setType(MessageStateType.untreated); - baseEventBus.setData(mList.size()); - EventBus.getDefault().post(baseEventBus); - } + } + + /** + * 鍒锋柊銆愬彂鐢熶腑銆戜俊鎭暟閲忔�绘暟 + */ + private void refreshNascentCount() { + 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 (mList.size() > 0) { + String s = getText(R.string.message_nascent) + "(" + mList.size() + ")"; + textView.setText(s); + } + } + } + }); } @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) @@ -146,8 +169,10 @@ if (eventBus.getType().equals(MessageFunctionTabSwitch.nascent.toString())) { initData(); getNascentMessageList(true); + getUnreadCount(); // 鍙栨秷绮樻�т簨浠� EventBus.getDefault().removeStickyEvent(eventBus); + } } else if (eventBus.getTopic().equals(ConstantManage.message_function_push_post)) { @@ -155,6 +180,7 @@ //娑堟伅璇︽儏鍥炶皟 initData(); updateListData(); + getUnreadCount(); } } } @@ -162,7 +188,7 @@ /** * 鑾峰彇鍙戠敓涓殑娑堟伅鍒楄〃 * - * @param isShowLoading 鏄惁鍚姩 true鍚姩 + * @param isShowLoading 鏄惁鍚姩鍔犺浇妗� true鍚姩 */ private void getNascentMessageList(boolean isShowLoading) { if (mList.size() == 0) { @@ -222,4 +248,64 @@ // List<MessageBean> newData = HdlMessageLogic.getInstance().getAllMessageList(); // return newData; // } + + /** + * 璇诲彇娑堟伅銆愭湭璇绘暟閲忋�� + */ + 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")) { +// //鏈鐞嗘暟閲� +// jsonObject.getString("untreatedCount"); +// } + String unreadCount = "0"; + if (jsonObject.containsKey("unreadCount")) { + //鏈鏁伴噺 + unreadCount = jsonObject.getString("unreadCount"); + } + 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 { + if (unreadCount.length() > 2) { + //澶т簬3浣嶆暟,榛樿99+ + unreadCount = "99+"; + } + textView.setVisibility(View.VISIBLE); + textView.setText(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); + } } -- Gitblit v1.8.0