From 87cd5df70918e6ba1af849c5f026d3719bfdb1ac Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 09 四月 2025 09:06:29 +0800 Subject: [PATCH] Merge branch '1.5.2' into dev --- app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java | 255 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 255 insertions(+), 0 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java index 8f4c0b9..c4c25a6 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java @@ -1,14 +1,42 @@ package com.hdl.photovoltaic.ui.message; +import android.graphics.drawable.Drawable; import android.os.Bundle; +import android.view.View; +import android.widget.TextView; +import androidx.appcompat.content.res.AppCompatResources; + +import com.google.gson.Gson; +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.config.UserConfigManage; 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.HdlCommonLogic; +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 com.jaeger.library.StatusBarUtil; +import org.greenrobot.eventbus.EventBus; + +/** + * 娑堟伅璇︽儏 + */ public class MessageInfoActivity extends CustomBaseActivity { ActivityMessageInfoBinding viewBinding; + + private MessageBean mMessageBean; + @Override public Object getContentView() { @@ -18,6 +46,233 @@ @Override public void onBindView(Bundle savedInstanceState) { + setStatusBarTranslucent(); + getWindow().setNavigationBarColor(getColor(R.color.text_FF000000)); + try { + String json = getIntent().getStringExtra("messageBean"); + mMessageBean = new Gson().fromJson(json, MessageBean.class); + if (mMessageBean == null) { + mMessageBean = new MessageBean(); + } + } catch (Exception ignored) { + } + //鍒濆鍖� + initView(); + //鍒濆鍖栫晫闈㈢洃鍚櫒 + initEvent(); + //璇诲彇鏁版嵁 + readData(); + } + + private void readData() { + +// showLoading(); + HdlMessageLogic.getInstance().getMessageInfo(mMessageBean.getMsgId().toString(), 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); + stateStyle(viewBinding.messageInfoAlarmStateTv); + + if (mMessageBean.getStatus().equals(MessageStateType.processed)) { + //宸茬粡瑙e喅鎺夌殑闅愯棌 + viewBinding.messageInfoBackTv.setVisibility(View.GONE); + viewBinding.messageInfoSolveTv.setVisibility(View.GONE); + } else { + if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) { + return; + } + 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.toolbarTopRl.topBackLl.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); + //閫氱煡鏈鐞嗚鏇存柊鏁版嵁 + HdlCommonLogic.getInstance().postEventBus(ConstantManage.message_function_push_post, MessageStateType.untreated); + } 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); + //閫氱煡鏈鐞嗚鏇存柊鏁版嵁 + HdlCommonLogic.getInstance().postEventBus(ConstantManage.message_function_push_post, MessageStateType.untreated); + } else { + //闄も�滄晠闅溾�濆锛屽叾浠栫瓑绾т俊鎭�滃凡璇烩�濆悗锛岃嚜鍔ㄧЩ鍑衡�滃彂鐢熶腑鈥濆垪琛ㄥ苟鍔犲叆鈥滃巻鍙茶褰曗�濆垪琛� + HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.processed); + sendEventBus(); + } + } + finish(); + } + }); + + //宸插鐞嗙殑浜嬩欢 + viewBinding.messageInfoSolveTv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + HdlMessageLogic.getInstance().getMessageMessageSolve(mMessageBean.getMsgId().toString(), 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); + sendEventBus(); + } + finish(); + } + + @Override + public void onFailure(HDLException e) { + HdlThreadLogic.toast(_mActivity, e); + } + }); + + } + }); + + + } + + /** + * 閫氱煡鍑哄幓澶栭潰鏇存柊鏁版嵁 + */ + private void sendEventBus() { + //閫氱煡宸插鐞嗚鏇存柊鏁版嵁 + HdlCommonLogic.getInstance().postEventBus(ConstantManage.message_function_push_post, MessageStateType.processed); + //閫氱煡鏈鐞嗚鏇存柊鏁版嵁 + HdlCommonLogic.getInstance().postEventBus(ConstantManage.message_function_push_post, MessageStateType.untreated); + } + + + private void initView() { + + viewBinding.toolbarTopRl.topTitleTv.setText(R.string.message_alarm_info); + viewBinding.toolbarTopRl.topBackLl.setVisibility(View.VISIBLE); + + 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.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); + stateStyle(viewBinding.messageInfoAlarmStateTv); + + + if (mMessageBean.getStatus().equals(MessageStateType.untreated) && mMessageBean.getType().equals(MessageAlarmStateType.fault)) { + //鍙戠敓涓殑娑堟伅涓旀槸鏁呴殰鎵嶈鏄剧ず + viewBinding.messageInfoWorkOut.setVisibility(View.VISIBLE); + } + } + + + /** + * 鐘舵�佹牱寮� + * + * @param textView 缁勪欢 + */ + private void stateStyle(TextView textView) { + String type = "";//FAULT:鏁呴殰,WARN:鍛婅,EVENT:浜嬩欢 + Drawable drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.device_satte_ffb300); + if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) { + type = _mActivity.getString(R.string.my_power_station_malfunction); + drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.device_state_fff55252); + } else if (mMessageBean.getType().equals(MessageAlarmStateType.warn)) { + type = _mActivity.getString(R.string.message_alarm); + drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.device_satte_ffb300); + } else if (mMessageBean.getType().equals(MessageAlarmStateType.event)) { + type = _mActivity.getString(R.string.loading_title_tip); + drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.device_state_ffb9b9b9); + } +// textView.setText(type); + textView.setBackground(drawable); + } + + @Override + public void onBackPressed() { + super.onBackPressed(); + if (mMessageBean == null) { + return; + } + //鏈鐞� + if (mMessageBean.getStatus().equals(MessageStateType.untreated)) { + //鏀瑰彉缂撳瓨鐘舵�� + if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) { + HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.untreated); + //閫氱煡鏈鐞嗚鏇存柊鏁版嵁 + HdlCommonLogic.getInstance().postEventBus(ConstantManage.message_function_push_post, MessageStateType.untreated); + } else { + //闄も�滄晠闅溾�濆锛屽叾浠栫瓑绾т俊鎭�滃凡璇烩�濆悗锛岃嚜鍔ㄧЩ鍑衡�滃彂鐢熶腑鈥濆垪琛ㄥ苟鍔犲叆鈥滃巻鍙茶褰曗�濆垪琛� + HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.processed); + sendEventBus(); + } + + } } } \ No newline at end of file -- Gitblit v1.8.0