From e808338698915f51ff128e8861d7d580ae1a84b1 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期三, 22 五月 2024 16:24:20 +0800
Subject: [PATCH] Merge branch 'wjc_new' into wxw_new

---
 app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java                       |    5 
 app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java           |   44 +++++
 app/src/main/res/layout/fragment_message.xml                                       |    2 
 app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationCancelDialog.java        |   13 +
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java   |   25 ++
 app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java                      |    6 
 app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java               |    5 
 app/src/main/res/layout/dialog_agree_onagree.xml                                   |    6 
 app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java              |   12 -
 app/src/main/java/com/hdl/photovoltaic/ui/message/SearchMessageActivity.java       |    3 
 app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java               |    1 
 app/src/main/res/layout/activity_home_login.xml                                    |    1 
 app/src/main/res/layout/fragment_home_page.xml                                     |    2 
 app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java        |    7 
 app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java            |    8 
 app/src/main/java/com/hdl/photovoltaic/utils/URLEncodingUtils.java                 |   20 ++
 app/src/main/res/layout/item_device_details.xml                                    |    2 
 app/build.gradle                                                                   |    2 
 app/src/main/java/com/hdl/photovoltaic/enums/LowerTagType.java                     |    8 +
 app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationCancelDialog1.java       |   13 +
 app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java                           |    2 
 app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java         |   94 ++++++-----
 app/src/main/res/values/strings.xml                                                |    4 
 app/src/main/res/layout/activity_start.xml                                         |   12 +
 app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java                   |    4 
 app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java                      |    4 
 app/src/main/java/com/hdl/photovoltaic/HDLApp.java                                 |    9 +
 app/src/main/res/layout/fragment_house_list.xml                                    |    9 
 app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java             |   10 -
 app/src/main/res/layout/dialog_confirm_cancel.xml                                  |    8 
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java |   50 +++++-
 app/src/main/res/layout/swipe_right_layout.xml                                     |    2 
 app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java          |    2 
 app/src/main/java/com/hdl/photovoltaic/widget/DelayedConfirmationCancelDialog.java |   16 +
 app/src/main/java/com/hdl/photovoltaic/ui/bean/DeviceBean.java                     |    8 -
 app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java                   |    3 
 36 files changed, 305 insertions(+), 117 deletions(-)

diff --git a/app/build.gradle b/app/build.gradle
index cd070c5..fddfe1e 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -131,7 +131,7 @@
     implementation project(path: ':third-zxing')
     //Link鏈湴搴擄紙鍦ㄧ嚎渚濊禆缃戠粶搴擄級
     implementation 'com.hdl.android:pmsdk:1.0.2'
-    implementation 'com.hdl.android:debugsdk:1.0.22'
+    implementation 'com.hdl.android:debugsdk:1.0.23'
 
     testImplementation 'junit:junit:4.13.2'
     androidTestImplementation 'androidx.test.ext:junit:1.1.3'
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/other/HdlDeviceLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
index ac4d516..5d4748c 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -75,9 +75,7 @@
     }
 
 
-
     private List<DeviceBean> mListDevice = new ArrayList<>();
