mac
2024-11-05 e58e66125acccbd9b79573a520f9a6140bc47506
app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java
@@ -1,7 +1,9 @@
package com.hdl.photovoltaic.ui.newC;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
@@ -11,6 +13,7 @@
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.R;
@@ -59,7 +62,7 @@
    private int mTotalCount1 = 0;//消息数量总数
    private int mTotalCount2 = 0;//消息数量总数
    private String mDeviceTypeFilterKye = FilterType.deviceType;//过滤类型 deviceType(INV :逆变器;BMS :BMS控制盒;BATTERY :电池单元)
    private String mDeviceTypeFilterKye = FilterType.all;//过滤类型 deviceType(INV :逆变器;BMS :BMS控制盒;BATTERY :电池单元)
    private String mDeviceTypeFilterValue = FilterType.all;//过滤类型值 deviceType(INV :逆变器;BMS :BMS控制盒;BATTERY :电池单元)
    private String mTypeFilterKye = FilterType.all;//过滤类型 type(FAULT :故障; WARN :告警; EVENT :事件(提示));
@@ -74,6 +77,7 @@
    //     *                                timeType(TODAY :今天;LAST_3_DAYS: 近3天;LAST_7_DAYS :近7天;LAST_30_DAYS :近30天);
    private boolean isLoadingMore = false; // 标记正在加载更多数据
    LinearLayoutManager mLayoutManager;
    @Override
    public Object getContentView() {
@@ -92,7 +96,7 @@
        //初始化界面监听器
        initEvent();
        //进来读取一次数据(为了更新currentPage,currentTotal这个值)
        loadNextPageMessageList(1, true, FilterType.all, FilterType.all, FilterType.all, FilterType.all, FilterType.all, FilterType.all);
        loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue);
    }
    @Override
@@ -148,7 +152,7 @@
                viewBinding.allGradeTitleIv.setBackgroundResource(R.drawable.down);
                viewBinding.allTimeTitleIv.setBackgroundResource(R.drawable.down);
                List<String> stringList = getTypeList(FilterType.deviceType);
                TypeTitleListDialog typeTitleListDialog = new TypeTitleListDialog(_mActivity, stringList);
                TypeTitleListDialog typeTitleListDialog = new TypeTitleListDialog(_mActivity, stringList, viewBinding.allDeviceTitleTv.getText().toString());
                typeTitleListDialog.show();
                typeTitleListDialog.setOnListener(new TypeTitleListDialog.OnClickListener() {
                    @Override
@@ -159,6 +163,14 @@
                        mDeviceTypeFilterValue = findFilterValueString(title);
                        loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue);
                    }
                });
                typeTitleListDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
                    @Override
                    public void onDismiss(DialogInterface dialog) {
                        viewBinding.allDeviceTitleIv.setBackgroundResource(R.drawable.down);
                        viewBinding.allGradeTitleIv.setBackgroundResource(R.drawable.down);
                        viewBinding.allTimeTitleIv.setBackgroundResource(R.drawable.down);
                    }
                });
@@ -173,7 +185,7 @@
                viewBinding.allGradeTitleIv.setBackgroundResource(R.drawable.up);
                viewBinding.allTimeTitleIv.setBackgroundResource(R.drawable.down);
                List<String> stringList = getTypeList(FilterType.type);
                TypeTitleListDialog typeTitleListDialog = new TypeTitleListDialog(_mActivity, stringList);
                TypeTitleListDialog typeTitleListDialog = new TypeTitleListDialog(_mActivity, stringList, viewBinding.allGradeTitleTv.getText().toString());
                typeTitleListDialog.show();
                typeTitleListDialog.setOnListener(new TypeTitleListDialog.OnClickListener() {
                    @Override
@@ -182,6 +194,14 @@
                        mTypeFilterKye = FilterType.type;
                        mTypeFilterValue = findFilterValueString(title);
                        loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue);
                    }
                });
                typeTitleListDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
                    @Override
                    public void onDismiss(DialogInterface dialog) {
                        viewBinding.allDeviceTitleIv.setBackgroundResource(R.drawable.down);
                        viewBinding.allGradeTitleIv.setBackgroundResource(R.drawable.down);
                        viewBinding.allTimeTitleIv.setBackgroundResource(R.drawable.down);
                    }
                });
            }
