mac
2023-12-14 1c22df6f9f652b00fb64f523f1e2ee717fb4cc68
2023年12月14日18:02:49

备份代码
2个文件已添加
10个文件已修改
460 ■■■■ 已修改文件
app/src/main/AndroidManifest.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/message/AllMessageFragment.java 78 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java 79 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/message/RecoverMessageFragment.java 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_message_info.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/fragment_message_all.xml 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/fragment_nascent_message.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/fragment_recover_message.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/AndroidManifest.xml
@@ -71,6 +71,9 @@
        android:supportsRtl="true"
        android:theme="@style/Theme.PhotovoltaicDebug">
        <activity
            android:name=".ui.message.MessageInfoActivity"
            android:exported="false" />
        <activity
            android:name=".ui.message.TestMessageActivity"
            android:exported="false" />
        <activity
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -85,18 +85,18 @@
     * 原生接收到uni发来的数据
     *
     * @param appId    -uni小程序指定的appId
     * @param event    -uni小程序发来数据
     * @param topic    -uni小程序发来主题(大类)
     * @param data     JSONObject com.alibaba.fastjson解析处理
     * @param callback callback.invoke(JSONObject) 用com.alibaba.fastjson
     */
    @Override
    public void onOtherUniMPEventReceive(String appId, String event, Object data, DCUniMPJSCallback callback) {
    public void onOtherUniMPEventReceive(String appId, String topic, Object data, DCUniMPJSCallback callback) {
        try {
            if (!HDLUniMP.UNI_APP_ID.equals(appId)) {
                return;
            }
            String type = getKeyValue("type", data);
            if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(event)) {
            String type = getKeyValue("type", data);//小类
            if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(topic)) {
                //住宅模块
                switch (type) {
                    //创建电站
@@ -128,7 +128,7 @@
                if (callback != null) {
                    uniCallbackData(null, callback);
                }
            } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_MODEL.equals(event)) {
            } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_MODEL.equals(topic)) {
                //设备模块
                switch (type) {
                    //添加逆变器到云端
@@ -185,7 +185,7 @@
                }
            } else if (HDLUniMP.UNI_EVENT_REPLY_WIFI_MODEL.equals(event)) {
            } else if (HDLUniMP.UNI_EVENT_REPLY_WIFI_MODEL.equals(topic)) {
                WifiUtils wifiUtils = new WifiUtils(HDLApp.getInstance());
                //wifi模块
                switch (type) {
@@ -210,7 +210,7 @@
                    break;
                }
            } else if (HDLUniMP.UNI_EVENT_REPLY_OTA_MODEL.equals(event)) {
            } else if (HDLUniMP.UNI_EVENT_REPLY_OTA_MODEL.equals(topic)) {
                //OTA升级模块
                switch (type) {
                    //向云端获取oid列表
@@ -285,7 +285,7 @@
                    break;
                }
            } else if (HDLUniMP.UNI_EVENT_REPLY_OTHER_MODEL.equals(event)) {
            } else if (HDLUniMP.UNI_EVENT_REPLY_OTHER_MODEL.equals(topic)) {
                //其它模块
                switch (type) {
                    //获取温度单位
@@ -300,7 +300,7 @@
                    break;
                }
            }
            HdlLogLogic.print("uni===原生接收uni发来的数据===" + event + "\r\n" + data, false);
            HdlLogLogic.print("uni===原生接收uni发来的数据===大类->" + topic + "\r\n" + data, false);
        } catch (Exception e) {
            HdlLogLogic.print("uni===原生接收uni发来的数据===" + e.getMessage(), false);
        }