-
 
 
     public void clearDeviceList() {
@@ -1393,6 +1391,7 @@
         gatewayBean.setSystemStatusDesc(cloudInverterDeviceBean.getSystemStatusDesc());//璁惧鐘舵��
         gatewayBean.setHwVersion(cloudInverterDeviceBean.getHwVersion());//杞欢鐗堟湰鍙�
         gatewayBean.setCategorySecondName(cloudInverterDeviceBean.getCategorySecondName());//璁惧绫诲瀷(浜у搧浜岀骇鍒嗙被鍚嶇О
+        gatewayBean.setDeviceType(cloudInverterDeviceBean.getDeviceType());//璁惧绫诲瀷(INV:閫嗗彉鍣�;BMS:BMS鎺у埗鐩�;BATTERY:鐢垫睜鍗曞厓)
         gatewayBean.setAddresses(cloudInverterDeviceBean.getAddresses());//瀛愮綉鍙�/璁惧鍙�,閫嗗彉鍣ㄥ湴鍧�
         gatewayBean.setPowerPvNow(cloudInverterDeviceBean.getPowerPvNow());//鍙戠數鍔熺巼
         gatewayBean.setTotalElectricityPvToday(cloudInverterDeviceBean.getTotalElectricityPvToday());//浠婃棩鍙戠數閲�
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
index f764262..6b3d883 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -93,7 +93,7 @@
 public class HdlUniLogic implements HDLUniMPSDKManager.IOnOtherUniMPEventCallBack {
     private static volatile HdlUniLogic sHdlUniLogic;
 
-    public final static String separator="---";
+    public final static String separator = "---";
 
     /**
      * 鑾峰彇褰撳墠瀵硅薄
@@ -563,6 +563,7 @@
      */
     private void uniGetAndSetNetwork(String type, Object data, String TopicApi, DCUniMPJSCallback callback) {
         String mac = getKeyValue("mac", getKeyValue("data", data));
+        JsonArray jsonArray = new JsonArray();
         JsonObject jObject = null;
         String attribute_data = getKeyValue("attribute_data", getKeyValue("data", data));
         if (!TextUtils.isEmpty(attribute_data)) {
@@ -572,8 +573,9 @@
                 jObject = new JsonObject();
             }
         }
+        jsonArray.add(jObject);
         //瑙e瘑璐熻浇鏁版嵁(鍐欏瘑閽ョ粰缃戝叧涓�瀹氭槸鏄庢枃锛屽洜涓洪偅鏃剁綉鍏宠繕娌℃湁瀵嗛挜)
-        TcpClient.getInstance().sendDataToLinkGateway(mac, false, TopicApi, jObject, "", new HDLLinkCallBack() {
+        TcpClient.getInstance().sendDataToLinkGateway(mac, false, TopicApi, jsonArray, "", new HDLLinkCallBack() {
             @Override
             public void onSuccess(String msg) {
                 if (callback != null) {
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/LoginActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
index f1d023e..3a927fa 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
@@ -486,9 +486,10 @@
      */
     private void getDialog() {
         ConfirmationCancelDialog1 dialog = new ConfirmationCancelDialog1(_mActivity);
-        dialog.setTitle(getString(R.string.loading_privacy));
-        dialog.setContent(getString(R.string.loading_privacy_server));
         dialog.show();
+//        dialog.setTitle(getString(R.string.loading_privacy));
+        dialog.isHideTitle(true);
+        dialog.setContent(getString(R.string.loading_privacy_server));
         setStringDifferentColors(dialog.getContentTextView());
         dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
             @Override
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/adapter/HouseInfoAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java
index 7ff62da..ec4bed3 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java
@@ -145,7 +145,7 @@
      *                    璁惧鍦ㄧ嚎 浣嗘槸褰撳墠澶勪簬鏁呴殰 鐘舵�侊細鏁呴殰
      *                    璁惧鍦ㄧ嚎锛堟湁涓婃姤杩囨暟鎹紝娌℃湁鏁呴殰锛�  鐘舵�侊細鍦ㄧ嚎
      *                    璁惧绂荤嚎 鐘舵�侊細绂荤嚎
-     * @param state_value 鐢电珯鐘舵��(1:姝e父(杩愯),2:绂荤嚎,3:杩炴帴涓�,4:鏁呴殰)
+     * @param state_value 鐢电珯鐘舵��(1:姝e父(杩愯),2:绂荤嚎,3:杩炴帴涓�,4:鏁呴殰,5:绂荤嚎鏈夋晠闅�)
      */
     private void setTextViewStyle(TextView textView, int state_value) {
         String text = mContext.getString(R.string.my_power_station_operation);
@@ -170,6 +170,12 @@
                 text = mContext.getString(R.string.my_power_station_malfunction);
                 drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_e34343);
             }
+            //5:绂荤嚎鏈夋晠闅淥ffline_fault
+            break;
+            case 5: {
+                text = mContext.getString(R.string.Offline_fault);
+                drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_e34343);
+            }
             break;
         }
         textView.setText(text);
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java
index 2f7ae08..d12f38d 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java
@@ -38,6 +38,7 @@
     private String hwVersion;//杞欢鐗堟湰鍙�
     private String categorySecondName;//璁惧绫诲瀷(浜у搧浜岀骇鍒嗙被鍚嶇О)
 
+    private String deviceType;//(璁惧绫诲瀷INV 锛� 閫嗗彉鍣�,BMS 锛� BMS鎺у埗鐩�,BATTERY 锛� 鐢垫睜鍗曞厓)
 
     public String getSystemStatusDesc() {
         return systemStatusDesc == null ? "" : systemStatusDesc;
@@ -193,5 +194,11 @@
         this.online = online;
     }
 
+    public String getDeviceType() {
+        return deviceType == null ? "" : deviceType;
+    }
 
+    public void setDeviceType(String deviceType) {
+        this.deviceType = deviceType;
+    }
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/DeviceBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/DeviceBean.java
index 05dc2c5..b42595f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/DeviceBean.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/DeviceBean.java
@@ -11,7 +11,6 @@
 
     private String homeId;
     private String homeName;
-    private String deviceType;//璁惧绫诲瀷(INV閫嗗彉鍣紝BMS鎺у埗鐩�,BATTERY鐢垫睜鍗曞厓)
     private String outputActivePower;//閫嗗彉鍣ㄨ緭鍑烘湁鍔熷姛鐜�
     private String address;//璇︾粏鍦板潃
     private HouseInfoBean.Location location;//鐢电珯鍦板潃
@@ -56,13 +55,6 @@
         this.location = location;
     }
 
-    public String getDeviceType() {
-        return TextUtils.isEmpty(deviceType) ? "" : deviceType;
-    }
-
-    public void setDeviceType(String deviceType) {
-        this.deviceType = deviceType;
-    }
 
     /**
      * 鎷间綇瀹呭湴鍧�
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java
index ed03410..ac13b6a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java
@@ -286,6 +286,7 @@
                 String timeDateFormat = TimeUtils.getTimeDateFormat(timeType);
                 Calendar calendar = TimeUtils.stringToCalendar(currDate, timeDateFormat);
                 String time = TimeUtils.subtractDayMonthYearFromDate(calendar, 1, timeDateFormat, timeType);
+                //涓嶉渶瑕侀檺鍒舵渶灏忔棩鏈燂紝鍥犱负鏄煡璇㈣处鍙蜂笅鎵�鏈夌數绔欙紝鏃犳硶鐭ラ亾鏈�灏忓缓绔欐棩鏈�
                 viewBinding.yearMonthDayTv.setText(time);
                 getStatistics();
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java
index 39447e3..3dba84b 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java
@@ -120,9 +120,9 @@
     private void logoutRequest() {
         // 浜屾纭鎻愮ず妗�
         ConfirmationCancelDialog dialog = new ConfirmationCancelDialog(this);
-        dialog.setTitle(getString(R.string.loading_title_tip));
-        dialog.setContent(getString(R.string.loading_log_out));
         dialog.show();
+        dialog.setContent(getString(R.string.loading_log_out));
+        dialog.isHideTitle(true);
         dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
             @Override
             public void Confirm() {
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
index f5dd23d..e5a36c3 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
@@ -12,6 +12,7 @@
 import androidx.recyclerview.widget.RecyclerView;
 import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
 
+import com.google.gson.Gson;
 import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseFragment;
@@ -219,15 +220,8 @@
             mMessageAdapter.setOnclickListener(new MessageAdapter.OnClickListener() {
                 @Override
                 public void onClick(int position, MessageBean messageBean) {
-                    String messageStateType;
-                    if (isAlarmDeviceClick) {
-                        messageStateType = MessageStateType.untreated;
-                    } else {
-                        messageStateType = MessageStateType.processed;
-                    }
                     Intent intent = new Intent();
-                    intent.putExtra("msgId", messageBean.getMsgId().toString());
-                    intent.putExtra("messageStateType", messageStateType);
+                    intent.putExtra("messageBean",new Gson().toJson(messageBean));
                     intent.setClass(_mActivity, MessageInfoActivity.class);
                     startActivity(intent);
                 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java
index 2085582..f1c7027 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java
@@ -4,9 +4,11 @@
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.view.View;
+import android.widget.TextView;
 
 import androidx.appcompat.content.res.AppCompatResources;
 
+import com.google.gson.Gson;
 import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
@@ -16,6 +18,7 @@
 import com.hdl.photovoltaic.enums.MessageAlarmStateType;
 import com.hdl.photovoltaic.enums.MessageStateType;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
+import com.hdl.photovoltaic.other.HdlCommonLogic;
 import com.hdl.photovoltaic.other.HdlMessageLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hdl.photovoltaic.ui.bean.MessageBean;
@@ -33,8 +36,6 @@
 
     private MessageBean mMessageBean;
 
-    private String mMsgId;
-    private String mMessageStateType;
 
     @Override
     public Object getContentView() {
@@ -47,8 +48,11 @@
         setNotificationBarBackgroundColor(CustomColor.white);
         setStatusBarTextColor();
         try {
-            mMsgId = getIntent().getStringExtra("msgId");
-            mMessageStateType = getIntent().getStringExtra("messageStateType");
+            String json = getIntent().getStringExtra("messageBean");
+            mMessageBean = new Gson().fromJson(json, MessageBean.class);
+            if (mMessageBean == null) {
+                mMessageBean = new MessageBean();
+            }
         } catch (Exception ignored) {
         }
 
@@ -63,7 +67,7 @@
     private void readData() {
 
 //        showLoading();
-        HdlMessageLogic.getInstance().getMessageInfo(mMsgId, new CloudCallBeak<MessageBean>() {
+        HdlMessageLogic.getInstance().getMessageInfo(mMessageBean.getMsgId().toString(), new CloudCallBeak<MessageBean>() {
             @Override
             public void onSuccess(MessageBean msg) {
                 HdlThreadLogic.runMainThread(new Runnable() {
@@ -82,21 +86,7 @@
                         viewBinding.messageInfoPowerStationLocationIn.rightContentTv.setText(mMessageBean.getLocationAddress());
                         String date = TimeUtils.getTimeFromTimestamp(mMessageBean.getCreateTime());
                         viewBinding.messageInfoAlarmTimeIn.rightContentTv.setText(date);
-
-                        String type = "";//FAULT:鏁呴殰,WARN:鍛婅,EVENT:浜嬩欢
-                        Drawable drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_ffb300);
-                        if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) {
-                            type = _mActivity.getString(R.string.my_power_station_malfunction);
-                            drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_e34343);
-                        } else if (mMessageBean.getType().equals(MessageAlarmStateType.warn)) {
-                            type = _mActivity.getString(R.string.message_alarm);
-                            drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_ffb300);
-                        } else if (mMessageBean.getType().equals(MessageAlarmStateType.event)) {
-                            type = _mActivity.getString(R.string.loading_title_tip);
-                            drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.state_b9b9b9);
-                        }
-                        viewBinding.messageInfoAlarmStateTv.setText(type);
-                        viewBinding.messageInfoAlarmStateTv.setBackground(drawable);
+                        stateStyle(viewBinding.messageInfoAlarmStateTv);
 
                         if (mMessageBean.getStatus().equals(MessageStateType.processed)) {
                             //宸茬粡瑙e喅鎺夌殑闅愯棌
@@ -126,14 +116,11 @@
                 }
                 //鏈鐞�
                 if (mMessageBean.getStatus().equals(MessageStateType.untreated)) {
-
                     //鏀瑰彉缂撳瓨鐘舵��
                     if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) {
                         HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.untreated);
-                        BaseEventBus baseEventBus = new BaseEventBus();
-                        baseEventBus.setTopic(ConstantManage.message_function_push_post);
-                        baseEventBus.setType(MessageStateType.untreated);
-                        EventBus.getDefault().post(baseEventBus);
+                        //閫氱煡鏈鐞嗚鏇存柊鏁版嵁
+                        HdlCommonLogic.getInstance().postEventBus(ConstantManage.message_function_push_post, MessageStateType.untreated);
                     } else {
                         //闄も�滄晠闅溾�濆锛屽叾浠栫瓑绾т俊鎭�滃凡璇烩�濆悗锛岃嚜鍔ㄧЩ鍑衡�滃彂鐢熶腑鈥濆垪琛ㄥ苟鍔犲叆鈥滃巻鍙茶褰曗�濆垪琛�
                         HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.processed);
@@ -157,10 +144,8 @@
                     //鏀瑰彉缂撳瓨鐘舵��
                     if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) {
                         HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.untreated);
-                        BaseEventBus baseEventBus = new BaseEventBus();
-                        baseEventBus.setTopic(ConstantManage.message_function_push_post);
-                        baseEventBus.setType(MessageStateType.untreated);
-                        EventBus.getDefault().post(baseEventBus);
+                        //閫氱煡鏈鐞嗚鏇存柊鏁版嵁
+                        HdlCommonLogic.getInstance().postEventBus(ConstantManage.message_function_push_post, MessageStateType.untreated);
                     } else {
                         //闄も�滄晠闅溾�濆锛屽叾浠栫瓑绾т俊鎭�滃凡璇烩�濆悗锛岃嚜鍔ㄧЩ鍑衡�滃彂鐢熶腑鈥濆垪琛ㄥ苟鍔犲叆鈥滃巻鍙茶褰曗�濆垪琛�
                         HdlMessageLogic.getInstance().setMessageState(mMessageBean.getMsgId(), true, MessageStateType.processed);
@@ -175,7 +160,7 @@
         viewBinding.messageInfoSolveTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                HdlMessageLogic.getInstance().getMessageMessageSolve(mMsgId, new CloudCallBeak<Boolean>() {
+                HdlMessageLogic.getInstance().getMessageMessageSolve(mMessageBean.getMsgId().toString(), new CloudCallBeak<Boolean>() {
                     @Override
                     public void onSuccess(Boolean obj) {
                         if (mMessageBean == null) {
@@ -206,15 +191,9 @@
      */
     private void sendEventBus() {
         //閫氱煡宸插鐞嗚鏇存柊鏁版嵁
-        BaseEventBus processedBus = new BaseEventBus();
-        processedBus.setTopic(ConstantManage.message_function_push_post);
-        processedBus.setType(MessageStateType.processed);
-        EventBus.getDefault().post(processedBus);
+        HdlCommonLogic.getInstance().postEventBus(ConstantManage.message_function_push_post, MessageStateType.processed);
         //閫氱煡鏈鐞嗚鏇存柊鏁版嵁
-        BaseEventBus untreatedBus = new BaseEventBus();
-        untreatedBus.setTopic(ConstantManage.message_function_push_post);
-        untreatedBus.setType(MessageStateType.untreated);
-        EventBus.getDefault().post(untreatedBus);
+        HdlCommonLogic.getInstance().postEventBus(ConstantManage.message_function_push_post, MessageStateType.untreated);
     }
 
 
@@ -237,16 +216,43 @@
         viewBinding.messageInfoPowerStationLocationIn.leftTitleTv.setText(R.string.message_alarm_detailspower_station_location);
         viewBinding.messageInfoAlarmTimeIn.leftTitleTv.setText(R.string.message_alarm_details_time);
 
-        viewBinding.messageInfoAlarmContentIn.rightContentTv.setText("");
-        viewBinding.messageInfoAlarmDeviceIn.rightContentTv.setText("");
-        viewBinding.messageInfoAlarmRangeIn.rightContentTv.setText("");
-        viewBinding.messageInfoPowerStationLocationIn.rightContentTv.setText("");
-        viewBinding.messageInfoAlarmTimeIn.rightContentTv.setText("");
+        viewBinding.messageInfoHomeNameTv.setText(mMessageBean.getHomeName());
+        viewBinding.messageInfoAlarmContentIn.rightContentTv.setText(mMessageBean.getTitle());
+        viewBinding.messageInfoAlarmDeviceIn.rightContentTv.setText(mMessageBean.getDeviceDesc());
+        viewBinding.messageInfoAlarmRangeIn.rightContentTv.setText(mMessageBean.getEffectScopeDesc());
+        viewBinding.messageInfoPowerStationLocationIn.rightContentTv.setText(mMessageBean.getLocationAddress());
+        String date = TimeUtils.getTimeFromTimestamp(mMessageBean.getCreateTime());
+        viewBinding.messageInfoAlarmTimeIn.rightContentTv.setText(date);
+        stateStyle(viewBinding.messageInfoAlarmStateTv);
 
-        if (mMessageStateType.equals(MessageStateType.processed)) {
+
+        if (mMessageBean.getStatus().equals(MessageStateType.processed)) {
             //宸茬粡瑙e喅鎺夌殑闅愯棌
             viewBinding.messageInfoBackTv.setVisibility(View.GONE);
             viewBinding.messageInfoSolveTv.setVisibility(View.GONE);
         }
     }
+
+
+    /**
+     * 鐘舵�佹牱寮�
+     *
+     * @param textView 缁勪欢
+     */
+    private void stateStyle(TextView textView) {
+        String type = "";//FAULT:鏁呴殰,WARN:鍛婅,EVENT:浜嬩欢
+        Drawable drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_ffb300);
+        if (mMessageBean.getType().equals(MessageAlarmStateType.fault)) {
+            type = _mActivity.getString(R.string.my_power_station_malfunction);
+            drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_e34343);
+        } else if (mMessageBean.getType().equals(MessageAlarmStateType.warn)) {
+            type = _mActivity.getString(R.string.message_alarm);
+            drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.alarm_ffb300);
+        } else if (mMessageBean.getType().equals(MessageAlarmStateType.event)) {
+            type = _mActivity.getString(R.string.loading_title_tip);
+            drawable = AppCompatResources.getDrawable(_mActivity, R.drawable.state_b9b9b9);
+        }
+        textView.setText(type);
+        textView.setBackground(drawable);
+    }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/SearchMessageActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/SearchMessageActivity.java
index a82aaa3..3dbe82b 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/SearchMessageActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/SearchMessageActivity.java
@@ -182,8 +182,7 @@
             @Override
             public void onClick(int position, MessageBean messageBean) {
                 Intent intent = new Intent();
-                intent.putExtra("msgId", messageBean.getMsgId().toString());
-                intent.putExtra("messageStateType", mMessageStateType);
+                intent.putExtra("messageBean",new Gson().toJson(messageBean));
                 intent.setClass(_mActivity, MessageInfoActivity.class);
                 startActivity(intent);
             }
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java b/app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java
index fcc2f67..1cd481a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java
@@ -11,6 +11,7 @@
 import androidx.recyclerview.widget.RecyclerView;
 import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
 
+import com.google.gson.Gson;
 import com.google.gson.JsonObject;
 import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.photovoltaic.R;
@@ -269,17 +270,8 @@
             messageCenterListAdapter.setNoOnclickListener(new MessageCenterListAdapter.OnclickListener() {
                 @Override
                 public void onClick(int position, MessageBean messageBean) {
-
-
-                    String messageStateType;
-                    if (isAlarmDeviceClick) {
-                        messageStateType = MessageStateType.untreated;
-                    } else {
-                        messageStateType = MessageStateType.processed;
-                    }
                     Intent intent = new Intent();
-                    intent.putExtra("msgId", messageBean.getMsgId().toString());
-                    intent.putExtra("messageStateType", messageStateType);
+                    intent.putExtra("messageBean", new Gson().toJson(messageBean));
                     intent.setClass(_mActivity, MessageInfoActivity.class);
                     startActivity(intent);
                 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java b/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java
index 329a7f4..91c8d1f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java
@@ -261,7 +261,7 @@
                 JsonObject jsonObject = new JsonObject();
                 jsonObject.addProperty("homeId", houseIdBean.getHomeId());
                 jsonObject.addProperty("homeName", houseIdBean.getHomeName());
-                jsonObject.addProperty("powerStationStatus", houseIdBean.getPowerStationStatus()+"");
+                jsonObject.addProperty("powerStationStatus", houseIdBean.getPowerStationStatus() + "");
                 HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
                 uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_REFRESH_DETAILS);
                 uniCallBackBaseBean.setData(jsonObject);
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java
index 105dbf9..59b4c90 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java
@@ -24,10 +24,14 @@
 import com.hdl.photovoltaic.other.HdlFileLogic;
 import com.hdl.photovoltaic.other.HdlLogLogic;
 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.SearchDeviceAdapter;
 import com.hdl.photovoltaic.ui.adapter.SearchHistoryAdapter;
 import com.hdl.photovoltaic.ui.bean.DeviceBean;
+import com.hdl.photovoltaic.uni.HDLUniMP;
+import com.hdl.photovoltaic.utils.URLEncodingUtils;
+import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -174,11 +178,26 @@
                 viewBinding.powerStationSearchEt.setText(title);
             }
         });
-        //鐢电珯鐐瑰嚮鏄簨浠�
+        //璁惧鐐瑰嚮鏄簨浠�
         searchDeviceAdapter.setOnclickListener(new DeviceInfoAdapter.OnClickListener() {
             @Override
             public void onClick(int position, DeviceBean 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.setDeviceType(deviceBean.getDeviceType());
+                String jsonEncryption = URLEncodingUtils.encodeURIComponent(new Gson().toJson(gatewayBean));
+                String path = HDLUniMP.UNI_EVENT_OPEN_DEVICE_DETAILS + "?inverterInfo=" + jsonEncryption;
+                HdlUniLogic.getInstance().openUniMP(path, null);
             }
         });
 
@@ -346,7 +365,7 @@
             }
             boolean if_boolean = false;
             for (int i = 0; i < deviceList.size(); i++) {
-                if (deviceList.get(i).getHomeId().equals(deviceBean.getHomeId())) {
+                if (deviceList.get(i).getOsn().equals(deviceBean.getOsn())) {
                     //瀛樺湪鏇挎崲
                     deviceList.remove(i);
                     deviceList.add(i, deviceBean);
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 3ac21fd..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
@@ -1,5 +1,6 @@
 package com.hdl.photovoltaic.ui.powerstation;
 
+import android.app.job.JobInfo;
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.os.Bundle;
@@ -22,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;
@@ -41,6 +43,7 @@
 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;
@@ -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
@@ -407,7 +412,22 @@
         deviceInfoAdapter.setOnclickListener(new DeviceInfoAdapter.OnClickListener() {
             @Override
             public void onClick(int position, DeviceBean 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.setDeviceType(deviceBean.getDeviceType());
+                String jsonEncryption = URLEncodingUtils.encodeURIComponent(new Gson().toJson(gatewayBean));
+                String path = HDLUniMP.UNI_EVENT_OPEN_DEVICE_DETAILS + "?inverterInfo=" + jsonEncryption;
+                HdlUniLogic.getInstance().openUniMP(path, null);
             }
         });
         //璁惧璁剧疆涓嬫媺绠ご棰滆壊
@@ -578,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();
@@ -616,9 +641,14 @@
             } 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);
+                //缂栬緫鍚庢洿鏂颁竴涓嬩綇瀹呭垪琛�
+                //loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
 //                getStatusOverview();
+                if (houseInfoAdapter != null) {
+                    initData();
+                    //鏇存柊UI
+                    houseInfoAdapter.setList(houseListBeanIDList);
+                }
             }
         }
     }
