From b8209d15d915f72d9abe3a68b76e1f4cfd21eac3 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期六, 23 九月 2023 14:37:00 +0800
Subject: [PATCH] 2023年09月23日14:36:51

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

diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
index e3cf84d..021bd5a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
+++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -1,23 +1,47 @@
 package com.hdl.photovoltaic;
 
+import android.Manifest;
 import android.app.Application;
+import android.content.Intent;
+import android.content.pm.PackageManager;
 
+
+import androidx.annotation.NonNull;
 
 import com.google.gson.Gson;
 import com.google.gson.JsonObject;
+import com.hdl.hdlhttp.HxHttpConfig;
+import com.hdl.linkpm.sdk.HDLLinkPMSdk;
+import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
+import com.hdl.linkpm.sdk.user.callback.IOnReloginListener;
+import com.hdl.linkpm.sdk.utils.HDLSDKSPUtils;
+import com.hdl.photovoltaic.config.AppConfigManage;
 import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.ui.HomeLoginActivity;
 import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
+import com.hdl.photovoltaic.utils.AppManagerUtils;
+import com.hdl.photovoltaic.utils.LocalManageUtil;
+import com.hdl.photovoltaic.utils.PermissionUtils;
 import com.hdl.photovoltaic.utils.SharedPreUtils;
+import com.hdl.sdk.link.HDLLinkLocalSdk;
+import com.hdl.sdk.link.core.config.HDLLinkConfig;
+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 java.util.HashMap;
+import java.util.Locale;
 import java.util.Objects;
 
 import io.dcloud.common.util.RuningAcitvityUtil;
 import io.dcloud.feature.sdk.DCSDKInitConfig;
 import io.dcloud.feature.sdk.DCUniMPSDK;
 import io.dcloud.feature.sdk.Interface.IDCUniMPPreInitCallback;
+import okhttp3.logging.HttpLoggingInterceptor;
 
 public class HDLApp extends Application {
+    //鎺у埗鎵撳嵃 Debug妯″紡鎵撳嵃
+    private Boolean isLogEnabled = true;
     //涓夋柟sdk鍒濆鍖栨爣璇�
     private Boolean isInitThirdSDK = false;
     //澹版槑涓�涓綋鍓嶅簲鐢ㄧ殑瀹炰緥
@@ -32,6 +56,7 @@
 
     @Override
     public void onCreate() {
+
         super.onCreate();
         mHDLApp = this;
         initThirdSDK();
@@ -76,6 +101,7 @@
 //        CrashReport.initCrashReport(this, Constant.BUGLY_APP_ID, true);
         //6.鍒濆鍖朌CUniMPSDK
         initDCUniMPSDK();
+
 //        //7.鍒濆鍖栬嚜瀹氫箟IconToast
 //        ToastUtils.getInstance().initIconToast(this);
 //        //8.瀵筬astjson杩涜璁剧疆锛岃В鍐砯astjosn杞崲鎴愬瓧绗︿覆鏃堕瀛楁瘝澶у皬鍐欓棶棰�
@@ -84,6 +110,55 @@
 //        NetWorkUtil.init(this);
 //        //10.鍒濆鍖栨瀬鍏夋帹閫�
 //        initJPush();
+        initHDLLinkPMSdk();
+        HDLLinkLocalSdk.getInstance().init(getInstance());
+        initSocket();
+        //4.鍒濆鍖朞KHttpLog 鏄惁寮�鍚�
+//        setOKHttpLogOpen(isLogEnabled);
+
+    }
+
+    /**
+     * 鍒濆鍖朒DLLinkPMSdk
+     */
+    private void initHDLLinkPMSdk() {
+        //1.鍒濆鍖朣DK
+        HDLLinkPMSdk.initWithAppKey(getInstance(), AppConfigManage.getAppKey(), AppConfigManage.getAppSecret(), AppConfigManage.getAPPRegionUrl());
+        //2.璁剧疆鎵撳嵃
+        HDLLinkPMSdk.setLogEnabled(isLogEnabled);
+        //3.閰嶇疆鎺ュ彛璇锋眰璇█
+        Locale locale = LocalManageUtil.getSystemLocale(this);
+        if (!locale.getLanguage().equals("zh")) {
+            HDLLinkPMSdk.setLanguage("en");
+        } else {
+            HDLLinkPMSdk.setLanguage("cn");
+        }
+//        HDLLinkPMSdk.setLanguage("en");//寮哄埗浣跨敤鑻辨枃
+        //4.鐩戝惉鐧诲嚭澶勭悊
+        HDLLinkPMUser.getInstance().setOnReloginListener(new IOnReloginListener() {
+            @Override
+            public void onReLogin(int type) {
+                //type:  0:姝e父閫�鍑�   1锛氭瀬鍏夋帹閫佸己鍒堕��鍑�
+                //鏀跺埌鐧诲綍澶勭悊閫氱煡锛屽叧闂墍鏈夐〉闈㈠苟鎵撳紑鐧诲綍椤甸潰
+                AppManagerUtils.getAppManager().finishAllActivity();
+                HDLSDKSPUtils.clear();
+//                    if(null!=HDLUniMPSDKManager.getInstance().getUniMP()){
+//                        LogUtils.d("asdfasdfasdfsdf鎴戣鍒犻櫎鍟�");
+//                        HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP();
+//                    }
+//                    initDCUniMPSDK();
+                Intent intent = new Intent(getInstance(), HomeLoginActivity.class);
+                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+                if (type == 1) {
+                    intent.putExtra("isJpush", true);
+                }
+                startActivity(intent);
+                if (MqttRecvClient.getInstance() != null) {
+                    MqttRecvClient.getInstance().stop();
+                }
+            }
+        });
+
     }
 
     /**
@@ -93,5 +168,33 @@
         HDLUniMPSDKManager.getInstance().initDCUniMPSDK(this);
     }
 
+    //鍒濆鍖杝ocket鍙婂惎鍔ㄥ鐞嗘帴鏀跺埌鏁版嵁鐨勫鐞嗘柟娉�
+    private void initSocket() {
+        QueueUtils.getInstance().start();
+        HDLUdpConnect.getInstance().initUdp();
+    }
+
+    /**
+     * 鍒濆鍖朞KHttpLog
+     */
+    private void setOKHttpLogOpen(Boolean isOpen) {
+        if (isOpen) {
+            HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor();
+            httpLoggingInterceptor.level(HttpLoggingInterceptor.Level.BODY);
+            HxHttpConfig.getInstance().addInterceptor(httpLoggingInterceptor);
+        }
+    }
+//    /**
+//     * 鍒濆鍖杣ni app mqtt
+//     */
+//    private void initUniMqtt() {
+//        try {
+//            Through.getInstance().setUni(false);
+//            //IP 鍦板潃瑕佹牴鎹疄闄呯殑鏇存敼
+//            UniAppMqtt.getInstance().initMqtt(this, "tcp://192.168.3.124:1883", "Android_" + android.os.Build.BRAND + "_" + this.hashCode(), new String[]{"PCToAndroid/#"});
+//        } catch (Exception e) {
+//            LogUtils.e("娴嬭瘯Mqtt杩炴帴鏈嶅姟绔け璐�");
+//        }
+//    }
 
 }

--
Gitblit v1.8.0