From 4598b51c90c695c9ccbe5350a84e4a46b9d8e587 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期三, 22 五月 2024 20:19:02 +0800 Subject: [PATCH] 2024年05月22日20:18:54 --- app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java | 73 ++++++++++++++++++++++++++++++------ 1 files changed, 61 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java index 9040eac..effb37d 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java @@ -22,6 +22,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; @@ -36,17 +37,19 @@ import com.hdl.photovoltaic.other.HdlUniLogic; import com.hdl.photovoltaic.ui.adapter.DeviceInfoAdapter; import com.hdl.photovoltaic.ui.adapter.HouseInfoAdapter; -import com.hdl.photovoltaic.ui.bean.DeviceBean; +import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean; import com.hdl.photovoltaic.ui.bean.HouseIdBean; import com.hdl.photovoltaic.ui.bean.StatusOverviewBean; import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.utils.PermissionUtils; +import com.hdl.photovoltaic.utils.URLEncodingUtils; import com.hdl.photovoltaic.widget.DefaultFilteringDialog; import com.hdl.photovoltaic.widget.DelayedConfirmationCancelDialog; import com.hdl.sdk.link.common.exception.HDLLinkException; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; import com.hdl.sdk.link.core.bean.gateway.GatewayBean; import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient; +import com.hdl.sdk.link.gateway.HDLLinkLocalGateway; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; @@ -67,7 +70,7 @@ private DeviceInfoAdapter deviceInfoAdapter; private List<HouseIdBean> houseListBeanIDList; - private List<DeviceBean> deviceInfoList; + private List<CloudInverterDeviceBean> deviceInfoList; private int currentHouseListPage = 0; // 褰撳墠鐢电珯鍒楄〃椤电爜 private int currentHouseListTotal = 0; // 鐢电珯鍒楄〃鎬婚〉鐮� private boolean isHouseLoadingMore = false; // 鏍囪鐢电珯鍒楄〃姝e湪鍔犺浇鏇村鏁版嵁 @@ -96,6 +99,7 @@ @Override public void onBindView(Bundle savedInstanceState) { + getStatusOverview(); initData(); //鍒濆鍖� initView(); @@ -297,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 @@ -406,8 +411,38 @@ //璁惧鐐瑰嚮 deviceInfoAdapter.setOnclickListener(new DeviceInfoAdapter.OnClickListener() { @Override - public void onClick(int position, DeviceBean deviceBean) { + public void onClick(int position, CloudInverterDeviceBean deviceBean) { +// GatewayBean gatewayBean = new GatewayBean(); +// gatewayBean.setCategorySecondName(deviceBean.getCategorySecondName()); +// gatewayBean.setDevice_mac(deviceBean.getOsn()); +// gatewayBean.setDevice_model(deviceBean.getOmodel()); +// gatewayBean.setOid(deviceBean.getOid()); +// gatewayBean.setGatewayId(deviceBean.getGatewayId()); +// gatewayBean.setAddresses(deviceBean.getAddresses()); +// gatewayBean.setSid(deviceBean.getSid()); +// gatewayBean.setDeviceId(deviceBean.getDeviceId()); +// gatewayBean.setDevice_name(deviceBean.getName()); +// gatewayBean.setDeviceStatus(deviceBean.getDeviceStatus()); +// gatewayBean.setHomeId(deviceBean.getHomeId()); +// gatewayBean.setSpk(deviceBean.getSpk()); +// gatewayBean.setDeviceType(deviceBean.getDeviceType()); + List<CloudInverterDeviceBean> newList = new ArrayList<>(); + newList.add(deviceBean); + // //鐩殑鏄负浜嗚幏鍙栨嬁鍒扮綉鍏矷D锛宮qtt閫氳绉橀挜绛変俊鎭紝缂撳瓨鏈湴閫嗗彉鍣ㄥ垪琛ㄩ噷闈紝鍙戦�佹暟鎹暟鎹椂鑷姩鍘荤紦瀛樺垪琛ㄩ噷闈㈠幓鏌ユ壘锛� + HdlDeviceLogic.getInstance().setDeviceRemoteInfo(newList, deviceBean.getHomeId(), new CloudCallBeak<List<GatewayBean>>() { + @Override + public void onSuccess(List<GatewayBean> obj) { + GatewayBean newGatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(deviceBean.getOsn()); + String jsonEncryption = URLEncodingUtils.encodeURIComponent(new Gson().toJson(newGatewayBean)); + String path = HDLUniMP.UNI_EVENT_OPEN_DEVICE_DETAILS + "?inverterInfo=" + jsonEncryption; + HdlUniLogic.getInstance().openUniMP(path, null); + } + @Override + public void onFailure(HDLException e) { + + } + }); } }); //璁惧璁剧疆涓嬫媺绠ご棰滆壊 @@ -578,15 +613,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(); @@ -615,6 +655,15 @@ viewBinding.powerStationOfflineIl.parentLl.performClick(); } else if (eventBus.getType().equals(PowerStationStatus.connecting)) { viewBinding.powerStationConnectedIl.parentLl.performClick(); + } else if (eventBus.getType().equals(ConstantManage.station_edit)) { + //缂栬緫鍚庢洿鏂颁竴涓嬩綇瀹呭垪琛� + //loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); +// getStatusOverview(); + if (houseInfoAdapter != null) { + initData(); + //鏇存柊UI + houseInfoAdapter.setList(houseListBeanIDList); + } } } } @@ -745,9 +794,9 @@ showLoading(); } //鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃 - HdlDeviceLogic.getInstance().getPowerStationDeviceList("", pageNo, pageSize, new CloudCallBeak<PageNumberObject<DeviceBean>>() { + HdlDeviceLogic.getInstance().getPowerStationDeviceList("", pageNo, pageSize, new CloudCallBeak<PageNumberObject<CloudInverterDeviceBean>>() { @Override - public void onSuccess(PageNumberObject<DeviceBean> pageNumberObject) { + public void onSuccess(PageNumberObject<CloudInverterDeviceBean> pageNumberObject) { HdlThreadLogic.runMainThread(new Runnable() { @Override public void run() { -- Gitblit v1.8.0