From 3e904bfa8a1bb53dcf461e5c717f9b808e179245 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 08 一月 2025 16:27:48 +0800
Subject: [PATCH] 2025年01月08日16:27:46
---
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java | 349 ++++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 228 insertions(+), 121 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..d3c5326 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
@@ -1,11 +1,16 @@
package com.hdl.photovoltaic.ui.powerstation;
+import android.app.Dialog;
+import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Bundle;
+import android.os.SystemClock;
+import android.util.Log;
import android.view.View;
-import android.widget.LinearLayout;
-import android.widget.TextView;
+import android.view.Window;
+import android.widget.ImageView;
+import android.widget.RelativeLayout;
import androidx.annotation.NonNull;
import androidx.appcompat.content.res.AppCompatResources;
@@ -22,6 +27,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;
@@ -31,22 +37,27 @@
import com.hdl.photovoltaic.other.HdlCommonLogic;
import com.hdl.photovoltaic.other.HdlDeviceLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.other.HdlOtaLogic;
import com.hdl.photovoltaic.other.HdlResidenceLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
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.ProcessManagerUtils;
+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.config.HDLLinkConfig;
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 +78,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湪鍔犺浇鏇村鏁版嵁
@@ -87,6 +98,17 @@
private final long pageSize = 20;//椤垫暟
+ /**
+ * 杩樺師鏉′欢鐨勫垵濮嬪寲鐘舵��
+ */
+ private void initializationState() {
+ key = SortValue.all;
+ value = SortValue.all;
+ installedCapacityMinValue = "";
+ installedCapacityMaxValue = "";
+ gridTypeValue = "";
+ powerStationStatusValue = PowerStationStatus.All;
+ }
@Override
public Object getContentView() {
@@ -96,6 +118,7 @@
@Override
public void onBindView(Bundle savedInstanceState) {
+ getStatusOverview();
initData();
//鍒濆鍖�
initView();
@@ -113,17 +136,11 @@
return;
}
isClickPowerStationLabel = true;
- viewBinding.powerStationLabel.setTextAppearance(R.style.Text20Style);
- viewBinding.deviceLabel.setTextAppearance(R.style.Text16Style);
- viewBinding.editIv.setVisibility(View.VISIBLE);//缂栬緫鍥炬爣闅愯棌
- viewBinding.addIv.setVisibility(View.VISIBLE);//娣诲姞鍥炬爣闅愯棌
- viewBinding.powerStationLabelParent.setVisibility(View.VISIBLE);//鐢电珯鏍囩銆愮埗瀹瑰櫒銆戞樉绀�
- viewBinding.deviceLabelParent.setVisibility(View.GONE);//璁惧鏍囩銆愮埗瀹瑰櫒銆戦殣钘�
- if (viewBinding.deviceNullDataIc.getRoot().getVisibility() == View.VISIBLE) {
- viewBinding.deviceNullDataIc.getRoot().setVisibility(View.GONE);
- }
- loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
+ selectedTitleLabelStyle();
+ initializationState();
getStatusOverview();
+ loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
+
}
});
//璁惧鏍囩
@@ -134,51 +151,55 @@
return;
}
isClickPowerStationLabel = false;
- 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);//璁惧鏍囩銆愮埗瀹瑰櫒銆戞樉绀�
- if (viewBinding.homeNullDataIc.getRoot().getVisibility() == View.VISIBLE) {
- viewBinding.homeNullDataIc.getRoot().setVisibility(View.GONE);
- }
+ selectedTitleLabelStyle();
loadNextPageDeviceList(true, 1, true);
}
});
//鍏ㄩ儴
- viewBinding.powerStationAllIl.parentLl.setOnClickListener(new View.OnClickListener() {
+ viewBinding.allLl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
powerStationStatusValue = PowerStationStatus.All;
- selectedStationStyle(viewBinding.powerStationAllIl.parentLl, viewBinding.powerStationAllIl.stationTotalTv, viewBinding.powerStationAllIl.stationTitleTv, true);
+ viewBinding.allLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_yes_ffffff));
+ viewBinding.faultsLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
+ viewBinding.offlineLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
+ viewBinding.connectedLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
}
});
//鏁呴殰
- viewBinding.powerStationFaultsIl.parentLl.setOnClickListener(new View.OnClickListener() {
+ viewBinding.faultsLl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
powerStationStatusValue = PowerStationStatus.malfunction;
- selectedStationStyle(viewBinding.powerStationFaultsIl.parentLl, viewBinding.powerStationFaultsIl.stationTotalTv, viewBinding.powerStationFaultsIl.stationTitleTv, true);
+ viewBinding.allLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
+ viewBinding.faultsLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_yes_ffffff));
+ viewBinding.offlineLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
+ viewBinding.connectedLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
}
});
//绂荤嚎
- viewBinding.powerStationOfflineIl.parentLl.setOnClickListener(new View.OnClickListener() {
+ viewBinding.offlineLl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
powerStationStatusValue = PowerStationStatus.off;
- selectedStationStyle(viewBinding.powerStationOfflineIl.parentLl, viewBinding.powerStationOfflineIl.stationTotalTv, viewBinding.powerStationOfflineIl.stationTitleTv, true);
+ viewBinding.allLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
+ viewBinding.faultsLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
+ viewBinding.offlineLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_yes_ffffff));
+ viewBinding.connectedLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
}
});
//寰呮帴鍏�
- viewBinding.powerStationConnectedIl.parentLl.setOnClickListener(new View.OnClickListener() {
+ viewBinding.connectedLl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
powerStationStatusValue = PowerStationStatus.connecting;
- selectedStationStyle(viewBinding.powerStationConnectedIl.parentLl, viewBinding.powerStationConnectedIl.stationTotalTv, viewBinding.powerStationConnectedIl.stationTitleTv, true);
+ viewBinding.allLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
+ viewBinding.faultsLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
+ viewBinding.offlineLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
+ viewBinding.connectedLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_yes_ffffff));
loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
}
});
@@ -187,6 +208,7 @@
viewBinding.addIv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(1);
HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null);
}
@@ -257,11 +279,11 @@
@Override
public void onClick(int position, HouseIdBean houseIdBean) {
//鐐瑰嚮浣忓畢璇︽儏
- HdlLogLogic.print("鐐瑰嚮浣忓畢璇︽儏---" + new Gson().toJson(houseIdBean), false);
- HdlResidenceLogic.getInstance().switchHouse(houseIdBean);
+ UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(0);
+ HdlResidenceLogic.getInstance().switchHouse(houseIdBean, true);
String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS + "?homeId=" + houseIdBean.getHomeId() + "&homeName=" + houseIdBean.getHomeName() + "&powerStationStatus=" + houseIdBean.getPowerStationStatus();
HdlUniLogic.getInstance().openUniMP(path, null);
-
+ HdlLogLogic.print("鐐瑰嚮浣忓畢璇︽儏---" + new Gson().toJson(houseIdBean), false);
}
@Override
@@ -280,7 +302,7 @@
//绉诲姩鐢电珯浣嶇疆
HdlResidenceLogic.getInstance().moveHouseId(houseIdBean.getHomeId());
initData();//鍒濆鍖栫紦瀛樻暟鎹�
- houseInfoAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃
+ houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue);//閲嶆柊鍒锋柊鍒楄〃
nullDataUpdateUi();//妫�娴嬫暟鎹槸鍚︿负绌�
}
@@ -297,10 +319,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
@@ -360,8 +383,7 @@
@Override
public void onClick(View v) {
boolean isSelected = !v.isSelected();
- viewBinding.stationNameRl.setSelected(isSelected);
- viewBinding.stationNameIv.setSelected(isSelected);
+ screenIconState(viewBinding.stationNameRl, viewBinding.stationNameIv, isSelected);
key = SortType.homeNameSort;
value = isSelected ? SortValue.ascending : SortValue.descending;
loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
@@ -372,8 +394,7 @@
@Override
public void onClick(View v) {
boolean isSelected = !v.isSelected();
- viewBinding.stationPowerRl.setSelected(isSelected);
- viewBinding.stationPowerIv.setSelected(isSelected);
+ screenIconState(viewBinding.stationPowerRl, viewBinding.stationPowerIv, isSelected);
key = SortType.powerSort;
value = isSelected ? SortValue.ascending : SortValue.descending;
loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
@@ -384,8 +405,7 @@
@Override
public void onClick(View v) {
boolean isSelected = !v.isSelected();
- viewBinding.stationDayRl.setSelected(isSelected);
- viewBinding.stationDayIv.setSelected(isSelected);
+ screenIconState(viewBinding.stationDayRl, viewBinding.stationDayIv, isSelected);
key = SortType.todayElectricitySort;
value = isSelected ? SortValue.ascending : SortValue.descending;
loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
@@ -396,8 +416,7 @@
@Override
public void onClick(View v) {
boolean isSelected = !v.isSelected();
- viewBinding.stationMonthRl.setSelected(isSelected);
- viewBinding.stationMonthIv.setSelected(isSelected);
+ screenIconState(viewBinding.stationMonthRl, viewBinding.stationMonthIv, isSelected);
key = SortType.monthElectricitySort;
value = isSelected ? SortValue.ascending : SortValue.descending;
loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
@@ -406,8 +425,45 @@
//璁惧鐐瑰嚮
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());
+ if (deviceBean.getDeviceStatus() == 4) {
+ HdlThreadLogic.toast(_mActivity, R.string.device_off);
+ return;
+ }
+ //閰嶇疆鏈湴閫氫俊鐨勪俊鎭�
+ HDLLinkConfig.getInstance().setHomeId(deviceBean.getHomeId());
+ HDLLinkConfig.getInstance().setLocalSecret(deviceBean.getLocalSecret());
+ 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) {
+
+ }
+ });
}
});
//璁惧璁剧疆涓嬫媺绠ご棰滆壊
@@ -454,65 +510,75 @@
}
+ /**
+ * 鏇存柊绛涢�夋潯浠剁姸鎬�
+ *
+ * @param relativeLayout 缁勪欢鍚嶇О
+ * @param imageView 缁勪欢鍚嶇О
+ * @param isSelected 鐘舵��
+ */
+ private void screenIconState(RelativeLayout relativeLayout, ImageView imageView, boolean isSelected) {
+ viewBinding.stationNameRl.setSelected(false);
+ viewBinding.stationNameIv.setSelected(false);
+ viewBinding.stationPowerRl.setSelected(false);
+ viewBinding.stationPowerIv.setSelected(false);
+ viewBinding.stationDayRl.setSelected(false);
+ viewBinding.stationDayIv.setSelected(false);
+ viewBinding.stationMonthRl.setSelected(false);
+ viewBinding.stationMonthIv.setSelected(false);
+ relativeLayout.setSelected(isSelected);
+ imageView.setSelected(isSelected);
+ }
+
private void initView() {
viewBinding.powerStationLabelParent.setVisibility(View.VISIBLE);
viewBinding.deviceLabelParent.setVisibility(View.GONE);
-
- viewBinding.powerStationAllIl.stationTitleTv.setText(getString(R.string.message_all));
- viewBinding.powerStationFaultsIl.stationTitleTv.setText(getString(R.string.my_power_station_malfunction));
- viewBinding.powerStationOfflineIl.stationTitleTv.setText(getString(R.string.my_power_station_off_line));
- viewBinding.powerStationConnectedIl.stationTitleTv.setText(getString(R.string.to_be_added));
-
- selectedStationStyle(viewBinding.powerStationAllIl.parentLl, viewBinding.powerStationAllIl.stationTotalTv, viewBinding.powerStationAllIl.stationTitleTv, true);
+ viewBinding.allLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_yes_ffffff));
+ viewBinding.faultsLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
+ viewBinding.offlineLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
+ viewBinding.connectedLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
//鐢电珯鏍囩
houseInfoAdapter = new HouseInfoAdapter(_mActivity);
viewBinding.fragmentHouseSrlListRc.setLayoutManager(new LinearLayoutManager(_mActivity));
viewBinding.fragmentHouseSrlListRc.setAdapter(houseInfoAdapter);
- houseInfoAdapter.setList(this.houseListBeanIDList);
+ houseInfoAdapter.setList(this.houseListBeanIDList, powerStationStatusValue);
//璁惧鏍囩
deviceInfoAdapter = new DeviceInfoAdapter(_mActivity);
viewBinding.fragmentDeviceSrlListRc.setLayoutManager(new LinearLayoutManager(_mActivity));
viewBinding.fragmentDeviceSrlListRc.setAdapter(deviceInfoAdapter);
- this.nullDataUpdateUi();
-
+// this.nullDataUpdateUi();
}
/**
- * 鏄剧ず閫変腑鐘舵�佹牱寮�
- *
- * @param linearLayout 缁勪欢
- * @param numberTv 缁勪欢
- * @param titleTv 缁勪欢
- * @param isShowSelectedStatus 鏄惁鏄剧ず鐘舵�佹牱寮�
+ * 鐢电珯鍜岃澶囨爣绛炬牱寮�
*/
- private void selectedStationStyle(LinearLayout linearLayout, TextView numberTv, TextView titleTv, boolean isShowSelectedStatus) {
- viewBinding.powerStationAllIl.parentLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
- viewBinding.powerStationFaultsIl.parentLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
- viewBinding.powerStationOfflineIl.parentLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
- viewBinding.powerStationConnectedIl.parentLl.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.station_status_no_ffffff));
-
- viewBinding.powerStationAllIl.stationTotalTv.setTextColor(getResources().getColor(R.color.text_E6000000, null));
- viewBinding.powerStationAllIl.stationTitleTv.setTextColor(getResources().getColor(R.color.text_66000000, null));
-
- viewBinding.powerStationFaultsIl.stationTotalTv.setTextColor(getResources().getColor(R.color.text_E6000000, null));
- viewBinding.powerStationFaultsIl.stationTitleTv.setTextColor(getResources().getColor(R.color.text_66000000, null));
-
- viewBinding.powerStationOfflineIl.stationTotalTv.setTextColor(getResources().getColor(R.color.text_E6000000, null));
- viewBinding.powerStationOfflineIl.stationTitleTv.setTextColor(getResources().getColor(R.color.text_66000000, null));
-
- viewBinding.powerStationConnectedIl.stationTotalTv.setTextColor(getResources().getColor(R.color.text_E6000000, null));
- viewBinding.powerStationConnectedIl.stationTitleTv.setTextColor(getResources().getColor(R.color.text_66000000, null));
-
-
- if (isShowSelectedStatus) {
- linearLayout.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.selected_8_38c494));
- numberTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
- titleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
+ private void selectedTitleLabelStyle() {
+ if (isClickPowerStationLabel) {
+ viewBinding.powerStationLabel.setTextAppearance(R.style.Text18Style);
+ viewBinding.deviceLabel.setTextAppearance(R.style.Text14Style);
+// viewBinding.editIv.setVisibility(View.VISIBLE);//缂栬緫鍥炬爣闅愯棌
+ viewBinding.addIv.setVisibility(View.VISIBLE);//娣诲姞鍥炬爣闅愯棌
+ viewBinding.powerStationLabelParent.setVisibility(View.VISIBLE);//鐢电珯鏍囩銆愮埗瀹瑰櫒銆戞樉绀�
+ viewBinding.deviceLabelParent.setVisibility(View.GONE);//璁惧鏍囩銆愮埗瀹瑰櫒銆戦殣钘�
+ if (viewBinding.deviceNullDataIc.getRoot().getVisibility() == View.VISIBLE) {
+ viewBinding.deviceNullDataIc.getRoot().setVisibility(View.GONE);
+ }
+ } else {
+ viewBinding.deviceLabel.setTextAppearance(R.style.Text18Style);
+ viewBinding.powerStationLabel.setTextAppearance(R.style.Text14Style);
+// viewBinding.editIv.setVisibility(View.GONE);//缂栬緫鍥炬爣闅愯棌
+ viewBinding.addIv.setVisibility(View.GONE);//娣诲姞鍥炬爣闅愯棌
+ viewBinding.powerStationLabelParent.setVisibility(View.GONE);//鐢电珯鏍囩銆愮埗瀹瑰櫒銆戦殣钘�
+ viewBinding.deviceLabelParent.setVisibility(View.VISIBLE);//璁惧鏍囩銆愮埗瀹瑰櫒銆戞樉绀�
+ if (viewBinding.homeNullDataIc.getRoot().getVisibility() == View.VISIBLE) {
+ viewBinding.homeNullDataIc.getRoot().setVisibility(View.GONE);
+ }
}
}
+
private void initData() {
if (isClickPowerStationLabel) {
@@ -544,7 +610,7 @@
Gson gson = new Gson();
String json = eventBus.getData().toString();
HouseIdBean houseIdBean = gson.fromJson(json, HouseIdBean.class);
- HdlResidenceLogic.getInstance().switchHouse(houseIdBean);
+ HdlResidenceLogic.getInstance().switchHouse(houseIdBean, true);
}
} else if (HDLUniMP.UNI_EVENT_REPLY_HOME_EDIT.equals(eventBus.getType())) {
@@ -573,48 +639,88 @@
// }
// }
-
}
- } else if (HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE.equals(eventBus.getType())) {
+ } else if (HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE.equals(eventBus.getTopic())) {
// 鍙栨秷绮樻�т簨浠�
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;
+// }
+ //鍏堟竻绌鸿闃呬富棰�
+ if (MqttRecvClient.getInstance() != null) {
+ MqttRecvClient.getInstance().removeAllTopic();
+ }
+ String homeId = eventBus.getData().toString();
//杩涘幓浣忓畢璇︽儏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();
+ for (int i = 0; i < HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(homeId).size(); i++) {
+ String gatewayId = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(homeId).get(i).getGatewayId();
//瀛楃涓叉槸鑷繁鎸夎鍒欐嫾鎺ョ殑,閲岄潰娉ㄥ唽涓婚鏃朵細瑙f瀽瀛楃涓�,鍙嬁getGatewayId()鍊�;
String topic = "/user/" + gatewayId + "/#";
//杩涘幓浣忓畢璇︽儏寮�濮嬭闃呬富棰�
- MqttRecvClient.getInstance().checkAndsubscribeAllTopics(topic);
+ MqttRecvClient.getInstance().checkAndsubscribeAllTopics(topic);//璁㈤槄銆愰�嗗彉鍣ㄣ�戞秷鎭�
}
+ String topicHome = "/user/" + homeId + "/#";
+ MqttRecvClient.getInstance().checkAndsubscribeAllTopics(topicHome);//璁㈤槄銆愮數绔欍�戞秷鎭�
+
+
+
} else if (eventBus.getTopic().equals(ConstantManage.homepage_title_tab_switch)) {
+ // 鍙栨秷绮樻�т簨浠�
+ EventBus.getDefault().removeStickyEvent(eventBus);
//鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢
if (eventBus.getType().equals(HomepageTitleTabSwitch.powerstation.toString())) {
- // 鍙栨秷绮樻�т簨浠�
- EventBus.getDefault().removeStickyEvent(eventBus);
HdlLogLogic.print("姝e湪鐐瑰嚮銆愮數绔欍��");
- if (!isReadData) {
- //1锛屼粠棣栭〉-鏁呴殰-杩涙潵-鐢电珯锛堜笉璇诲彇锛�
- //1锛屼粠鐢电珯-杩涙潵-鐢电珯锛堣鍙栦竴娆�,鍚庨潰杩涙潵涓嶅湪璇诲彇锛�
- loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
- getStatusOverview();
+// if (!isReadData) {
+// //1锛屼粠棣栭〉-鏁呴殰-杩涙潵-鐢电珯锛堜笉璇诲彇锛�
+// //2锛屼粠鐢电珯-杩涙潵-鐢电珯锛堣鍙栦竴娆�,鍚庨潰杩涙潵涓嶅湪璇诲彇锛�
+// loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
+// getStatusOverview();
+// }
+ //2024骞�06鏈�24鏃�14:34:01 浜у搧缁忕悊瑕佹眰杩涘幓鐢电珯鍒楄〃閮借璇诲彇 涓旈粯璁よ繘鍘婚兘鏄粯璁ょ數绔欐爣绛�
+ isClickPowerStationLabel = true;
+ selectedTitleLabelStyle();
+ initializationState();
+ getStatusOverview();
+ loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
+ } else if (eventBus.getType().equals(ConstantManage.station_page)) {
+ //閫氳繃棣栭〉鐢电珯杩涙潵鐨�
+ if (eventBus.getData().equals(PowerStationStatus.All)) {
+ isClickPowerStationLabel = true;
+ selectedTitleLabelStyle();
+ viewBinding.allLl.performClick();
+ } else if (eventBus.getData().equals(PowerStationStatus.malfunction)) {
+ isClickPowerStationLabel = true;
+ selectedTitleLabelStyle();
+ viewBinding.faultsLl.performClick();
+ } else if (eventBus.getData().equals(PowerStationStatus.off)) {
+ isClickPowerStationLabel = true;
+ selectedTitleLabelStyle();
+ viewBinding.offlineLl.performClick();
+ } else if (eventBus.getData().equals(PowerStationStatus.connecting)) {
+ isClickPowerStationLabel = true;
+ selectedTitleLabelStyle();
+ viewBinding.connectedLl.performClick();
}
- } else if (eventBus.getType().equals(PowerStationStatus.All)) {
- viewBinding.powerStationAllIl.parentLl.performClick();
- } else if (eventBus.getType().equals(PowerStationStatus.malfunction)) {
- viewBinding.powerStationFaultsIl.parentLl.performClick();
- } else if (eventBus.getType().equals(PowerStationStatus.off)) {
- 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, powerStationStatusValue);
+ }
}
}
}
@@ -630,10 +736,10 @@
if (statusOverviewBean == null) {
return;
}
- viewBinding.powerStationAllIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getTotal()));
- viewBinding.powerStationFaultsIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getFault()));
- viewBinding.powerStationOfflineIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getOffline()));
- viewBinding.powerStationConnectedIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getConnecting()));
+ viewBinding.allTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getTotal()));
+ viewBinding.faultsTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getFault()));
+ viewBinding.offlineTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getOffline()));
+ viewBinding.connectedTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getConnecting()));
}
@Override
@@ -673,7 +779,7 @@
}
isHouseLoadingMore = true;//鏍囪璇诲彇鐘舵��
if (isRefreshing) {
- showLoading();
+ showLoading(getString(R.string.device_loading));
}
//鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃
@@ -695,7 +801,7 @@
if (houseInfoAdapter != null) {
initData();
//鏇存柊UI
- houseInfoAdapter.setList(houseListBeanIDList);
+ houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue);
}
}
nullDataUpdateUi();
@@ -742,12 +848,12 @@
}
isDeviceLoadingMore = true;//鏍囪璇诲彇鐘舵��
if (isRefreshing) {
- showLoading();
+ showLoading(getString(R.string.device_loading));
}
//鑾峰彇浣忓畢(鐢电珯)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() {
@@ -876,7 +982,8 @@
initializeInverter(list); //鍙戣捣鍒濆鍖栨寚浠ょ粰閫嗗彉鍣�;锛堟敞鎰�:鍙兘鏄湰鍦板彂閫佷簡(瑕佹悳绱㈠眬鍩熺綉閫嗗彉鍣ㄥ垪琛紝寤虹珛鏈湴閫氳閫氶亾),鍒犻櫎鐢电珯鎴愬姛鍚�,浜戠瑙g粦閫嗗彉鍣ㄧ殑鍏崇郴锛�
HdlResidenceLogic.getInstance().delHouseId(homeId);//鍒犻櫎鐢电珯缂撳瓨
initData();//鍒濆鍖栫紦瀛樻暟鎹�
- houseInfoAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃
+ houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue);//閲嶆柊鍒锋柊鍒楄〃
+ getStatusOverview();//鍒犻櫎鎴愬姛鍚庡埛鏂扮數绔欑姸鎬佹瑙�
nullDataUpdateUi();//妫�娴嬫暟鎹槸鍚︿负绌�
}
--
Gitblit v1.8.0