From 87cd5df70918e6ba1af849c5f026d3719bfdb1ac Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 09 四月 2025 09:06:29 +0800
Subject: [PATCH] Merge branch '1.5.2' into dev

---
 app/src/main/java/com/hdl/photovoltaic/HDLApp.java |  120 ++++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 85 insertions(+), 35 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
index 72ec8c5..b4ba57d 100644
--- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
+++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -5,6 +5,8 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.Configuration;
+import android.os.Build;
+import android.os.LocaleList;
 import android.os.SystemClock;
 import android.text.TextUtils;
 import android.util.Log;
@@ -12,6 +14,7 @@
 
 import androidx.multidex.MultiDex;
 
+import com.google.gson.Gson;
 import com.hdl.hdlhttp.HxHttpConfig;
 import com.hdl.linkpm.sdk.HDLLinkPMSdk;
 import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
@@ -20,9 +23,13 @@
 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.HdlFileLogic;
 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;
@@ -34,10 +41,12 @@
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
 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 org.greenrobot.eventbus.EventBus;
 
 import java.util.HashMap;
+import java.util.Locale;
 import java.util.Objects;
 
 import cn.jpush.android.api.JPushInterface;
@@ -54,10 +63,17 @@
     private Boolean isLogEnabled = true;
     //涓夋柟sdk鍒濆鍖栨爣璇�
     private Boolean isInitThirdSDK = false;
+    //涓夋柟sdk鍒濆鍖栨爣璇�
+    /**
+     * 涓夋柟sdk鍒濆鍖栨爣璇�
+     * 鍦⊿tartActivity閲岄潰鍒濆鍖栦笁鏂筍DK鐨勬爣璇�
+     */
+    public Boolean isStartInitThirdSDK = false;
     //澹版槑涓�涓綋鍓嶅簲鐢ㄧ殑瀹炰緥
     private static HDLApp mHDLApp;
     //澹版槑涓�涓叕鍏辩殑淇℃伅鏄犲皠,鍙綋浣滃叏灞�鍙橀噺浣跨敤;
     public HashMap<String, String> mInfoMap = new HashMap<>();
