app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
@@ -75,7 +75,7 @@ return newList; } public List<MessageBean> getListMessage() { public List<MessageBean> getAllMessageList() { return mListMessage; } @@ -207,8 +207,11 @@ HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(String jsonStr) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(new ArrayList<>()); if (TextUtils.isEmpty(jsonStr)) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(new ArrayList<>()); } return; } Gson gson = new Gson(); MessageListClass messageListClass = gson.fromJson(jsonStr, MessageListClass.class); app/src/main/java/com/hdl/photovoltaic/ui/message/AllMessageFragment.java
@@ -17,9 +17,14 @@ 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; @@ -52,15 +57,8 @@ } private void initData() { // mList.clear(); // for (int i = 0; i < 5; 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().getAllMessageList()); } @@ -111,14 +109,22 @@ } } @Override @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) public void onEventMessage(BaseEventBus eventBus) { super.onEventMessage(eventBus); //接收外部点击事件 if (eventBus.getTopic().equals(ConstantManage.message_function_tab_switch)) { if (eventBus.getType().equals(MessageFunctionTabSwitch.all.toString())) { initData(); getAllMessageList(true); HdlLogLogic.print("正在点击【全部】"); // 取消粘性事件 EventBus.getDefault().removeStickyEvent(eventBus); } } else if (eventBus.getTopic().equals(ConstantManage.message_function_push_post)) { if (eventBus.getType().equals(MessageStateType.all)) { //消息详情回调 // initData(); // updateListData(); } } } @@ -137,18 +143,22 @@ @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 (isShowLoading) { hideLoading(); } if (!isShowLoading) { viewBinding.messageAllSrl.setRefreshing(false); } if (list != null && list.size() != 0) { mList.addAll(list); updateListData(); } if (list != null && list.size() != 0) { mList.addAll(list); updateListData(); } } }); } @Override app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
@@ -67,6 +67,7 @@ currentIndex = 0; initView(); showFragment(); postEventBus(MessageFunctionTabSwitch.nascent); } }); @@ -77,6 +78,7 @@ currentIndex = 1; initView(); showFragment(); postEventBus(MessageFunctionTabSwitch.recover); } }); @@ -88,6 +90,7 @@ currentIndex = 2; initView(); showFragment(); postEventBus(MessageFunctionTabSwitch.all); } }); } @@ -116,6 +119,7 @@ viewBinding.line2V.setVisibility(View.GONE); viewBinding.line3V.setVisibility(View.VISIBLE); } } private void initData() { @@ -130,7 +134,8 @@ BaseEventBus baseEventBus = new BaseEventBus(); baseEventBus.setTopic(ConstantManage.message_function_tab_switch); baseEventBus.setType(tabSwitch.toString()); EventBus.getDefault().post(baseEventBus); //发送粘性事件(如果不发粘性事件会遇到一个没有加载出来的碎片接收不到信息) EventBus.getDefault().postSticky(baseEventBus); } @@ -183,13 +188,6 @@ //把当前显示的fragment记录下来 currentFragment = fragmentList.get(currentIndex); if (this.currentIndex == 0) { postEventBus(MessageFunctionTabSwitch.nascent); } else if (this.currentIndex == 1) { postEventBus(MessageFunctionTabSwitch.recover); } else if (this.currentIndex == 2) { postEventBus(MessageFunctionTabSwitch.all); } } app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java
@@ -133,6 +133,16 @@ viewBinding.messageInfoBackTv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //恢复进来只是查看的 if (mMessageBean.getStatus().equals(MessageStateType.untreated)) { mMessageBean.setRead(true); mMessageBean.setStatus(MessageStateType.untreated); HdlMessageLogic.getInstance().setListMessage(mMessageBean); BaseEventBus baseEventBus = new BaseEventBus(); baseEventBus.setTopic(ConstantManage.message_function_push_post); baseEventBus.setType(MessageStateType.untreated); EventBus.getDefault().post(baseEventBus); } finish(); } }); app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java
@@ -21,6 +21,10 @@ 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; @@ -97,7 +101,7 @@ } } @Override @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) public void onEventMessage(BaseEventBus eventBus) { super.onEventMessage(eventBus); //接收外部点击事件 @@ -105,10 +109,13 @@ if (eventBus.getType().equals(MessageFunctionTabSwitch.nascent.toString())) { initData(); getNascentMessageList(true); // 取消粘性事件 EventBus.getDefault().removeStickyEvent(eventBus); } } else if (eventBus.getTopic().equals(ConstantManage.message_function_push_post)) { if (eventBus.getType().equals(MessageStateType.untreated)) { //消息详情回调 initData(); updateListData(); } app/src/main/java/com/hdl/photovoltaic/ui/message/RecoverMessageFragment.java
@@ -17,11 +17,13 @@ import com.hdl.photovoltaic.listener.CloudCallBeak; 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; @@ -70,7 +72,6 @@ mList.clear();//表示强制重新请求消息列表 updateListData();//清空之前缓存,因为遇到一个问题猛拉的时候报错; getRecoverMessageList(false); HdlLogLogic.print("RecoverMessageFragment下拉刷新", false); } }); messageRecoverAdapter.setNoOnclickListener(new MessageAdapter.OnclickListener() { @@ -104,25 +105,25 @@ } } @Override @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) public void onEventMessage(BaseEventBus eventBus) { super.onEventMessage(eventBus); //接收外部点击事件 if (eventBus.getTopic().equals(ConstantManage.message_function_tab_switch)) { if (eventBus.getType().equals(MessageFunctionTabSwitch.recover.toString())) { HdlLogLogic.print("正在点击【已恢复】"); 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(); } } } /** @@ -139,17 +140,22 @@ 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 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
@@ -2,11 +2,9 @@ import android.Manifest; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.hardware.camera2.CameraManager; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import androidx.annotation.NonNull; @@ -24,16 +22,12 @@ import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch; import com.hdl.photovoltaic.enums.ShowErrorMode; import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.other.HdlCommonLogic; import com.hdl.photovoltaic.other.HdlDeviceLogic; import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.other.HdlResidenceLogic; import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hdl.photovoltaic.other.HdlUniLogic; import com.hdl.photovoltaic.ui.adapter.HouseInfoAdapter; import com.hdl.photovoltaic.ui.bean.HouseIdBean; import com.hdl.photovoltaic.ui.bean.HouseInfoBean; import com.hdl.photovoltaic.ui.device.FastScanActivity; import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.utils.PermissionUtils; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;