app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java
@@ -38,10 +38,10 @@
    @Override
    public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
        MessageBean messageBean = this.mList.get(position);
        holder.item_content_tv.setText(messageBean.getContent());
        holder.item_content_tv.setText(messageBean.getTitle());
        holder.item_home_name_tv.setText(messageBean.getHomeName());
        holder.item_time_tv.setText(messageBean.getTime());
        holder.item_estate_tv.setText(messageBean.getGrade() + "");
        holder.item_time_tv.setText(messageBean.getCreateTime() + "");
        holder.item_estate_tv.setText(messageBean.getStatus() + "");
        holder.item_unread_message_tv.setVisibility(View.VISIBLE);
        if (messageBean.isRead()) {
            holder.item_unread_message_tv.setVisibility(View.GONE);
app/src/main/java/com/hdl/photovoltaic/ui/message/AllMessageFragment.java
@@ -4,14 +4,18 @@
import android.view.ViewGroup;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseFragment;
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.databinding.FragmentMessageAllBinding;
import com.hdl.photovoltaic.databinding.FragmentMessageBinding;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlCommonLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
import com.hdl.photovoltaic.other.HdlMessageLogic;
import com.hdl.photovoltaic.ui.adapter.MessageAdapter;
import com.hdl.photovoltaic.ui.bean.MessageBean;
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
@@ -47,19 +51,29 @@
    }
    private void initData() {
        mList.clear();
        for (int i = 0; i < 5; i++) {
            MessageBean messageBean = new MessageBean();
            messageBean.setContent("来了一条告警信息" + i);
            messageBean.setHomeName(i + "");
            messageBean.setTime("2023-12-06-15");
            messageBean.setRead(false);
            mList.add(messageBean);
        }
//        mList.clear();
//        for (int i = 0; i < 5; i++) {
//            MessageBean messageBean = new MessageBean();
////            messageBean.setContent("来了一条告警信息" + i);
//            messageBean.setHomeName(i + "");
////            messageBean.setTime("2023-12-06-15");
//            messageBean.setRead(false);
//            mList.add(messageBean);
//        }
    }
    private void initEvent() {
        //设置下拉箭头颜色
        viewBinding.messageAllSrl.setColorSchemeResources(R.color.text_FF245EC3);
        viewBinding.messageAllSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                getAllMessageList(false);
                HdlLogLogic.print("AllMessageFragment下拉刷新", false);
            }
        });
        if (messageAllAdapter != null) {
            messageAllAdapter.setNoOnclickListener(new MessageAdapter.OnclickListener() {
                @Override
@@ -69,6 +83,7 @@
            });
        }
    }
    private void initView() {
@@ -77,8 +92,12 @@
        viewBinding.messageAllRecyclerview.setAdapter(messageAllAdapter);
    }
    /**
     * 刷新列表数据
     */
    private void updateListData() {
        if (this.messageAllAdapter != null) {
            this.messageAllAdapter.setList(mList);
            this.messageAllAdapter.notifyDataSetChanged();
        }
    }
