mac
2024-05-10 43c0a28db7e43959561036dbde0eb5cb37a7e324
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java
@@ -11,6 +11,7 @@
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.databinding.ActivityMessageInfoBinding;
import com.hdl.photovoltaic.enums.MessageAlarmStateType;
import com.hdl.photovoltaic.enums.MessageStateType;
@@ -77,7 +78,7 @@
                        viewBinding.messageInfoAlarmDeviceIn.rightContentTv.setText(mMessageBean.getDeviceDesc());
                        viewBinding.messageInfoAlarmRangeIn.rightContentTv.setText(mMessageBean.getEffectScopeDesc());
                        viewBinding.messageInfoPowerStationLocationIn.rightContentTv.setText(mMessageBean.getLocationAddress());
                        String date = TimeUtils.getDateTimestamp(mMessageBean.getCreateTime());
                        String date = TimeUtils.getTimeFromTimestamp(mMessageBean.getCreateTime());
                        viewBinding.messageInfoAlarmTimeIn.rightContentTv.setText(date);
                        String type = "";//FAULT:故障,WARN:告警,EVENT:事件
@@ -89,8 +90,8 @@
                            type = _mActivity.getString(R.string.message_alarm);
                            drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_ffb300);
                        } else if (mMessageBean.getType().equals(MessageAlarmStateType.event)) {
                            type = "事件";
                            drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_ffb300);
                            type = _mActivity.getString(R.string.loading_title_tip);
                            drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.state_b9b9b9);
                        }
                        viewBinding.messageInfoAlarmStateTv.setText(type);
                        viewBinding.messageInfoAlarmStateTv.setBackground(drawable);
@@ -113,50 +114,77 @@
    }
    private void initEvent() {
        //后退的事件
        viewBinding.toolbarTopIn.topBackBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //恢复进来只是查看的
                if (mMessageBean == null) {
                    finish();
                    return;
                }
                //未处理
                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);
                    //改变缓存状态
                    if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) {
                        HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.untreated);
                        BaseEventBus baseEventBus = new BaseEventBus();
                        baseEventBus.setTopic(ConstantManage.message_function_push_post);
                        baseEventBus.setType(MessageStateType.untreated);
                        EventBus.getDefault().post(baseEventBus);
                    } else {
                        //除“故障”外,其他等级信息“已读”后,自动移出“发生中”列表并加入“历史记录”列表
                        HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.processed);
                        sendEventBus();
                    }
                }
                finish();
            }
        });
        //返回的事件
        viewBinding.messageInfoBackTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mMessageBean == null) {
                    finish();
                    return;
                }
                //未处理
                if (mMessageBean.getStatus().equals(MessageStateType.untreated)) {
                    //改变缓存状态
                    if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) {
                        HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.untreated);
                        BaseEventBus baseEventBus = new BaseEventBus();
                        baseEventBus.setTopic(ConstantManage.message_function_push_post);
                        baseEventBus.setType(MessageStateType.untreated);
                        EventBus.getDefault().post(baseEventBus);
                    } else {
                        //除“故障”外,其他等级信息“已读”后,自动移出“发生中”列表并加入“历史记录”列表
                        HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.processed);
                        sendEventBus();
                    }
                }
                finish();
            }
        });
        viewBinding.messageInfoBackTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
        //已处理的事件
        viewBinding.messageInfoSolveTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                HdlMessageLogic.getInstance().getMessageMessageSolve(mMsgId, new CloudCallBeak<Boolean>() {
                    @Override
                    public void onSuccess(Boolean obj) {
                        //恢复进来只是查看的
                        if (mMessageBean == null) {
                            return;
                        }
                        //未处理
                        if (mMessageBean.getStatus().equals(MessageStateType.untreated)) {
                            //重置变量
                            mMessageBean.setRead(true);
                            mMessageBean.setStatus(MessageStateType.processed);
                            HdlMessageLogic.getInstance().setListMessage(mMessageBean);
                            BaseEventBus baseEventBus = new BaseEventBus();
                            baseEventBus.setTopic(ConstantManage.message_function_push_post);
                            baseEventBus.setType(MessageStateType.processed);
                            EventBus.getDefault().post(baseEventBus);
                            HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.processed);
                            sendEventBus();
                        }
                        finish();
                    }
                    @Override
@@ -171,6 +199,23 @@
    }
    /**
     * 通知出去外面更新数据
     */
    private void sendEventBus() {
        //通知已处理要更新数据
        BaseEventBus processedBus = new BaseEventBus();
        processedBus.setTopic(ConstantManage.message_function_push_post);
        processedBus.setType(MessageStateType.processed);
        EventBus.getDefault().post(processedBus);
        //通知未处理要更新数据
        BaseEventBus untreatedBus = new BaseEventBus();
        untreatedBus.setTopic(ConstantManage.message_function_push_post);
        untreatedBus.setType(MessageStateType.untreated);
        EventBus.getDefault().post(untreatedBus);
    }
    private void initView() {
        viewBinding.toolbarTopIn.topTitleTv.setText(R.string.message_alarm_info);
@@ -178,6 +223,12 @@
        viewBinding.toolbarTopIn.topBackBtn.setVisibility(View.VISIBLE);
        viewBinding.toolbarTopIn.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFFFFFFF, null));
        if (!UserConfigManage.getInstance().isBAccount()) {
            viewBinding.messageInfoBackTv.setTextColor(getColor(R.color.text_38C494));
            viewBinding.messageInfoBackTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.fillet_line_38c494));
            viewBinding.messageInfoSolveTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.checked_38c494));
        }
        viewBinding.messageInfoAlarmContentIn.leftTitleTv.setText(R.string.messagealarm_details_content);
        viewBinding.messageInfoAlarmDeviceIn.leftTitleTv.setText(R.string.messagealarm_details_device);
        viewBinding.messageInfoAlarmRangeIn.leftTitleTv.setText(R.string.message_alarm_detailsaffect_region);