diff --git a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
index dfe7121..3c122ce 100644
--- a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
+++ b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
@@ -130,8 +130,10 @@
     public final static String UNI_EVENT_OPEN_HOME_EDIT = "pages/powerStation/powerStationEdit";//浣忓畢銆愮數绔欍�戠紪杈�
     public final static String UNI_EVENT_OPEN_HOME_DETAILS = "pages/powerStationDetail/index";//浣忓畢銆愮數绔欍�戣鎯�
 
+
     public final static String UNI_EVENT_OPEN_HOME_DETAILS_C = "pages/powerStationDetail/tabbarPage";//C绔墦寮�銆愮數绔欍�戣鎯�
     public final static String UNI_EVENT_OPEN_HOME_Null_C = "pages/powerStationDetail/tabbarPage";//鏃犵數绔欐椂锛堜笉闇�瑕佷紶鍙傛暟锛�
+    public final static String UNI_EVENT_OPEN_DEVICE_DETAILS = "pages/powerStationDetail/childPage/device/detail";//璁惧璇︽儏
     public final static String UNI_EVENT_OPEN_HOME_DEl = "del";//浣忓畢銆愮數绔欍�戝垹闄�
     /*********璁惧妯″潡*********/
     //璁惧妯″潡鎵撳紑椤甸潰鍏ㄨ矾寰�
