From 5dfed3cf524a2bcacc19643c9af6d9fedc182420 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期二, 06 八月 2024 09:03:12 +0800 Subject: [PATCH] 2024年08月06日09:03:10 --- app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java | 180 ++++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 128 insertions(+), 52 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 584cc4f..63ab6ef 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 @@ -4,17 +4,21 @@ 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; @@ -32,7 +36,6 @@ private MessageBean mMessageBean; - private String mMsgId; @Override public Object getContentView() { @@ -45,7 +48,11 @@ setNotificationBarBackgroundColor(CustomColor.white); setStatusBarTextColor(); try { - mMsgId = getIntent().getStringExtra("msgId"); + String json = getIntent().getStringExtra("messageBean"); + mMessageBean = new Gson().fromJson(json, MessageBean.class); + if (mMessageBean == null) { + mMessageBean = new MessageBean(); + } } catch (Exception ignored) { } @@ -60,7 +67,7 @@ private void readData() { // showLoading(); - HdlMessageLogic.getInstance().getMessageInfo(mMsgId, new CloudCallBeak<MessageBean>() { + HdlMessageLogic.getInstance().getMessageInfo(mMessageBean.getMsgId().toString(), new CloudCallBeak<MessageBean>() { @Override public void onSuccess(MessageBean msg) { HdlThreadLogic.runMainThread(new Runnable() { @@ -79,24 +86,16 @@ 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); + 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); } @@ -114,20 +113,26 @@ private void initEvent() { //鍚庨��鐨勪簨浠� - viewBinding.toolbarTopIn.topBackBtn.setOnClickListener(new View.OnClickListener() { + viewBinding.toolbarTopIn.topBackLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (mMessageBean == null) { + finish(); 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); + 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(); } @@ -137,16 +142,21 @@ @Override public void onClick(View v) { if (mMessageBean == null) { + finish(); 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); + 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(); } @@ -156,30 +166,18 @@ viewBinding.messageInfoSolveTv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - HdlMessageLogic.getInstance().getMessageMessageSolve(mMsgId, new CloudCallBeak<Boolean>() { + 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); - - //閫氱煡宸插鐞嗚鏇存柊鏁版嵁 - 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); + sendEventBus(); } finish(); - - } @Override @@ -194,12 +192,29 @@ } + /** + * 閫氱煡鍑哄幓澶栭潰鏇存柊鏁版嵁 + */ + 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.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.topBackLl.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); @@ -207,10 +222,71 @@ 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(""); + 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); + } + } + + + /** + * 鐘舵�佹牱寮� + * + * @param textView 缁勪欢 + */ + private void stateStyle(TextView textView) { + 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.loading_title_tip); + drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.state_b9b9b9); + } + 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