@@ -89,11 +108,50 @@
        //接收外部点击事件
        if (eventBus.getTopic().equals(ConstantManage.message_function_tab_switch)) {
            if (eventBus.getType().equals(HdlCommonLogic.MessageFunctionTabSwitch.all.toString())) {
                updateListData();
                getAllMessageList(true);
                HdlLogLogic.print("正在点击【全部】");
            }
        }
    }
    /**
     * 获取全部中的消息列表
     *
     * @param isShowLoading 是否启动 true启动
     */
    private void getAllMessageList(boolean isShowLoading) {
        if (mList.size() == 0) {
            if (isShowLoading) {
                showLoading();
            }
            HdlMessageLogic.getInstance().getMessageList(HdlMessageLogic.MessageStatus.processed, new CloudCallBeak<List<MessageBean>>() {
                @Override
                public void onSuccess(List<MessageBean> list) {
                    if (isShowLoading) {
                        hideLoading();
                    }
                    if (!isShowLoading) {
                        viewBinding.messageAllSrl.setRefreshing(false);
                    }
                    if (list != null && list.size() != 0) {
                        mList.addAll(list);
                        updateListData();
                    }
                }
                @Override
                public void onFailure(HDLException e) {
                    if (isShowLoading) {
                        hideLoading();
                    }
                    if (!isShowLoading) {
                        viewBinding.messageAllSrl.setRefreshing(false);
                    }
                }
            });
        }
    }
}
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
@@ -1,12 +1,9 @@
package com.hdl.photovoltaic.ui.message;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import androidx.annotation.RequiresApi;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
@@ -34,11 +31,8 @@
    private static final String CURRENT_FRAGMENT = "state_fragment_show";
    private FragmentManager mFragmentManager;
    private Fragment currentFragment = new Fragment();
    private List<Fragment> fragments = new ArrayList<>();
    private final List<Fragment> fragmentList = new ArrayList<>();
    private int currentIndex = 0;
    private AllMessageFragment mAllMessageFragment;
    private NascentMessageFragment mNascentMessageFragment;
    private RecoverMessageFragment mRecoverMessageFragment;
    @Override
    public Object getContentView() {
@@ -49,6 +43,7 @@
    @Override
    public void onBindView(Bundle savedInstanceState) {
        //初始化碎片
        initFragment(savedInstanceState);
        //初始化界面
        initView();
@@ -64,28 +59,20 @@
        viewBinding.messageTabNascentCl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
                viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
                viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
                viewBinding.line1V.setVisibility(View.GONE);
                viewBinding.line2V.setVisibility(View.VISIBLE);
                viewBinding.line3V.setVisibility(View.GONE);
                showFragment(0);
                postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.nascent);
                currentIndex = 0;
                showFragment();
                initView();
            }
        });
        //已恢复
        viewBinding.messageTabRecoverCl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
                viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
                viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
                viewBinding.line1V.setVisibility(View.GONE);
                viewBinding.line2V.setVisibility(View.GONE);
                viewBinding.line3V.setVisibility(View.VISIBLE);
                showFragment(1);
                postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.recover);
                currentIndex = 1;
                showFragment();
                initView();
            }
        });
@@ -93,32 +80,38 @@
        viewBinding.messageTabAllCl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
                viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
                viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
                viewBinding.line1V.setVisibility(View.VISIBLE);
                viewBinding.line2V.setVisibility(View.GONE);
                viewBinding.line3V.setVisibility(View.GONE);
                showFragment(2);
                postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.all);
                currentIndex = 2;
                showFragment();
                initView();
            }
        });
    }
    private void initView() {
        if (this.currentIndex == 0) {
        viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
        viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
        viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
        viewBinding.line1V.setVisibility(View.GONE);
        viewBinding.line2V.setVisibility(View.VISIBLE);
        viewBinding.line3V.setVisibility(View.GONE);
        if (this.currentIndex == 0) {
            postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.nascent);
        } else if (this.currentIndex == 1) {
            viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
            viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
            viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
            viewBinding.line1V.setVisibility(View.GONE);
            viewBinding.line2V.setVisibility(View.GONE);
            viewBinding.line3V.setVisibility(View.VISIBLE);
            postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.recover);
        } else if (this.currentIndex == 2) {
            viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
            viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
            viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
            viewBinding.line1V.setVisibility(View.VISIBLE);
            viewBinding.line2V.setVisibility(View.GONE);
            viewBinding.line3V.setVisibility(View.GONE);
            postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.all);
        }
    }
