From cdcd08459665a89844a14c1d376995ebc501e018 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期三, 22 五月 2024 16:23:49 +0800
Subject: [PATCH] 2024年05月22日16:23:47

---
 app/src/main/java/com/hdl/photovoltaic/enums/LowerTagType.java                     |    8 ++++
 app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java           |   44 +++++++++++++++++++++-
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java |   21 +++++++---
 app/src/main/res/layout/swipe_right_layout.xml                                     |    2 
 app/src/main/java/com/hdl/photovoltaic/widget/DelayedConfirmationCancelDialog.java |   16 +++++++
 app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java                   |    4 ++
 app/src/main/java/com/hdl/photovoltaic/HDLApp.java                                 |    9 ++++
 app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java               |    5 ++
 8 files changed, 97 insertions(+), 12 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
index ddf3bd9..f6e3974 100644
--- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
+++ b/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();
-
         // 鑾峰彇褰撳墠杩涚▼鐨凱ID
         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();
diff --git a/app/src/main/java/com/hdl/photovoltaic/enums/LowerTagType.java b/app/src/main/java/com/hdl/photovoltaic/enums/LowerTagType.java
new file mode 100644
index 0000000..2d4f74b
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/enums/LowerTagType.java
@@ -0,0 +1,8 @@
+package com.hdl.photovoltaic.enums;
+
+public enum LowerTagType {
+    home,
+    power_station,
+    message,
+    me
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
index 6cb0f7b..5be54bf 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
+++ b/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;
+
+
     /**
      * 鑾峰彇褰撳墠瀵硅薄
      *
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
index ede598c..fa9bc5a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
+++ b/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());
             }
         });
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java
index 7118b04..0546b48 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java
+++ b/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:姝e父(杩愯),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:姝e父(杩愯),4:绂荤嚎)
 
 
         public MyViewHolder(@NonNull View itemView) {
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 507e362..0563f1e 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
@@ -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();
diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/DelayedConfirmationCancelDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/DelayedConfirmationCancelDialog.java
index 9621ecf..8219c57 100644
--- a/app/src/main/java/com/hdl/photovoltaic/widget/DelayedConfirmationCancelDialog.java
+++ b/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 鍐呭
diff --git a/app/src/main/res/layout/swipe_right_layout.xml b/app/src/main/res/layout/swipe_right_layout.xml
index 73ebdbb..2f127ff 100644
--- a/app/src/main/res/layout/swipe_right_layout.xml
+++ b/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"

--
Gitblit v1.8.0