diff --git a/app/src/main/java/com/hdl/photovoltaic/utils/URLEncodingUtils.java b/app/src/main/java/com/hdl/photovoltaic/utils/URLEncodingUtils.java
new file mode 100644
index 0000000..b8fc262
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/utils/URLEncodingUtils.java
@@ -0,0 +1,20 @@
+package com.hdl.photovoltaic.utils;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+
+/**
+ * 缂栫爜鍔犵爜
+ */
+public class URLEncodingUtils {
+    public static String encodeURIComponent(String value) {
+        try {
+            return URLEncoder.encode(value, "UTF-8")
+                    .replace("+", "%20")
+                    .replace("*", "%2A")
+                    .replace("%7E", "~");
+        } catch (Exception e) {
+            return "";
+        }
+    }
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationCancelDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationCancelDialog.java
index 71f093d..7a3bb9f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationCancelDialog.java
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationCancelDialog.java
@@ -62,6 +62,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/java/com/hdl/photovoltaic/widget/ConfirmationCancelDialog1.java b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationCancelDialog1.java
index 1e14e34..b91acc5 100644
--- a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationCancelDialog1.java
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationCancelDialog1.java
@@ -61,6 +61,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/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/activity_home_login.xml b/app/src/main/res/layout/activity_home_login.xml
index 840dbe9..0d5d93b 100644
--- a/app/src/main/res/layout/activity_home_login.xml
+++ b/app/src/main/res/layout/activity_home_login.xml
@@ -122,7 +122,6 @@
         android:layout_height="@dimen/dp_20"
         android:layout_marginEnd="@dimen/dp_32"
         android:src="@drawable/clear"
-        android:visibility="gone"
         app:layout_constraintBottom_toBottomOf="@+id/home_login_account_et"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintTop_toTopOf="@+id/home_login_account_et" />
diff --git a/app/src/main/res/layout/activity_start.xml b/app/src/main/res/layout/activity_start.xml
index 9a23842..58b31b6 100644
--- a/app/src/main/res/layout/activity_start.xml
+++ b/app/src/main/res/layout/activity_start.xml
@@ -8,6 +8,7 @@
     tools:context="com.hdl.photovoltaic.ui.StartActivity">
 
     <TextView
+        android:id="@+id/start_tv"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginStart="@dimen/dp_5"
@@ -23,4 +24,15 @@
         app:layout_constraintTop_toTopOf="parent"
         app:layout_constraintVertical_bias="0.093" />
 
+    <ImageView
+        android:id="@+id/as_regards_icon_iv"
+        android:layout_width="53.5dp"
+        android:layout_height="53.5dp"
+        android:layout_marginTop="@dimen/dp_29"
+        android:src="@drawable/logo"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/start_tv" />
+
+
 </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_agree_onagree.xml b/app/src/main/res/layout/dialog_agree_onagree.xml
index 627b4de..9d853d9 100644
--- a/app/src/main/res/layout/dialog_agree_onagree.xml
+++ b/app/src/main/res/layout/dialog_agree_onagree.xml
@@ -21,11 +21,11 @@
         <TextView
             android:id="@+id/loading_confirmation_title_tv"
             android:layout_width="0dp"
-            android:gravity="center"
             android:layout_height="@dimen/dp_25"
             android:layout_marginStart="@dimen/dp_16"
             android:layout_marginTop="@dimen/dp_24"
             android:layout_marginEnd="@dimen/dp_20"
+            android:gravity="center"
             android:textColor="@color/text_030D1C"
             android:textSize="@dimen/text_18"
             app:layout_constraintEnd_toEndOf="parent"
@@ -37,12 +37,12 @@
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:layout_marginStart="@dimen/dp_16"
-            android:layout_marginTop="@dimen/dp_16"
+            android:layout_marginTop="@dimen/dp_43"
             android:layout_marginEnd="@dimen/dp_20"
             android:layout_marginBottom="@dimen/dp_34"
             android:singleLine="false"
-            android:textColor="@color/text_030D1C"
             android:tag="click"
+            android:textColor="@color/text_030D1C"
             app:layout_constraintBottom_toTopOf="@+id/dialog_confirm_bottom_line_ly"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout/dialog_confirm_cancel.xml b/app/src/main/res/layout/dialog_confirm_cancel.xml
index f1fef1a..0ad29dd 100644
--- a/app/src/main/res/layout/dialog_confirm_cancel.xml
+++ b/app/src/main/res/layout/dialog_confirm_cancel.xml
@@ -2,8 +2,7 @@
 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    >
+    android:layout_height="match_parent">
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/loading_confirmation_cl"
@@ -37,12 +36,13 @@
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:layout_marginStart="@dimen/dp_20"
-            android:layout_marginTop="@dimen/dp_34"
+            android:layout_marginTop="@dimen/dp_43"
             android:layout_marginEnd="@dimen/dp_20"
             android:layout_marginBottom="@dimen/dp_34"
             android:gravity="center"
             android:singleLine="false"
-            android:textColor="@color/text_030D1C"
+            android:textColor="@color/text_222222"
+            android:textSize="@dimen/text_18"
             app:layout_constraintBottom_toTopOf="@+id/dialog_confirm_bottom_line_ly"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout/fragment_home_page.xml b/app/src/main/res/layout/fragment_home_page.xml
index b51770e..c6db385 100644
--- a/app/src/main/res/layout/fragment_home_page.xml
+++ b/app/src/main/res/layout/fragment_home_page.xml
@@ -437,7 +437,7 @@
                             android:layout_width="wrap_content"
                             android:layout_height="match_parent"
                             android:layout_alignParentEnd="true"
-                            android:text="PV power generation"
+                            android:text="@string/pv_power"
                             android:textColor="@color/text_E6000000"
                             android:textSize="@dimen/text_12" />
 
diff --git a/app/src/main/res/layout/fragment_house_list.xml b/app/src/main/res/layout/fragment_house_list.xml
index c4488fb..bacf98c 100644
--- a/app/src/main/res/layout/fragment_house_list.xml
+++ b/app/src/main/res/layout/fragment_house_list.xml
@@ -23,7 +23,7 @@
             android:layout_height="match_parent"
             android:layout_centerVertical="true"
             android:gravity="center_vertical"
-            android:text="Power Station"
+            android:text="@string/power_station"
             android:textColor="@color/text_E6000000"
             android:textSize="@dimen/text_20"
             android:textStyle="bold" />
@@ -32,13 +32,12 @@
             android:id="@+id/device_label"
             android:layout_width="wrap_content"
             android:layout_height="match_parent"
-            android:layout_centerVertical="true"
-            android:layout_marginStart="@dimen/dp_21"
-            android:layout_marginEnd="@dimen/dp_4"
+            android:layout_marginStart="19dp"
+            android:layout_marginEnd="7dp"
             android:layout_toStartOf="@+id/edit_iv"
             android:layout_toEndOf="@+id/power_station_label"
             android:gravity="start|center_vertical"
-            android:text="Equipment"
+            android:text="@string/device"
             android:textColor="@color/text_66000000"
             android:textSize="@dimen/text_16"
 
diff --git a/app/src/main/res/layout/fragment_message.xml b/app/src/main/res/layout/fragment_message.xml
index 98d847f..08226f9 100644
--- a/app/src/main/res/layout/fragment_message.xml
+++ b/app/src/main/res/layout/fragment_message.xml
@@ -8,7 +8,7 @@
     <RelativeLayout
         android:id="@+id/message_rl"
         android:layout_width="match_parent"
-        android:layout_height="@dimen/dp_31"
+        android:layout_height="@dimen/dp_36"
         android:layout_marginStart="@dimen/dp_16"
         android:layout_marginTop="@dimen/dp_44"
         android:layout_marginEnd="@dimen/dp_16"
diff --git a/app/src/main/res/layout/item_device_details.xml b/app/src/main/res/layout/item_device_details.xml
index 7ee0a76..2ab825c 100644
--- a/app/src/main/res/layout/item_device_details.xml
+++ b/app/src/main/res/layout/item_device_details.xml
@@ -116,7 +116,7 @@
                         android:layout_height="@dimen/dp_17"
                         android:layout_marginTop="3dp"
                         android:gravity="center"
-                        android:text="@string/generated_power"
+                        android:text="@string/active_power"
                         android:textColor="@color/text_66000000"
                         android:textSize="@dimen/text_12" />
 
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"
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 4a8d623..a9443b1 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -301,4 +301,8 @@
     <string name="search_station">鎼滅储鐢电珯</string>
     <string name="enter_the_device_sn_and_device_name">杈撳叆璁惧SN鍙�/璁惧鍚嶇О</string>
     <string name="enter_alarm_name">杈撳叆鎶ヨ鍚嶇О</string>
+    <string name="device">璁惧</string>
+    <string name="Offline_fault">绂荤嚎鏈夋晠闅�</string>
+    <string name="active_power">鏈夊姛鍔熺巼</string>
+
 </resources>
\ No newline at end of file

--
Gitblit v1.8.0