mac
2024-04-30 4e65f5254a4e74dbbe691e5edba2775d6d66c0b0
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
@@ -2,7 +2,6 @@
import android.Manifest;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.hardware.camera2.CameraManager;
import android.os.Bundle;
@@ -29,9 +28,7 @@
import com.hdl.photovoltaic.other.HdlResidenceLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.other.HdlUniLogic;
import com.hdl.photovoltaic.ui.MyPowerStationActivity;
import com.hdl.photovoltaic.ui.adapter.HouseInfoAdapter;
import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean;
import com.hdl.photovoltaic.ui.bean.HouseIdBean;
import com.hdl.photovoltaic.uni.HDLUniMP;
import com.hdl.photovoltaic.utils.PermissionUtils;
@@ -73,9 +70,33 @@
    private void initEvent() {
        //电站标签
        viewBinding.powerStationLabel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                viewBinding.powerStationLabel.setTextAppearance(R.style.Text20Style);
                viewBinding.deviceLabel.setTextAppearance(R.style.Text16Style);
                viewBinding.powerStationLabelParent.setVisibility(View.VISIBLE);
                viewBinding.deviceLabelParent.setVisibility(View.GONE);//设备标签隐藏
            }
        });
        //设备标签
        viewBinding.deviceLabel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                viewBinding.deviceLabel.setTextAppearance(R.style.Text20Style);
                viewBinding.powerStationLabel.setTextAppearance(R.style.Text16Style);
                viewBinding.editIv.setVisibility(View.GONE);//编辑图标隐藏
                viewBinding.addIv.setVisibility(View.GONE);//添加图标隐藏
                viewBinding.powerStationLabelParent.setVisibility(View.GONE);//电站标签隐藏
                viewBinding.deviceLabelParent.setVisibility(View.VISIBLE);
            }
        });
        //添加电站
        viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setOnClickListener(new View.OnClickListener() {
        viewBinding.addIv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null);
@@ -139,21 +160,24 @@
                String homeName = "\"" + houseIdBean.getHomeName() + "\"";
                delayedConfirmationCancelDialog.setContent(getString(R.string.delete_power_station).replace("%s", homeName));
                delayedConfirmationCancelDialog.show();
                delayedConfirmationCancelDialog.startCountdown(3);
                delayedConfirmationCancelDialog.startCountdown(4);
                delayedConfirmationCancelDialog.setYesOnclickListener(new DelayedConfirmationCancelDialog.onYesOnclickListener() {
                    @Override
                    public void Confirm() {
                        delayedConfirmationCancelDialog.dismiss();
                        showLoading(getString(R.string.deleting_please_wait));
                        HdlDeviceLogic.getInstance().getCurrentHomeLocalAndCloudGatewayList(houseIdBean.getHomeId(), new CloudCallBeak<List<GatewayBean>>() {
                            @Override
                            public void onSuccess(List<GatewayBean> list) {
                                deleteResidence(houseIdBean.getHomeId(), delayedConfirmationCancelDialog);
                                initializeInverter(list);
                                //发起删除电站指令
                                deleteResidence(houseIdBean.getHomeId(), list);
                            }
                            @Override
                            public void onFailure(HDLException e) {
                                deleteResidence(houseIdBean.getHomeId(), delayedConfirmationCancelDialog);
                                //发起删除电站指令
                                deleteResidence(houseIdBean.getHomeId(), null);
                            }
                        });
@@ -183,22 +207,60 @@
            }
        });
        //编辑电站按钮
        viewBinding.toolbarTopFragmentHouseListRl.topEditIv.setOnClickListener(new View.OnClickListener() {
        viewBinding.editIv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(HouseListEditActivity.class);
            }
        });
        //电站名称筛选
        viewBinding.stationNameRl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                viewBinding.stationNameRl.setSelected(!v.isSelected());
                viewBinding.stationNameIv.setSelected(viewBinding.stationNameRl.isSelected());
            }
        });
        //电站名称筛选
        viewBinding.stationNameRl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                viewBinding.stationNameRl.setSelected(!v.isSelected());
                viewBinding.stationNameIv.setSelected(viewBinding.stationNameRl.isSelected());
            }
        });
        //发电功率筛选
        viewBinding.stationPowerRl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                viewBinding.stationPowerRl.setSelected(!v.isSelected());
                viewBinding.stationPowerIv.setSelected(viewBinding.stationPowerRl.isSelected());
            }
        });
        //当日发电量筛选
        viewBinding.stationDayRl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                viewBinding.stationDayRl.setSelected(!v.isSelected());
                viewBinding.stationDayIv.setSelected(viewBinding.stationDayRl.isSelected());
            }
        });
        //当月发电量筛选
        viewBinding.stationMonthRl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                viewBinding.stationMonthRl.setSelected(!v.isSelected());
                viewBinding.stationMonthIv.setSelected(viewBinding.stationMonthRl.isSelected());
            }
        });
    }
    private void initView() {
        viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setText(R.string.my_power_station);
        viewBinding.toolbarTopFragmentHouseListRl.topEditIv.setVisibility(View.VISIBLE);
        viewBinding.toolbarTopFragmentHouseListRl.topEditIv.setImageResource(R.drawable.editor_house);
        viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setVisibility(View.VISIBLE);
        viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setImageResource(R.drawable.add);
        viewBinding.powerStationLabelParent.setVisibility(View.VISIBLE);
        viewBinding.deviceLabelParent.setVisibility(View.GONE);
        LinearLayoutManager linearLayout = new LinearLayoutManager(_mActivity);
        houseInfoAdapter = new HouseInfoAdapter(_mActivity);
        viewBinding.fragmentHouseSrlListRc.setLayoutManager(linearLayout);
@@ -423,15 +485,17 @@
     * 删除电站
     *
     * @param homeId 电站id
     * @param list   逆变器列表
     */
    private void deleteResidence(String homeId, DelayedConfirmationCancelDialog delayedConfirmationCancelDialog) {
    private void deleteResidence(String homeId, List<GatewayBean> list) {
        //删除住宅
        HdlResidenceLogic.getInstance().delResidence(homeId, new CloudCallBeak<Boolean>() {
            @Override
            public void onSuccess(Boolean obj) {
                hideLoading();
                delayedConfirmationCancelDialog.dismiss();
                //发起初始化指令给逆变器;
                initializeInverter(list);
                HdlResidenceLogic.getInstance().delHouseId(homeId);
                initData();//初始化缓存数据
                houseInfoAdapter.setList(houseListBeanIDList);//重新刷新列表
@@ -441,7 +505,7 @@
            @Override
            public void onFailure(HDLException e) {
                hideLoading();
                delayedConfirmationCancelDialog.dismiss();
                HdlThreadLogic.toast(_mActivity, e);
            }
        });