mac
2024-05-22 cdcd08459665a89844a14c1d376995ebc501e018
2024年05月22日16:23:47
1个文件已添加
7个文件已修改
109 ■■■■ 已修改文件
app/src/main/java/com/hdl/photovoltaic/HDLApp.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/enums/LowerTagType.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/widget/DelayedConfirmationCancelDialog.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/swipe_right_layout.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -20,9 +20,12 @@
import com.hdl.photovoltaic.config.AppConfigManage;
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.enums.LowerTagType;
import com.hdl.photovoltaic.enums.NetworkType;
import com.hdl.photovoltaic.other.HdlDeviceLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
import com.hdl.photovoltaic.other.HdlMessageLogic;
import com.hdl.photovoltaic.other.HdlResidenceLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.ui.LoginActivity;
import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
@@ -59,6 +62,7 @@
    //声明一个公共的信息映射,可当作全局变量使用;
    public HashMap<String, String> mInfoMap = new HashMap<>();
    //利用单例模式获取当前应用的唯一实例
    public static HDLApp getInstance() {
        return mHDLApp;
@@ -67,7 +71,6 @@
    @Override
    public void onCreate() {
        super.onCreate();
        // 获取当前进程的PID
        Log.d("进程===", android.os.Process.myPid() + "");
        mHDLApp = this;
@@ -195,6 +198,10 @@
                //清空消息缓存数据
                HdlMessageLogic.getInstance().clearListMessage();
                //清空电站缓存数据
                HdlResidenceLogic.getInstance().clearHouseList();
                //清空设备缓存数据
                HdlDeviceLogic.getInstance().clearDeviceList();
                //清空缓存数据
                if (mInfoMap != null) {
                    mInfoMap.clear();
app/src/main/java/com/hdl/photovoltaic/enums/LowerTagType.java
New file
@@ -0,0 +1,8 @@
package com.hdl.photovoltaic.enums;
public enum LowerTagType {
    home,
    power_station,
    message,
    me
}
app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
@@ -17,6 +17,7 @@
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
import com.hdl.photovoltaic.enums.LowerTagType;
import com.hdl.photovoltaic.enums.UnitType;
import com.hdl.photovoltaic.utils.GlideUtils;
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
@@ -40,6 +41,9 @@
    private static volatile HdlCommonLogic sHdlCommonLogic;
    public static LowerTagType lowerTagType = LowerTagType.home;
    /**
     * 获取当前对象
     *
app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
@@ -31,6 +31,7 @@
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.databinding.ActivityMyPowerStationBinding;
import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
import com.hdl.photovoltaic.enums.LowerTagType;
import com.hdl.photovoltaic.enums.NetworkType;
import com.hdl.photovoltaic.enums.PowerStationStatusType;
import com.hdl.photovoltaic.listener.CloudCallBeak;
@@ -308,6 +309,7 @@
                currentFragmentIndex = 0;
                bottomViewChangeOfStyle();
                showFragment();
                HdlCommonLogic.lowerTagType = LowerTagType.home;
                HdlCommonLogic.getInstance().postEventBusSticky(ConstantManage.homepage_title_tab_switch, HomepageTitleTabSwitch.homepage.toString());
            }
        });
@@ -320,6 +322,7 @@
                currentFragmentIndex = 1;
                bottomViewChangeOfStyle();
                showFragment();
                HdlCommonLogic.lowerTagType = LowerTagType.power_station;
                HdlCommonLogic.getInstance().postEventBusSticky(ConstantManage.homepage_title_tab_switch, HomepageTitleTabSwitch.powerstation.toString());
            }
        });
@@ -332,6 +335,7 @@
                currentFragmentIndex = 2;
                bottomViewChangeOfStyle();
                showFragment();
                HdlCommonLogic.lowerTagType = LowerTagType.message;
                HdlCommonLogic.getInstance().postEventBusSticky(ConstantManage.homepage_title_tab_switch, HomepageTitleTabSwitch.message.toString());
            }
        });
@@ -344,6 +348,7 @@
                currentFragmentIndex = 3;
                bottomViewChangeOfStyle();
                showFragment();
                HdlCommonLogic.lowerTagType = LowerTagType.me;
                HdlCommonLogic.getInstance().postEventBusSticky(ConstantManage.homepage_title_tab_switch, HomepageTitleTabSwitch.me.toString());
            }
        });
app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java
@@ -1,6 +1,7 @@
package com.hdl.photovoltaic.ui.adapter;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -9,6 +10,7 @@
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.recyclerview.widget.RecyclerView;
import com.hdl.photovoltaic.R;
@@ -50,7 +52,7 @@
        holder.device_label_power_value_tv.setText(HdlCommonLogic.getConvertDoubleUnit(deviceBean.getPowerPvNow(), UnitType.kW));
        holder.device_label_day_value_tv.setText(HdlCommonLogic.getConvertDoubleUnit(deviceBean.getPowerPvNow(), UnitType.kWh));
        holder.device_label_location_tv.setText(deviceBean.getHomeAddress());
        setTextViewStyle(holder.device_label_state_tv, deviceBean.getDeviceStatus());
        holder.itemView.setTag(position);
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
@@ -87,6 +89,44 @@
    }
    /**
     * 改变组件样式
     *
     * @param textView    显示组件
     * @param state_value 设备状态(1:连接中,2:故障,3:正常(运行),4:离线)
     */
    private void setTextViewStyle(TextView textView, int state_value) {
        String text = mContext.getString(R.string.my_power_station_operation);
        Drawable drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_06b92a);
        switch (state_value) {
            case 1: {
                text = mContext.getString(R.string.my_power_station_connecting);
                drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300);
            }
            break;
            case 2: {
                text = mContext.getString(R.string.my_power_station_malfunction);
                drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_e34343);
            }
            break;
            case 3: {
                text = mContext.getString(R.string.my_power_station_operation);
            }
            break;
            case 4: {
                text = mContext.getString(R.string.my_power_station_off_line);
                drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_b9b9b9);
            }
            break;
        }
        textView.setText(text);
        textView.setBackground(drawable);
    }
    /**
     * 一行布局容器
     */
    static class MyViewHolder extends RecyclerView.ViewHolder {
@@ -98,7 +138,7 @@
        public TextView device_label_power_value_tv;//有功功率
        public TextView device_label_day_value_tv;//当日发电量
        public TextView device_label_location_tv;//电站地址
        public TextView device_label_state_tv;//电站状态(连接中,运行,离线,故障);
        public TextView device_label_state_tv;//设备状态(1:连接中,2:故障,3:正常(运行),4:离线)
        public MyViewHolder(@NonNull View itemView) {
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java
@@ -23,6 +23,7 @@
import com.hdl.photovoltaic.databinding.FragmentHouseListBinding;
import com.hdl.photovoltaic.base.CustomBaseFragment;
import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
import com.hdl.photovoltaic.enums.LowerTagType;
import com.hdl.photovoltaic.enums.PowerStationStatus;
import com.hdl.photovoltaic.enums.ShowErrorMode;
import com.hdl.photovoltaic.enums.SortType;
@@ -300,10 +301,11 @@
            public void onDelClick(int position, HouseIdBean houseIdBean) {
                DelayedConfirmationCancelDialog delayedConfirmationCancelDialog = new DelayedConfirmationCancelDialog(_mActivity);
                delayedConfirmationCancelDialog.setTitleContent(getString(R.string.loading_title_tip));
                delayedConfirmationCancelDialog.show();
                delayedConfirmationCancelDialog.isHideTitle(true);
                String homeName = "\"" + houseIdBean.getHomeName() + "\"";
                delayedConfirmationCancelDialog.setContent(getString(R.string.delete_power_station).replace("%s", homeName));
                delayedConfirmationCancelDialog.show();
                delayedConfirmationCancelDialog.startCountdown(4);
                delayedConfirmationCancelDialog.setYesOnclickListener(new DelayedConfirmationCancelDialog.onYesOnclickListener() {
                    @Override
@@ -596,15 +598,20 @@
        } else if (HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE.equals(eventBus.getType())) {
            // 取消粘性事件
            EventBus.getDefault().removeStickyEvent(eventBus);
            //uin关闭住宅详情界面通知
            if (MqttRecvClient.getInstance() != null) {
                MqttRecvClient.getInstance().removeAllTopic();
            //是在电站列表页才进来这里
            if (HdlCommonLogic.lowerTagType == LowerTagType.power_station && isClickPowerStationLabel) {
                //uin关闭住宅详情界面通知
                if (MqttRecvClient.getInstance() != null) {
                    MqttRecvClient.getInstance().removeAllTopic();
                }
                loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
            }
            loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
        } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST.equals(eventBus.getType())) {
            // 取消粘性事件
            EventBus.getDefault().removeStickyEvent(eventBus);
//            if (!isClickPowerStationLabel) {
//                return;
//            }
            //进去住宅详情uni读取逆变器列表成功后通知
            for (int i = 0; i < HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId()).size(); i++) {
                String gatewayId = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId()).get(i).getGatewayId();
app/src/main/java/com/hdl/photovoltaic/widget/DelayedConfirmationCancelDialog.java
@@ -11,12 +11,13 @@
import androidx.annotation.NonNull;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.BaseDialog;
import com.hdl.photovoltaic.databinding.DialogConfirmCancelBinding;
/**
 * 延时确认框
 */
public class DelayedConfirmationCancelDialog extends Dialog {
public class DelayedConfirmationCancelDialog extends BaseDialog {
    public DelayedConfirmationCancelDialog(@NonNull Context context) {
        super(context, R.style.Custom_Dialog);
        this.mContext = context;
@@ -64,6 +65,19 @@
    }
    /**
     * 隐藏自定义"标题"组件
     *
     * @param isHideTitle true 隐藏
     */
    public void isHideTitle(boolean isHideTitle) {
        if (isHideTitle) {
            if (viewBinding != null) {
                viewBinding.loadingConfirmationTitleTv.setVisibility(View.GONE);
            }
        }
    }
    /**
     * 自定义"确认"文本
     *
     * @param confirm 内容
app/src/main/res/layout/swipe_right_layout.xml
@@ -7,7 +7,7 @@
    <View
        android:layout_width="wrap_content"
        android:layout_height="@dimen/dp_24" />
        android:layout_height="@dimen/dp_16" />
    <ImageView
        android:id="@+id/move_home_iv"