+
 
     //鍒╃敤鍗曚緥妯″紡鑾峰彇褰撳墠搴旂敤鐨勫敮涓�瀹炰緥
     public static HDLApp getInstance() {
@@ -67,22 +83,24 @@
     @Override
     public void onCreate() {
         super.onCreate();
-
         // 鑾峰彇褰撳墠杩涚▼鐨凱ID
         Log.d("杩涚▼===", android.os.Process.myPid() + "");
         mHDLApp = this;
         SharedPreUtils.init(this);
         getAppLanguage();
+        //棰勫垱寤鸿剼鏈琷son鏂囦欢澶�
+        HdlFileLogic.getInstance().createHdlESLocalJsonDirectory();
         init();
-//        appLocationInfo();
+
+
     }
 
     public void getAppLanguage() {
         String language = UserConfigManage.getInstance().getCurrentAppLanguage();
         if (TextUtils.isEmpty(language)) {
             //浠庡唴瀛橀噷闈㈣幏鍙栦笉鍒拌瑷�,鑾峰彇褰撳墠绯荤粺鐨�;
-            String str = getResources().getConfiguration().locale.getCountry();
-            if (str.equals("CN") || str.equals("TW")) {
+            String str = getResources().getConfiguration().locale.getLanguage();
+            if (str.equals(LocalManageUtil.zh)) {
                 UserConfigManage.getInstance().setCurrentAppLanguage(LocalManageUtil.zh);
             } else {
                 UserConfigManage.getInstance().setCurrentAppLanguage(LocalManageUtil.en);
@@ -140,8 +158,8 @@
 //        //9.鍒濆鍖栫綉缁滃伐鍏�
 //        NetWorkUtil.init(this);
         initAutoSize();
-        //鍒濆鍖栨瀬鍏夋帹閫�
-        initJPush();
+//        //鍒濆鍖栨瀬鍏夋帹閫�
+//        initJPush();
         initHDLLinkPMSdk();
         HDLLinkLocalSdk.getInstance().init(getInstance());
         initSocket();
@@ -153,6 +171,7 @@
         //鍒濆鍖栨湰鍦癮ssets鏂囦欢澶硅祫婧愭枃浠�
 //        this.initLocalAssetsData();
 
+
     }
 
 
@@ -161,12 +180,13 @@
      */
     private void initHDLLinkPMSdk() {
         //1.鍒濆鍖朣DK
-        HDLLinkPMSdk.initWithAppKey(getInstance(), AppConfigManage.getAppKey(), AppConfigManage.getAppSecret(), AppConfigManage.getAPPRegionUrl());
+        HDLLinkPMSdk.initWithAppKey(this, AppConfigManage.getAppKey(), AppConfigManage.getAppSecret(), AppConfigManage.getAPPRegionUrl());
         //2.璁剧疆鎵撳嵃
         HDLLinkPMSdk.setLogEnabled(isLogEnabled);
+
         if (TextUtils.isEmpty(UserConfigManage.getInstance().getCurrentAppLanguage())) {
-            //榛樿閰嶇疆鎺ュ彛璇锋眰璇█鏄腑鏂�
-            UserConfigManage.getInstance().setCurrentAppLanguage(LocalManageUtil.zh);
+            //榛樿閰嶇疆鎺ュ彛璇锋眰璇█鏄嫳鏂�
+            UserConfigManage.getInstance().setCurrentAppLanguage(LocalManageUtil.en);
         }
         //3.閰嶇疆鎺ュ彛璇锋眰璇█
         HDLLinkPMSdk.setLanguage(UserConfigManage.getInstance().getCurrentAppLanguage());
@@ -183,27 +203,32 @@
         HDLLinkPMUser.getInstance().setOnReloginListener(new IOnReloginListener() {
             @Override
             public void onReLogin(int type) {
+                HdlLogLogic.print("鐩戝惉鍒扮櫥褰曢��鍑�---" + type, true);
                 //type:  0:姝e父閫�鍑�   1锛氭瀬鍏夋帹閫佸己鍒堕��鍑�
                 //鏀跺埌鐧诲綍澶勭悊閫氱煡锛屽叧闂墍鏈夐〉闈㈠苟鎵撳紑鐧诲綍椤甸潰
                 AppManagerUtils.getAppManager().finishAllActivity();
-                HDLSDKSPUtils.clear();
+//                HDLSDKSPUtils.clear();//搴曞眰鑷繁娓呯┖
 
                 //閲嶆柊鐧婚檰,榛樿鍚屾剰闅愮鏀跨瓥
-                UserConfigManage.getInstance().setAcceiptPolicy(true);
+                UserConfigManage.getInstance().setAcceiptPolicy(false);
                 //閲嶆柊璁惧畾涓�涓椂闂�
                 UserConfigManage.getInstance().setLoginDateTime(0);
                 UserConfigManage.getInstance().Save();
 
                 //娓呯┖娑堟伅缂撳瓨鏁版嵁
                 HdlMessageLogic.getInstance().clearListMessage();
+                //娓呯┖鐢电珯缂撳瓨鏁版嵁
+                HdlResidenceLogic.getInstance().clearHouseList();
+                //娓呯┖璁惧缂撳瓨鏁版嵁
+                HdlDeviceLogic.getInstance().clearDeviceList();
                 //娓呯┖缂撳瓨鏁版嵁
                 if (mInfoMap != null) {
                     mInfoMap.clear();
                 }
-//                //鏂紑mqtt杩炴帴
-//                if (MqttRecvClient.getInstance() != null) {
-//                    MqttRecvClient.getInstance().disConnect();
-//                }
+                //鏂紑mqtt杩炴帴
+                if (MqttRecvClient.getInstance() != null) {
+                    MqttRecvClient.getInstance().disConnect();
+                }
                 //鏂紑鎵�鏈塼cp杩炴帴涓旀竻绌鸿繛鎺ョ紦瀛�
                 // TODO: 10/10/23
 //                TcpSocketBoot.stopAllConnectLinkGateway();
@@ -254,7 +279,6 @@
     private void initJPush() {
         JPushInterface.setDebugMode(true);
         JPushInterface.init(getBaseContext());
-
     }
 
     /**
@@ -309,35 +333,29 @@
     private void initAutoSize() {
         AutoSize.initCompatMultiProcess(this);
         boolean isBaseOnWidth = getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT;
-        AutoSizeConfig.getInstance()
-                .setBaseOnWidth(true)
-                .setCustomFragment(true)
-                .setDesignWidthInDp(375)
-                .setDesignHeightInDp(812)
-                .setUseDeviceSize(false)
-                .setOnAdaptListener(new onAdaptListener() {
-                    @Override
-                    public void onAdaptBefore(Object target, Activity activity) {
+        AutoSizeConfig.getInstance().setBaseOnWidth(true).setCustomFragment(true).setDesignWidthInDp(375).setDesignHeightInDp(812).setUseDeviceSize(false).setOnAdaptListener(new onAdaptListener() {
+            @Override
+            public void onAdaptBefore(Object target, Activity activity) {
 
-                        AutoSizeConfig.getInstance().setScreenWidth(ScreenUtils.getScreenSize(activity)[0]);
-                        AutoSizeConfig.getInstance().setScreenHeight(ScreenUtils.getScreenSize(activity)[1] +
-                                ScreenUtils.getHeightOfNavigationBar(activity) + ScreenUtils.getStatusBarHeight());
+                AutoSizeConfig.getInstance().setScreenWidth(ScreenUtils.getScreenSize(activity)[0]);
+                AutoSizeConfig.getInstance().setScreenHeight(ScreenUtils.getScreenSize(activity)[1] + ScreenUtils.getHeightOfNavigationBar(activity) + ScreenUtils.getStatusBarHeight());
 
-                    }
+            }
 
-                    @Override
-                    public void onAdaptAfter(Object target, Activity activity) {
+            @Override
+            public void onAdaptAfter(Object target, Activity activity) {
 
-                    }
-                });
+            }
+        });
     }
+
 
     /**
      * 鍒濆鍖杣ni app mqtt
      */
     private void initUniMqtt() {
         try {
-            String ip = "10.10.35.79";//NetworkUtils.getIPAddress(this);
+            String ip = "192.168.1.100";//NetworkUtils.getIPAddress(this);
             if (TextUtils.isEmpty(ip)) {
                 return;
             }
@@ -349,12 +367,44 @@
         }
     }
 
+
     @Override
     protected void attachBaseContext(Context base) {
         MultiDex.install(base);
         super.attachBaseContext(base);
     }
 
+    /**
+     * 鏀寔涓嫳鏂囧垏鎹�
+     */
+    public Context getAppLocaleContext(Context context) {
+        try {
+            Locale locale = new Locale(UserConfigManage.getInstance().getCurrentAppLanguage());
+            Configuration configuration = context.getResources().getConfiguration();
+            configuration.setLocale(locale);
+            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+                configuration.setLocales(new LocaleList(locale));
+            }
+            return context.createConfigurationContext(configuration);
+        } catch (Exception e) {
+            return context;
+        }
+    }
 
-
+    /**
+     * 鏀寔涓嫳鏂囧垏鎹�
+     */
+    public Context getAppLocaleContext() {
+        try {
+            Locale locale = new Locale(UserConfigManage.getInstance().getCurrentAppLanguage());
+            Configuration configuration = getResources().getConfiguration();
+            configuration.setLocale(locale);
+            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+                configuration.setLocales(new LocaleList(locale));
+            }
+            return createConfigurationContext(configuration);
+        } catch (Exception e) {
+            return this;
+        }
+    }
 }

--
Gitblit v1.8.0