@@ -146,41 +139,30 @@
     */
    private void initFragment(Bundle savedInstanceState) {
        mFragmentManager = _mActivity.getSupportFragmentManager();
        //碎片内需要使用权限和forresult
        mNascentMessageFragment = new NascentMessageFragment();
        mRecoverMessageFragment = new RecoverMessageFragment();
        mAllMessageFragment = new AllMessageFragment();
        //碎片初始化
        NascentMessageFragment mNascentMessageFragment = new NascentMessageFragment();
        RecoverMessageFragment mRecoverMessageFragment = new RecoverMessageFragment();
        AllMessageFragment mAllMessageFragment = new AllMessageFragment();
        if (savedInstanceState != null) {
            //“内存重启”时调用 获取“内存重启”时保存的索引下标
            currentIndex = savedInstanceState.getInt(CURRENT_FRAGMENT, 0);
            if (fragments.size() != 0) {
                fragments.clear();
            if (fragmentList.size() != 0) {
                fragmentList.clear();
            }
            fragments.add(mFragmentManager.findFragmentByTag(0 + ""));
            fragments.add(mFragmentManager.findFragmentByTag(1 + ""));
            fragments.add(mFragmentManager.findFragmentByTag(2 + ""));
            fragmentList.add(mFragmentManager.findFragmentByTag(0 + ""));
            fragmentList.add(mFragmentManager.findFragmentByTag(1 + ""));
            fragmentList.add(mFragmentManager.findFragmentByTag(2 + ""));
            restoreFragment();//恢复fragment页面
        } else {
            //正常启动时调用
            fragments.add(mAllMessageFragment);
            fragments.add(mNascentMessageFragment);
            fragments.add(mRecoverMessageFragment);
            fragmentList.add(mNascentMessageFragment);
            fragmentList.add(mRecoverMessageFragment);
            fragmentList.add(mAllMessageFragment);
            showFragment();
        }
    }
    /**
     * 切换Fragment
     *
     * @param index 索引
     */
    private void showFragment(int index) {
        currentIndex = index;
        showFragment();
    }
    /**
@@ -190,34 +172,33 @@
    private void showFragment() {
        FragmentTransaction ft = mFragmentManager.beginTransaction();
        //如果之前没有添加过
        if (!fragments.get(currentIndex).isAdded()) {
        if (!fragmentList.get(currentIndex).isAdded()) {
            //第三个参数为添加当前的fragment时绑定一个tag
            ft.hide(currentFragment)
                    .add(R.id.message_fcv, fragments.get(currentIndex), "" + currentIndex);
                    .add(R.id.message_fcv, fragmentList.get(currentIndex), currentIndex + "");
        } else {
            ft.hide(currentFragment)
                    .show(fragments.get(currentIndex));
                    .show(fragmentList.get(currentIndex));
        }
        currentFragment = fragments.get(currentIndex);
        currentFragment = fragmentList.get(currentIndex);
        ft.commit();
    }
    /**
     * 恢复fragment
     */
    private void restoreFragment() {
        FragmentTransaction ft = mFragmentManager.beginTransaction();
        for (int i = 0; i < fragments.size(); i++) {
        for (int i = 0; i < fragmentList.size(); i++) {
            if (i == currentIndex) {
                ft.show(fragments.get(i));
                ft.show(fragmentList.get(i));
            } else {
                ft.hide(fragments.get(i));
                ft.hide(fragmentList.get(i));
            }
        }
        ft.commit();
        //把当前显示的fragment记录下来
        currentFragment = fragments.get(currentIndex);
        currentFragment = fragmentList.get(currentIndex);
    }
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java
New file
@@ -0,0 +1,23 @@
package com.hdl.photovoltaic.ui.message;
import android.os.Bundle;
import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.databinding.ActivityMessageInfoBinding;
public class MessageInfoActivity extends CustomBaseActivity {
    ActivityMessageInfoBinding viewBinding;
    @Override
    public Object getContentView() {
        viewBinding = ActivityMessageInfoBinding.inflate(getLayoutInflater());
        return viewBinding.getRoot();
    }
    @Override
    public void onBindView(Bundle savedInstanceState) {
    }
}
app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java
@@ -4,12 +4,16 @@
import android.os.Bundle;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseFragment;
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.databinding.FragmentNascentMessageBinding;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlCommonLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
import com.hdl.photovoltaic.other.HdlMessageLogic;
import com.hdl.photovoltaic.ui.adapter.MessageAdapter;
import com.hdl.photovoltaic.ui.bean.MessageBean;
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
@@ -25,7 +29,7 @@
    private MessageAdapter messageNascentAdapter;
    private List<MessageBean> mList;
    private List<MessageBean> mList = new ArrayList<>();
    @Override
    public Object getContentView() {
@@ -44,18 +48,27 @@
    }
    private void initData() {
        mList = new ArrayList<>();
        for (int i = 0; i < 3; i++) {
            MessageBean messageBean = new MessageBean();
            messageBean.setContent("来了一条告警信息" + i);
            messageBean.setHomeName(i + "");
            messageBean.setTime("2023-12-06-15");
            messageBean.setRead(false);
            mList.add(messageBean);
        }
//        mList = new ArrayList<>();
//        for (int i = 0; i < 3; i++) {
//            MessageBean messageBean = new MessageBean();
//            messageBean.setTitle("来了一条告警信息" + i);
//            messageBean.setHomeName(i + "");
//            messageBean.setCreateTime((long) 1234567777);
//            messageBean.setRead(false);
//            mList.add(messageBean);
//        }
    }
    private void initEvent() {
        //设置下拉箭头颜色
        viewBinding.messageNascentSrl.setColorSchemeResources(R.color.text_FF245EC3);
        viewBinding.messageNascentSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                mList.clear();//表示强制重新请求消息列表
                getNascentMessageList(false);
            }
        });
        messageNascentAdapter.setNoOnclickListener(new MessageAdapter.OnclickListener() {
            @Override
            public void onClick(int position, MessageBean item) {
@@ -70,8 +83,12 @@
        viewBinding.messageNascentRecyclerview.setAdapter(messageNascentAdapter);
    }
    /**
     * 刷新列表数据
     */
    private void updateListData() {
        if (this.messageNascentAdapter != null) {
            this.messageNascentAdapter.setList(mList);
            this.messageNascentAdapter.notifyDataSetChanged();
        }
    }
@@ -82,9 +99,47 @@
        //接收外部点击事件
        if (eventBus.getTopic().equals(ConstantManage.message_function_tab_switch)) {
            if (eventBus.getType().equals(HdlCommonLogic.MessageFunctionTabSwitch.nascent.toString())) {
                HdlLogLogic.print("正在点击【进行中】");
                getNascentMessageList(true);
            }
        }
    }
    /**
     * 获取发生中的消息列表
     *
     * @param isShowLoading 是否启动 true启动
     */
    private void getNascentMessageList(boolean isShowLoading) {
        if (mList.size() == 0) {
            if (isShowLoading) {
                showLoading();
            }
            HdlMessageLogic.getInstance().getMessageList(HdlMessageLogic.MessageStatus.untreated, new CloudCallBeak<List<MessageBean>>() {
                @Override
                public void onSuccess(List<MessageBean> list) {
                    if (isShowLoading) {
                        hideLoading();
                    }
                    if (!isShowLoading) {
                        viewBinding.messageNascentSrl.setRefreshing(false);
                    }
                    if (list != null && list.size() != 0) {
                        mList.addAll(list);
                updateListData();
            }
        }
                @Override
                public void onFailure(HDLException e) {
                    if (isShowLoading) {
                        hideLoading();
                    }
                    if (!isShowLoading) {
                        viewBinding.messageNascentSrl.setRefreshing(false);
                    }
                }
            });
        }
    }
}
app/src/main/java/com/hdl/photovoltaic/ui/message/RecoverMessageFragment.java
@@ -3,12 +3,17 @@
import android.os.Bundle;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseFragment;
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.databinding.FragmentRecoverMessageBinding;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlCommonLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
import com.hdl.photovoltaic.other.HdlMessageLogic;
import com.hdl.photovoltaic.ui.adapter.MessageAdapter;
import com.hdl.photovoltaic.ui.bean.MessageBean;
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
@@ -26,6 +31,7 @@
    private MessageAdapter messageRecoverAdapter;
    private List<MessageBean> mList;
    @Override
    public Object getContentView() {
        viewBinding = FragmentRecoverMessageBinding.inflate(getLayoutInflater());
@@ -43,18 +49,27 @@
    }
    private void initData() {
        mList = new ArrayList<>();
        for (int i = 0; i < 2; i++) {
            MessageBean messageBean = new MessageBean();
            messageBean.setContent("来了一条告警信息" + i);
            messageBean.setHomeName(i + "");
            messageBean.setTime("2023-12-06-15");
            messageBean.setRead(false);
            mList.add(messageBean);
        }
//        mList = new ArrayList<>();
//        for (int i = 0; i < 2; i++) {
//            MessageBean messageBean = new MessageBean();
////            messageBean.setContent("来了一条告警信息" + i);
//            messageBean.setHomeName(i + "");
////            messageBean.setTime("2023-12-06-15");
//            messageBean.setRead(false);
//            mList.add(messageBean);
//        }
    }
    private void initEvent() {
        //设置下拉箭头颜色
        viewBinding.messageRecoverSrl.setColorSchemeResources(R.color.text_FF245EC3);
        viewBinding.messageRecoverSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                getRecoverMessageList(false);
                HdlLogLogic.print("RecoverMessageFragment下拉刷新", false);
            }
        });
        messageRecoverAdapter.setNoOnclickListener(new MessageAdapter.OnclickListener() {
            @Override
            public void onClick(int position, MessageBean item) {
@@ -69,11 +84,17 @@
        viewBinding.messageRecoverRecyclerview.setAdapter(messageRecoverAdapter);
    }
    /**
     * 刷新列表数据
     */
    private void updateListData() {
        if (this.messageRecoverAdapter != null) {
            this.messageRecoverAdapter.setList(mList);
            this.messageRecoverAdapter.notifyDataSetChanged();
        }
    }
    @Override
    public void onEventMessage(BaseEventBus eventBus) {
        super.onEventMessage(eventBus);
@@ -81,7 +102,48 @@
        if (eventBus.getTopic().equals(ConstantManage.message_function_tab_switch)) {
            if (eventBus.getType().equals(HdlCommonLogic.MessageFunctionTabSwitch.recover.toString())) {
                HdlLogLogic.print("正在点击【已恢复】");
                getRecoverMessageList(true);
            }
        }
    }
    /**
     * 获取恢复中的消息列表
     *
     * @param isShowLoading 是否启动 true启动
     */
    private void getRecoverMessageList(boolean isShowLoading) {
        if (mList.size() == 0) {
            if (isShowLoading) {
                showLoading();
            }
            HdlMessageLogic.getInstance().getMessageList(HdlMessageLogic.MessageStatus.processed, new CloudCallBeak<List<MessageBean>>() {
                @Override
                public void onSuccess(List<MessageBean> list) {
                    if (isShowLoading) {
                        hideLoading();
                    }
                    if (!isShowLoading) {
                        viewBinding.messageRecoverSrl.setRefreshing(false);
                    }
                    if (list != null && list.size() != 0) {
                        mList.addAll(list);
                        updateListData();
                    }
                }
                @Override
                public void onFailure(HDLException e) {
                    if (isShowLoading) {
                        hideLoading();
                    }
                    if (!isShowLoading) {
                        viewBinding.messageRecoverSrl.setRefreshing(false);
                    }
                }
            });
        }
    }
}
app/src/main/res/layout/activity_message_info.xml
New file
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/text_FFFFFFFF"
    tools:context=".ui.message.MessageInfoActivity">
</androidx.constraintlayout.widget.ConstraintLayout>
app/src/main/res/layout/fragment_message_all.xml
@@ -3,19 +3,19 @@
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/all_parent"
    android:layout_width="match_parent"
    android:background="#EA0C0C"
    android:layout_height="match_parent">
    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
        android:id="@+id/message_all_srl"
        android:layout_width="match_parent"
    android:layout_height="match_parent">
    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/message_all_recyclerview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/text_FFB300"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
            android:clipToPadding="false"
            android:paddingBottom="@dimen/dp_16" />
    </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
</FrameLayout>
app/src/main/res/layout/fragment_nascent_message.xml
@@ -5,14 +5,17 @@
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
        android:id="@+id/message_nascent_srl"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >
    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/message_nascent_recyclerview"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:background="@color/text_FFB300"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:clipToPadding="false"
            android:paddingBottom="@dimen/dp_16" />
    </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
app/src/main/res/layout/fragment_recover_message.xml
@@ -5,14 +5,18 @@
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
        android:id="@+id/message_recover_srl"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/message_recover_recyclerview"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:background="@color/text_FFB300"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:clipToPadding="false"
            android:paddingBottom="@dimen/dp_16" />
    </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
</androidx.constraintlayout.widget.ConstraintLayout>