package com.hdl.photovoltaic.ui.message;
|
|
|
import android.graphics.drawable.Drawable;
|
import android.os.Bundle;
|
import android.view.View;
|
|
import androidx.appcompat.content.res.AppCompatResources;
|
|
import com.hdl.linkpm.sdk.core.exception.HDLException;
|
import com.hdl.photovoltaic.R;
|
import com.hdl.photovoltaic.base.CustomBaseActivity;
|
import com.hdl.photovoltaic.config.ConstantManage;
|
import com.hdl.photovoltaic.databinding.ActivityMessageInfoBinding;
|
import com.hdl.photovoltaic.enums.MessageAlarmStateType;
|
import com.hdl.photovoltaic.enums.MessageStateType;
|
import com.hdl.photovoltaic.listener.CloudCallBeak;
|
import com.hdl.photovoltaic.other.HdlMessageLogic;
|
import com.hdl.photovoltaic.other.HdlThreadLogic;
|
import com.hdl.photovoltaic.ui.bean.MessageBean;
|
import com.hdl.photovoltaic.utils.TimeUtils;
|
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
|
|
import org.greenrobot.eventbus.EventBus;
|
|
/**
|
* 消息详情
|
*/
|
public class MessageInfoActivity extends CustomBaseActivity {
|
|
ActivityMessageInfoBinding viewBinding;
|
|
private MessageBean mMessageBean;
|
|
private String mMsgId;
|
|
@Override
|
public Object getContentView() {
|
viewBinding = ActivityMessageInfoBinding.inflate(getLayoutInflater());
|
return viewBinding.getRoot();
|
}
|
|
@Override
|
public void onBindView(Bundle savedInstanceState) {
|
setNotificationBarBackgroundColor(CustomColor.white);
|
setStatusBarTextColor();
|
try {
|
mMsgId = getIntent().getStringExtra("msgId");
|
} catch (Exception ignored) {
|
}
|
|
//初始化
|
initView();
|
//初始化界面监听器
|
initEvent();
|
//读取数据
|
readData();
|
}
|
|
private void readData() {
|
|
// showLoading();
|
HdlMessageLogic.getInstance().getMessageInfo(mMsgId, new CloudCallBeak<MessageBean>() {
|
@Override
|
public void onSuccess(MessageBean msg) {
|
HdlThreadLogic.runMainThread(new Runnable() {
|
@Override
|
public void run() {
|
// hideLoading();
|
if (msg == null) {
|
return;
|
}
|
mMessageBean = msg;
|
|
viewBinding.messageInfoHomeNameTv.setText(mMessageBean.getHomeName());
|
viewBinding.messageInfoAlarmContentIn.rightContentTv.setText(mMessageBean.getTitle());
|
viewBinding.messageInfoAlarmDeviceIn.rightContentTv.setText(mMessageBean.getDeviceDesc());
|
viewBinding.messageInfoAlarmRangeIn.rightContentTv.setText(mMessageBean.getEffectScopeDesc());
|
viewBinding.messageInfoPowerStationLocationIn.rightContentTv.setText(mMessageBean.getLocationAddress());
|
String date = TimeUtils.getTimeFromTimestamp(mMessageBean.getCreateTime());
|
viewBinding.messageInfoAlarmTimeIn.rightContentTv.setText(date);
|
|
String type = "";//FAULT:故障,WARN:告警,EVENT:事件
|
Drawable drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_ffb300);
|
if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) {
|
type = _mActivity.getString(R.string.my_power_station_malfunction);
|
drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_e34343);
|
} else if (mMessageBean.getType().equals(MessageAlarmStateType.warn)) {
|
type = _mActivity.getString(R.string.message_alarm);
|
drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_ffb300);
|
} else if (mMessageBean.getType().equals(MessageAlarmStateType.event)) {
|
type = _mActivity.getString(R.string.event);
|
drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_ffb300);
|
}
|
viewBinding.messageInfoAlarmStateTv.setText(type);
|
viewBinding.messageInfoAlarmStateTv.setBackground(drawable);
|
|
if (mMessageBean.getStatus().equals(MessageStateType.processed)) {
|
//已经解决掉的隐藏
|
viewBinding.messageInfoBackTv.setVisibility(View.GONE);
|
viewBinding.messageInfoSolveTv.setVisibility(View.GONE);
|
}
|
}
|
});
|
}
|
|
@Override
|
public void onFailure(HDLException e) {
|
// hideLoading();
|
HdlThreadLogic.toast(_mActivity, e);
|
}
|
});
|
}
|
|
private void initEvent() {
|
//后退的事件
|
viewBinding.toolbarTopIn.topBackBtn.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
if (mMessageBean == null) {
|
return;
|
}
|
//恢复进来只是查看的
|
if (mMessageBean.getStatus().equals(MessageStateType.untreated)) {
|
//改变缓存状态
|
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);
|
}
|
finish();
|
}
|
});
|
//返回的事件
|
viewBinding.messageInfoBackTv.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
if (mMessageBean == null) {
|
return;
|
}
|
//恢复进来只是查看的
|
if (mMessageBean.getStatus().equals(MessageStateType.untreated)) {
|
//改变缓存状态
|
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);
|
}
|
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)) {
|
HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.processed);
|
|
//已处理要更新数据
|
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);
|
}
|
finish();
|
|
|
}
|
|
@Override
|
public void onFailure(HDLException e) {
|
HdlThreadLogic.toast(_mActivity, e);
|
}
|
});
|
|
}
|
});
|
|
|
}
|
|
private void initView() {
|
|
viewBinding.toolbarTopIn.topTitleTv.setText(R.string.message_alarm_info);
|
viewBinding.toolbarTopIn.topTitleTv.setTextColor(getResources().getColor(R.color.text_030D1C, null));
|
viewBinding.toolbarTopIn.topBackBtn.setVisibility(View.VISIBLE);
|
viewBinding.toolbarTopIn.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFFFFFFF, null));
|
|
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);
|
viewBinding.messageInfoPowerStationLocationIn.leftTitleTv.setText(R.string.message_alarm_detailspower_station_location);
|
viewBinding.messageInfoAlarmTimeIn.leftTitleTv.setText(R.string.message_alarm_details_time);
|
|
viewBinding.messageInfoAlarmContentIn.rightContentTv.setText("");
|
viewBinding.messageInfoAlarmDeviceIn.rightContentTv.setText("");
|
viewBinding.messageInfoAlarmRangeIn.rightContentTv.setText("");
|
viewBinding.messageInfoPowerStationLocationIn.rightContentTv.setText("");
|
viewBinding.messageInfoAlarmTimeIn.rightContentTv.setText("");
|
}
|
}
|