From caa35eaa7d9cae55a57155d9508d1285999f1bba Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 30 十一月 2023 22:16:42 +0800 Subject: [PATCH] 2023年11月30日22:16:31 --- app/src/main/java/com/hdl/photovoltaic/HDLApp.java | 155 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 149 insertions(+), 6 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..3a2a0d8 100644 --- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java +++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java @@ -1,23 +1,54 @@ package com.hdl.photovoltaic; import android.app.Application; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.ServiceConnection; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.os.IBinder; +import android.text.TextUtils; +import android.util.DisplayMetrics; -import com.google.gson.Gson; -import com.google.gson.JsonObject; -import com.hdl.photovoltaic.other.HdlLogLogic; +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.config.UserConfigManage; +import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpServer; +import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpService; +import com.hdl.photovoltaic.other.HdlFileLogic; +import com.hdl.photovoltaic.other.HdlOtaLogic; +import com.hdl.photovoltaic.other.HdlThreadLogic; +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.SharedPreUtils; +import com.hdl.sdk.link.HDLLinkLocalSdk; +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 { + + /** + * 榛樿涓枃 + */ + public String currentAppLanguage = "zh"; + //鎺у埗鎵撳嵃 Debug妯″紡鎵撳嵃 + private Boolean isLogEnabled = true; //涓夋柟sdk鍒濆鍖栨爣璇� private Boolean isInitThirdSDK = false; //澹版槑涓�涓綋鍓嶅簲鐢ㄧ殑瀹炰緥 @@ -32,9 +63,27 @@ @Override public void onCreate() { + super.onCreate(); mHDLApp = this; + SharedPreUtils.init(this); + getAppLanguage(); initThirdSDK(); + } + + public void getAppLanguage() { + String language = SharedPreUtils.getSharedPreferencesKey("language"); + if (TextUtils.isEmpty(language)) { + //浠庡唴瀛橀噷闈㈣幏鍙栦笉鍒拌瑷�,鑾峰彇褰撳墠绯荤粺鐨�; + String str = getResources().getConfiguration().locale.getCountry(); + if (str.equals("CN") || str.equals("TW")) { + language = "zh"; + } else { + language = "en"; + } + } + currentAppLanguage = language; + } public void setInfoMap(String key, String value) { @@ -76,6 +125,7 @@ // CrashReport.initCrashReport(this, Constant.BUGLY_APP_ID, true); //6.鍒濆鍖朌CUniMPSDK initDCUniMPSDK(); + // //7.鍒濆鍖栬嚜瀹氫箟IconToast // ToastUtils.getInstance().initIconToast(this); // //8.瀵筬astjson杩涜璁剧疆锛岃В鍐砯astjosn杞崲鎴愬瓧绗︿覆鏃堕瀛楁瘝澶у皬鍐欓棶棰� @@ -84,6 +134,68 @@ // 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(); + + //閲嶆柊鐧婚檰,榛樿鍚屾剰闅愮鏀跨瓥 + UserConfigManage.getInstance().setAcceiptPolicy(true); + //閲嶆柊璁惧畾涓�涓椂闂� + 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(); +// } +// initDCUniMPSDK(); + Intent intent = new Intent(getInstance(), HomeLoginActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + if (type == 1) { + intent.putExtra("isJpush", true); + } + startActivity(intent); + + } + }); + } /** @@ -93,5 +205,36 @@ 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