From de2d3696f975cf6e6df2e580bab305fa9859feea Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 26 十月 2023 17:55:36 +0800
Subject: [PATCH] 2023年10月26日17:55:33

---
 HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/interceptor/HDLLoginInterceptor.java   |    2 
 HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/interceptor/HDLEncryptInterceptor.java |    3 
 app/src/main/res/values/attrs.xml                                                         |    1 
 app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java                              |    1 
 app/src/main/res/values/strings.xml                                                       |    3 
 app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java                             |    1 
 app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java                             |    1 
 app/src/main/java/com/hdl/photovoltaic/HDLApp.java                                        |   16 +++-
 /dev/null                                                                                 |   18 ------
 HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/TcpSocketBoot.java                  |   71 +++++++++++++++++------
 app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java                |    9 +-
 app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java                       |    6 ++
 app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java                     |    2 
 app/build.gradle                                                                          |   18 ++++++
 app/src/main/java/com/hdl/photovoltaic/base/CustomBaseActivity.java                       |   28 +++++++++
 15 files changed, 128 insertions(+), 52 deletions(-)

diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/TcpSocketBoot.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/TcpSocketBoot.java
index 5a098d9..6705fe2 100644
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/TcpSocketBoot.java
+++ b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/TcpSocketBoot.java
@@ -30,17 +30,19 @@
 
     private final IClient client;
     private IHeartbeat iHeartbeat;