@@ -194,7 +214,7 @@
                viewBinding.allGradeTitleIv.setBackgroundResource(R.drawable.down);
                viewBinding.allTimeTitleIv.setBackgroundResource(R.drawable.up);
                List<String> stringList = getTypeList(FilterType.timeType);
                TypeTitleListDialog typeTitleListDialog = new TypeTitleListDialog(_mActivity, stringList);
                TypeTitleListDialog typeTitleListDialog = new TypeTitleListDialog(_mActivity, stringList, viewBinding.allTimeTitleTv.getText().toString());
                typeTitleListDialog.show();
                typeTitleListDialog.setOnListener(new TypeTitleListDialog.OnClickListener() {
                    @Override
@@ -203,6 +223,14 @@
                        mTimeTypeFilterKye = FilterType.timeType;
                        mTimeTypeFilterValue = findFilterValueString(title);
                        loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue);
                    }
                });
                typeTitleListDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
                    @Override
                    public void onDismiss(DialogInterface dialog) {
                        viewBinding.allDeviceTitleIv.setBackgroundResource(R.drawable.down);
                        viewBinding.allGradeTitleIv.setBackgroundResource(R.drawable.down);
                        viewBinding.allTimeTitleIv.setBackgroundResource(R.drawable.down);
                    }
                });
            }
@@ -215,6 +243,15 @@
                if (isAlarmDeviceClick) {
                    return;//防止多次点击
                }
                mDeviceTypeFilterKye = FilterType.all;
                mDeviceTypeFilterValue = FilterType.all;
                mTypeFilterKye = FilterType.all;
                mTypeFilterValue = FilterType.all;
                mTimeTypeFilterKye = FilterType.all;
                mTimeTypeFilterValue = FilterType.all;
                viewBinding.allDeviceTitleTv.setText(getString(R.string.alarm_all_device));
                viewBinding.allGradeTitleTv.setText(getString(R.string.alarm_all_grade));
                viewBinding.allTimeTitleTv.setText(getString(R.string.alarm_all_time));
                isAlarmDeviceClick = true;
                refreshBottomStyle(true);
                loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue);
@@ -227,6 +264,15 @@
                if (!isAlarmDeviceClick) {
                    return;//防止多次点击
                }
                mDeviceTypeFilterKye = FilterType.all;
                mDeviceTypeFilterValue = FilterType.all;
                mTypeFilterKye = FilterType.all;
                mTypeFilterValue = FilterType.all;
                mTimeTypeFilterKye = FilterType.all;
                mTimeTypeFilterValue = FilterType.all;
                viewBinding.allDeviceTitleTv.setText(getString(R.string.alarm_all_device));
                viewBinding.allGradeTitleTv.setText(getString(R.string.alarm_all_grade));
                viewBinding.allTimeTitleTv.setText(getString(R.string.alarm_all_time));
                isAlarmDeviceClick = false;
                refreshBottomStyle(false);
                loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue);
