From facf399aa49ac37def7ea00221c5bbd056765df2 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 07 一月 2025 09:21:21 +0800
Subject: [PATCH] 2025年01月07日09:21:18

---
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java |  290 ++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 174 insertions(+), 116 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 effb37d..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;
@@ -32,6 +37,7 @@
 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;
@@ -42,12 +48,14 @@
 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;
 
@@ -90,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() {
@@ -117,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);
+
             }
         });
         //璁惧鏍囩
@@ -138,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);
             }
         });
@@ -191,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);
 
             }
@@ -261,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
@@ -284,7 +302,7 @@
                         //绉诲姩鐢电珯浣嶇疆
                         HdlResidenceLogic.getInstance().moveHouseId(houseIdBean.getHomeId());
                         initData();//鍒濆鍖栫紦瀛樻暟鎹�
-                        houseInfoAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃
+                        houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue);//閲嶆柊鍒锋柊鍒楄〃
                         nullDataUpdateUi();//妫�娴嬫暟鎹槸鍚︿负绌�
                     }
 
@@ -365,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);
@@ -377,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);
@@ -389,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);
@@ -401,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);
@@ -426,9 +440,16 @@
 //                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閫氳绉橀挜绛変俊鎭紝缂撳瓨鏈湴閫嗗彉鍣ㄥ垪琛ㄩ噷闈紝鍙戦�佹暟鎹暟鎹椂鑷姩鍘荤紦瀛樺垪琛ㄩ噷闈㈠幓鏌ユ壘锛�
+                //鐩殑鏄负浜嗚幏鍙栨嬁鍒扮綉鍏矷D锛宮qtt閫氳绉橀挜绛変俊鎭紝鎷垮埌鍚庣紦瀛樺埌鏈湴閫嗗彉鍣ㄥ垪琛ㄩ噷闈紝鍙戦�佹暟鎹暟鎹椂鑷姩鍘荤紦瀛樺垪琛ㄩ噷闈㈠幓鏌ユ壘锛�
                 HdlDeviceLogic.getInstance().setDeviceRemoteInfo(newList, deviceBean.getHomeId(), new CloudCallBeak<List<GatewayBean>>() {
                     @Override
                     public void onSuccess(List<GatewayBean> obj) {
@@ -489,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) {
@@ -579,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())) {
@@ -608,17 +639,16 @@
 //                    }
 //                }
 
-
             }
-        } 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);
-            //鏄湪鐢电珯鍒楄〃椤垫墠杩涙潵杩欓噷
+            //鏄湪锛堢數绔欙級妯″潡涓斿湪锛堢數绔欙級鏍囩椤垫墠杩涙潵杩欓噷
             if (HdlCommonLogic.lowerTagType == LowerTagType.power_station && isClickPowerStationLabel) {
-                //uin鍏抽棴浣忓畢璇︽儏鐣岄潰閫氱煡
-                if (MqttRecvClient.getInstance() != null) {
-                    MqttRecvClient.getInstance().removeAllTopic();
-                }
+//                //uin鍏抽棴浣忓畢璇︽儏鐣岄潰閫氱煡
+//                if (MqttRecvClient.getInstance() != null) {
+//                    MqttRecvClient.getInstance().removeAllTopic();
+//                }
                 loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
             }
         } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST.equals(eventBus.getType())) {
@@ -627,34 +657,61 @@
 //            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);
@@ -662,7 +719,7 @@
                 if (houseInfoAdapter != null) {
                     initData();
                     //鏇存柊UI
-                    houseInfoAdapter.setList(houseListBeanIDList);
+                    houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue);
                 }
             }
         }
@@ -679,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
@@ -722,7 +779,7 @@
         }
         isHouseLoadingMore = true;//鏍囪璇诲彇鐘舵��
         if (isRefreshing) {
-            showLoading();
+            showLoading(getString(R.string.device_loading));
         }
 
         //鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃
@@ -744,7 +801,7 @@
                             if (houseInfoAdapter != null) {
                                 initData();
                                 //鏇存柊UI
-                                houseInfoAdapter.setList(houseListBeanIDList);
+                                houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue);
                             }
                         }
                         nullDataUpdateUi();
@@ -791,7 +848,7 @@
         }
         isDeviceLoadingMore = true;//鏍囪璇诲彇鐘舵��
         if (isRefreshing) {
-            showLoading();
+            showLoading(getString(R.string.device_loading));
         }
         //鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃
         HdlDeviceLogic.getInstance().getPowerStationDeviceList("", pageNo, pageSize, new CloudCallBeak<PageNumberObject<CloudInverterDeviceBean>>() {
@@ -925,7 +982,8 @@
                 initializeInverter(list); //鍙戣捣鍒濆鍖栨寚浠ょ粰閫嗗彉鍣�;锛堟敞鎰�:鍙兘鏄湰鍦板彂閫佷簡(瑕佹悳绱㈠眬鍩熺綉閫嗗彉鍣ㄥ垪琛紝寤虹珛鏈湴閫氳閫氶亾),鍒犻櫎鐢电珯鎴愬姛鍚�,浜戠瑙g粦閫嗗彉鍣ㄧ殑鍏崇郴锛�
                 HdlResidenceLogic.getInstance().delHouseId(homeId);//鍒犻櫎鐢电珯缂撳瓨
                 initData();//鍒濆鍖栫紦瀛樻暟鎹�
-                houseInfoAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃
+                houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue);//閲嶆柊鍒锋柊鍒楄〃
+                getStatusOverview();//鍒犻櫎鎴愬姛鍚庡埛鏂扮數绔欑姸鎬佹瑙�
                 nullDataUpdateUi();//妫�娴嬫暟鎹槸鍚︿负绌�
             }
 

--
Gitblit v1.8.0