-    public void SetHeartbeat(IHeartbeat iHeartbeat){
-        this.iHeartbeat=iHeartbeat;
+
+    public void SetHeartbeat(IHeartbeat iHeartbeat) {
+        this.iHeartbeat = iHeartbeat;
     }
+
     /**
      * 褰撳墠鎺ユ敹鍒版暟鎹殑鏃堕棿
      */
-    private  long time=System.currentTimeMillis();
+    private long time = System.currentTimeMillis();
     /**
      * tcp鏄惁宸茬粡杩炴帴
      */
-    private boolean connected=false;
+    private boolean connected = false;
 
     public IClient getClient() {
         return client;
@@ -54,7 +56,7 @@
 
     private final ArrayMap<String, SendListener> sendMap = new ArrayMap<>();
 
-    public  TcpSocketBoot(IClient client) {
+    public TcpSocketBoot(IClient client) {
         TCP_SOCKET_BOOT_LIST.add(this);
         this.client = client;
         initConnectThread();
@@ -66,25 +68,25 @@
     /**
      * 璁板綍鎵�鏈塖ocketBoot
      */
-    final static List<TcpSocketBoot> TCP_SOCKET_BOOT_LIST = new ArrayList();
+    final static List<TcpSocketBoot> TCP_SOCKET_BOOT_LIST = new ArrayList<>();
 
     /**
      * 鏍规嵁IP鍦板潃鍙婄鍙h幏鍙栧綋鍓峴ocketBoot
+     *
      * @param ipAddress
      * @param port
      * @return
      */
-    public static TcpSocketBoot getByEndPoint(String ipAddress, int port){
-        if(ipAddress==null){
-            return  null;
+    public static TcpSocketBoot getByEndPoint(String ipAddress, int port) {
+        if (ipAddress == null) {
+            return null;
         }
-        for(TcpSocketBoot tcpSocketBoot : TCP_SOCKET_BOOT_LIST){
-            if(ipAddress.equals(tcpSocketBoot.getClient().getOptions().getIp())&& tcpSocketBoot.getClient().getOptions().getPort()==port)
-            {
+        for (TcpSocketBoot tcpSocketBoot : TCP_SOCKET_BOOT_LIST) {
+            if (ipAddress.equals(tcpSocketBoot.getClient().getOptions().getIp()) && tcpSocketBoot.getClient().getOptions().getPort() == port) {
                 return tcpSocketBoot;
             }
         }
-        return  null;
+        return null;
     }
 
     /**
@@ -92,14 +94,14 @@
      */
     private synchronized void connect() {
         try {
-            LogUtils.i("TCP杩炴帴锛�"+this.getClient().getOptions().getIp());
+            LogUtils.i("TCP杩炴帴锛�" + this.getClient().getOptions().getIp());
             client.onConnectStatus(ConnectStatus.CONNECTING);
 //            Thread.sleep(700);
             client.connect();
-            LogUtils.i("TCP杩炴帴鎴愬姛锛�"+this.getClient().getOptions().getIp());
-            connected=true;
+            LogUtils.i("TCP杩炴帴鎴愬姛锛�" + this.getClient().getOptions().getIp());
+            connected = true;
             client.onConnectStatus(ConnectStatus.CONNECTED);
-        }catch(Exception e) {
+        } catch (Exception e) {
             LogUtils.e(e.getMessage());
         }
     }
@@ -116,7 +118,7 @@
                 public void run() {
                     while (true) {
                         try {
-                            if(connected==false){
+                            if (!connected) {
                                 Thread.sleep(100);
                                 continue;
                             }
@@ -163,7 +165,7 @@
                             if (connected) {
                                 //璇诲彇鏁版嵁
                                 client.onHandleResponse();
-                                time= System.currentTimeMillis();
+                                time = System.currentTimeMillis();
                             } else {
                                 try {
                                     Thread.sleep(1000);
@@ -196,7 +198,7 @@
                             if (!connected) {
                                 reconect();
                             }
-                            Thread.sleep(5*1000);
+                            Thread.sleep(5 * 1000);
                         } catch (Exception e) {
 
                             LogUtils.e("瀹氭椂杩炴帴绾跨▼寮傚父:" + e.getMessage());
@@ -234,6 +236,7 @@
             });
         }
     }
+
     /**
      * 閲嶆柊杩炴帴
      */
@@ -244,6 +247,7 @@
 
     /**
      * 鍙戦�佹棤闇�鍥炶皟
+     *
      * @param msg 鍙戦�佺殑鏁版嵁
      */
     public void sendMsg(byte[] msg) {
@@ -278,4 +282,31 @@
 
         }
     }
+
+//    /**
+//     * 鏂紑鍏ㄩ儴鐨凩ink缃戝叧杩炴帴
+//     */
+//    public static void stopAllConnectLinkGateway() {
+//        for (TcpSocketBoot data : TCP_SOCKET_BOOT_LIST) {
+//            //鏂紑鎸囧畾鐨刲ink缃戝叧杩炴帴
+//            stopConnectLinkGateway(data);
+//        }
+//
+//    }
+//
+//    /**
+//     * 鏂紑鎸囧畾鐨刲ink缃戝叧杩炴帴
+//     *
+//     * @param tcpSocketBoot tcp瀵硅薄
+//     */
+//    public static void stopConnectLinkGateway(TcpSocketBoot tcpSocketBoot) {
+//        synchronized (TCP_SOCKET_BOOT_LIST) {
+//            try {
+//                TCP_SOCKET_BOOT_LIST.remove(tcpSocketBoot);
+//                tcpSocketBoot.client.disconnect();
+//            } catch (Exception ignored) {
+//            }
+//        }
+//    }
+
 }
diff --git a/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/interceptor/HDLEncryptInterceptor.java b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/interceptor/HDLEncryptInterceptor.java
index df494e1..2165c3e 100644
--- a/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/interceptor/HDLEncryptInterceptor.java
+++ b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/interceptor/HDLEncryptInterceptor.java
@@ -19,6 +19,7 @@
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -116,7 +117,7 @@
             if (body != null) {
                 Buffer buffer = new Buffer();
                 body.writeTo(buffer);
-                Charset charset = Charset.forName("UTF-8");
+                Charset charset = StandardCharsets.UTF_8;
                 MediaType contentType = body.contentType();
                 charset = contentType.charset(charset);
                 return buffer.readString(charset);
diff --git a/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/interceptor/HDLLoginInterceptor.java b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/interceptor/HDLLoginInterceptor.java
index 4e01422..f702e2d 100644
--- a/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/interceptor/HDLLoginInterceptor.java
+++ b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/interceptor/HDLLoginInterceptor.java
@@ -60,7 +60,7 @@
 //            source2.request(Long.MAX_VALUE);
 //            Buffer buffer2 = source2.getBuffer().clone();
 //            String respString2 = buffer2.readString(Charset.defaultCharset());
-
+            //http鏍囧噯鐘舵�佺爜
             if (401 == response.code() || 402 == response.code() || 403 == response.code()) {
                 final String token = refreshToken();
                 if (!TextUtils.isEmpty(token)) {
diff --git a/app/build.gradle b/app/build.gradle
index 0d6c420..f1e0a0e 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -8,6 +8,20 @@
 ]
 
 android {
+    signingConfigs {
+        debug {
+            storeFile file('../keystore/Untitled')
+            keyAlias 'hdlphotovotaic'
+            storePassword '85521566'
+            keyPassword '85521566'
+        }
+        release {
+            storeFile file('../keystore/Untitled')
+            keyAlias 'photovoltaic'
+            storePassword '85521566'
+            keyPassword '85521566'
+        }
+    }
     compileSdk 30
 
     defaultConfig {
@@ -41,6 +55,10 @@
         release {
             minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+            signingConfig signingConfigs.release
+        }
+        debug {
+            signingConfig signingConfigs.debug
         }
     }
 
diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json
deleted file mode 100644
index 91451eb..0000000
--- a/app/release/output-metadata.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-  "version": 2,
-  "artifactType": {
-    "type": "APK",
-    "kind": "Directory"
-  },
-  "applicationId": "com.hdl.photovoltaic",
-  "variantName": "processReleaseResources",
-  "elements": [
-    {
-      "type": "SINGLE",
-      "filters": [],
-      "versionCode": 1,
-      "versionName": "1.0",
-      "outputFile": "app-release.apk"
-    }
-  ]
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
index cc202ec..5fdd16e 100644
--- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
+++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -29,6 +29,7 @@
 import com.hdl.sdk.link.core.connect.HDLUdpConnect;
 import com.hdl.sdk.link.core.utils.QueueUtils;
 import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient;
+import com.hdl.sdk.link.socket.TcpSocketBoot;
 
 import java.util.HashMap;
 import java.util.Locale;
@@ -59,6 +60,7 @@
     public void onCreate() {
 
         super.onCreate();
+
         mHDLApp = this;
         initThirdSDK();
     }
@@ -149,6 +151,14 @@
                 //璁惧畾涓�涓椂闂�
                 UserConfigManage.getInstance().setLoginDateTime(0);
                 UserConfigManage.getInstance().Save();
+
+                //鏂紑mqtt杩炴帴
+                if (MqttRecvClient.getInstance() != null) {
+                    MqttRecvClient.getInstance().stop();
+                }
+                //鏂紑鎵�鏈塼cp杩炴帴涓旀竻绌鸿繛鎺ョ紦瀛�
+                // TODO: 10/10/23
+//                TcpSocketBoot.stopAllConnectLinkGateway();
 //                    if(null!=HDLUniMPSDKManager.getInstance().getUniMP()){
 //                        LogUtils.d("asdfasdfasdfsdf鎴戣鍒犻櫎鍟�");
 //                        HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP();
@@ -160,11 +170,7 @@
                     intent.putExtra("isJpush", true);
                 }
                 startActivity(intent);
-                if (MqttRecvClient.getInstance() != null) {
-                    MqttRecvClient.getInstance().stop();
-                }
-                //瑕佹竻绌轰箣鍓峵cp杩炴帴缂撳瓨
-                // TODO: 10/10/23
+
             }
         });
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java b/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java
index e3b1d84..cfbb09a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java
@@ -28,6 +28,7 @@
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+
         _mActivity = this;
         Object content = getContentView();
         //娣诲姞Activity鍒板爢鏍�
diff --git a/app/src/main/java/com/hdl/photovoltaic/base/CustomBaseActivity.java b/app/src/main/java/com/hdl/photovoltaic/base/CustomBaseActivity.java
index d9d6340..37526ce 100644
--- a/app/src/main/java/com/hdl/photovoltaic/base/CustomBaseActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/base/CustomBaseActivity.java
@@ -1,9 +1,37 @@
 package com.hdl.photovoltaic.base;
 
 
+import android.os.Bundle;
+
+import androidx.annotation.Nullable;
+
+import com.hdl.photovoltaic.R;
+
 /**
  * 鑷畾涔夋柟娉�,鐢ㄤ簬瀹炵幇涓�у寲
  */
 public abstract class CustomBaseActivity extends BaseActivity {
 
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setNotificationBarBackgroundColor(0);
+    }
+
+    /**
+     * 璁剧疆閫氱煡鏍忚儗鏅鑹�
+     *
+     * @param color 棰滆壊鍊�(0=钃濊壊;1=鐧借壊;)
+     */
+    public void setNotificationBarBackgroundColor(int color) {
+
+        if (color == 0) {
+            color = R.color.text_245EC3;
+        } else if (color == 1) {
+            if (color == 1) {
+                color = R.color.text_FFFFFFFF;
+            }
+        }
+        getWindow().setStatusBarColor(getColor(color));
+    }
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java b/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
index 61bea23..46420a7 100644
--- a/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
+++ b/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
@@ -4,10 +4,12 @@
 import android.text.TextUtils;
 
 import com.google.gson.Gson;
+import com.hdl.photovoltaic.HDLApp;
 import com.hdl.photovoltaic.other.HdlFileLogic;
 import com.hdl.photovoltaic.other.HdlLogLogic;
 import com.hdl.photovoltaic.other.HdlResidenceLogic;
 import com.hdl.photovoltaic.ui.bean.HouseInfoBean;
+import com.hdl.photovoltaic.utils.SharedPreUtils;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -224,6 +226,7 @@
      */
     private void reFresh() {
         String str = HdlFileLogic.getInstance().readFile(FILENAME);
+//        String str =SharedPreUtils.getSharedPreferencesKey("UserConfigManage.json",HDLApp.getInstance());
         if (!TextUtils.isEmpty(str) && str.length() > 0) {
             //璇诲彇淇濆瓨鐨勬暟鎹�
             Gson gson = new Gson();
@@ -233,6 +236,7 @@
             }
         }
     }
+
 
     /**
      * 淇濆瓨
@@ -245,8 +249,10 @@
         Gson gson = new Gson();
         String json = gson.toJson(sUserConfigManage);
         HdlFileLogic.getInstance().writeFile(FILENAME, json);
+//        SharedPreUtils.saveMyDataInfo("UserConfigManage.json", json, HDLApp.getInstance());
     }
 
+
     /// <summary>
     /// Config鏂囦欢鍚�
     /// </summary>
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
index 2b7bca6..263a352 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
@@ -57,7 +57,7 @@
 
     @Override
     public void onBindView(Bundle savedInstanceState) {
-        getWindow().setStatusBarColor(getColor(R.color.text_245EC3));
+
         //鍒濆鍖�
         initView();
         //鍒濆鍖栫晫闈㈢洃鍚櫒
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java
index 53e56d7..c2f9d04 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java
@@ -24,7 +24,6 @@
 
     @Override
     public void onBindView(Bundle savedInstanceState) {
-
         if (UserConfigManage.getInstance().isAutoLogin()) {
 //            showLoading();
             HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() {
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java
index e277935..a60aabb 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java
@@ -14,7 +14,7 @@
 
 import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.photovoltaic.R;
-import com.hdl.photovoltaic.base.BaseActivity;
+import com.hdl.photovoltaic.base.CustomBaseActivity;
 import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.databinding.ActivityMeChangePasswordBinding;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
@@ -24,7 +24,7 @@
 /**
  * 鎴戠殑-淇敼瀵嗙爜-鐣岄潰
  */
-public class MeChangePasswordActivity extends BaseActivity {
+public class MeChangePasswordActivity extends CustomBaseActivity {
 
     private ActivityMeChangePasswordBinding viewBinding;
 
@@ -36,6 +36,7 @@
 
     @Override
     public void onBindView(Bundle savedInstanceState) {
+
         //鍒濆鍖�
         initView();
         //鍒濆鍖栫晫闈㈢洃鍚櫒
@@ -135,9 +136,9 @@
      * 鍒濆鍖�
      */
     private void initView() {
-        viewBinding.toolbarTopFragmentHouseListRl.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFFFFFFF,null));
+        viewBinding.toolbarTopFragmentHouseListRl.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFFFFFFF, null));
         viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setText(R.string.home_login_change_password);
-        viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setTextColor(getResources().getColor(R.color.text_030D1C,null));
+        viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setTextColor(getResources().getColor(R.color.text_030D1C, null));
         viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setVisibility(View.VISIBLE);
         viewBinding.meChangePasswordOldIc.mePswTitleTv.setText(R.string.home_login_old_pws);
         viewBinding.meChangePasswordOldIc.mePswEt.setHint(R.string.home_login_input_old_pws);
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 94ea26a..4ed0004 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
@@ -31,6 +31,7 @@
 
     @Override
     public void onBindView(Bundle savedInstanceState) {
+
         //鍒濆鍖�
         initView();
         //鍒濆鍖栫晫闈㈢洃鍚櫒
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index e52391d..c9c90ca 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -3,4 +3,5 @@
         <attr name="fullscreenBackgroundColor" format="color" />
         <attr name="fullscreenTextColor" format="color" />
     </declare-styleable>
+
 </resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 5289526..d0364f3 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,5 +1,6 @@
 <resources>
-    <string name="app_name">PhotovoltaicDebug</string>
+<!--    <string name="app_name">PhotovoltaicDebug</string>-->
+    <string name="app_name">鏅烘収鑳芥簮</string>
     <string name="title_activity_home_login">HomeLoginActivity</string>
     <!-- Strings used for fragments for navigation -->
     <string name="first_fragment_label">First Fragment</string>

--
Gitblit v1.8.0