@@ -269,17 +315,8 @@
            messageCenterListAdapter.setNoOnclickListener(new MessageCenterListAdapter.OnclickListener() {
                @Override
                public void onClick(int position, MessageBean messageBean) {
                    String messageStateType;
                    if (isAlarmDeviceClick) {
                        messageStateType = MessageStateType.untreated;
                    } else {
                        messageStateType = MessageStateType.processed;
                    }
                    Intent intent = new Intent();
                    intent.putExtra("msgId", messageBean.getMsgId().toString());
                    intent.putExtra("messageStateType", messageStateType);
                    intent.putExtra("messageBean", new Gson().toJson(messageBean));
                    intent.setClass(_mActivity, MessageInfoActivity.class);
                    startActivity(intent);
                }
@@ -289,14 +326,14 @@
    }
    private void initView() {
        viewBinding.toolbarTopMessageCenterListRl.getRoot().setBackgroundColor(getColor(R.color.text_FFFFFFFF));
        viewBinding.toolbarTopMessageCenterListRl.getRoot().setBackgroundColor(getColor(R.color.text_FFECECEC));
        viewBinding.toolbarTopMessageCenterListRl.topBackLl.setVisibility(View.VISIBLE);
        viewBinding.toolbarTopMessageCenterListRl.topLeftIv.setImageResource(R.drawable.back_c);
        viewBinding.toolbarTopMessageCenterListRl.topTitleTv.setText(R.string.set_message_center);
        viewBinding.toolbarTopMessageCenterListRl.topMoreBtn.setVisibility(View.VISIBLE);
        viewBinding.toolbarTopMessageCenterListRl.topMoreIv.setImageResource(R.drawable.clearall);
        //默认选中全部设备
        viewBinding.allDeviceTitleIv.setBackgroundResource(R.drawable.up);
        viewBinding.allDeviceTitleIv.setBackgroundResource(R.drawable.down);
        viewBinding.allGradeTitleIv.setBackgroundResource(R.drawable.down);
        viewBinding.allTimeTitleIv.setBackgroundResource(R.drawable.down);
        refreshBottomStyle(true);
@@ -305,10 +342,27 @@
        viewBinding.messageContentRl.setLayoutManager(mLayoutManager);
        viewBinding.messageContentRl.setAdapter(messageCenterListAdapter);
        messageCenterListAdapter.setList(mList);
        this.nullDataUpdateUi();
//        this.nullDataUpdateUi();
    }
    private void initData() {
        try {
            Intent intent = getIntent();
            if (intent != null) {
                String isShowFault = intent.getStringExtra("isShowFault");
                if (isShowFault != null && isShowFault.equals("true")) {
                    //默认故障全部
                    mDeviceTypeFilterKye = FilterType.all;
                    mDeviceTypeFilterValue = FilterType.all;
                    mTypeFilterKye = FilterType.type;
                    mTypeFilterValue = "FAULT";
                    mTimeTypeFilterKye = FilterType.all;
                    mTimeTypeFilterValue = FilterType.all;
                    viewBinding.allGradeTitleTv.setText(getString(R.string.alarm_all_grade_malfunction));
                }
            }
        } catch (Exception ignored) {
        }
    }
    /**
@@ -448,13 +502,15 @@
                    viewBinding.messageBottomAlarmDeviceLineV.setVisibility(View.VISIBLE);
                    viewBinding.messageBottomAlarmRecordTitleTv.setTextColor(getColor(R.color.text_B2B2B2));
                    viewBinding.messageBottomAlarmRecordLineV.setVisibility(View.GONE);
                    viewBinding.messageBottomAlarmDeviceTitleTv.setTypeface(null, Typeface.BOLD);
                    viewBinding.messageBottomAlarmRecordTitleTv.setTypeface(null, Typeface.NORMAL);
                } else {
                    viewBinding.messageBottomAlarmDeviceTitleTv.setTextColor(getColor(R.color.text_B2B2B2));
                    viewBinding.messageBottomAlarmDeviceLineV.setVisibility(View.GONE);
                    viewBinding.messageBottomAlarmRecordTitleTv.setTextColor(getColor(R.color.text_191919));
                    viewBinding.messageBottomAlarmRecordLineV.setVisibility(View.VISIBLE);
                    viewBinding.messageBottomAlarmDeviceTitleTv.setTypeface(null, Typeface.NORMAL);
                    viewBinding.messageBottomAlarmRecordTitleTv.setTypeface(null, Typeface.BOLD);
                }
            }
@@ -535,6 +591,7 @@
        map.put(getString(R.string.alarm_all_device_inverter), "INV");
        map.put(getString(R.string.alarm_all_device_bms), "BMS");
        map.put(getString(R.string.alarm_all_device_battery_cell), "BATTERY");
        map.put(getString(R.string.alarm_all_device_load_centre), "LOAD_CENTRE");
        map.put(getString(R.string.alarm_all_grade), "");//设等级全部
        map.put(getString(R.string.alarm_all_grade_malfunction), "FAULT");
        map.put(getString(R.string.alarm_all_grade_warning), "WARN");
@@ -567,6 +624,7 @@
                stringList.add(getString(R.string.alarm_all_device_inverter));
                stringList.add(getString(R.string.alarm_all_device_bms));
                stringList.add(getString(R.string.alarm_all_device_battery_cell));
                stringList.add(getString(R.string.alarm_all_device_load_centre));
            }
            break;
            case FilterType.type: {