From 3e904bfa8a1bb53dcf461e5c717f9b808e179245 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 08 一月 2025 16:27:48 +0800
Subject: [PATCH] 2025年01月08日16:27:46
---
app/src/main/java/com/hdl/photovoltaic/HDLApp.java | 227 ++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 176 insertions(+), 51 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
index 1854535..444d0a4 100644
--- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
+++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -1,44 +1,56 @@
package com.hdl.photovoltaic;
+import android.app.Activity;
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.os.SystemClock;
import android.text.TextUtils;
-import android.util.DisplayMetrics;
+import android.util.Log;
+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;
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.ConstantManage;
import com.hdl.photovoltaic.config.UserConfigManage;
-import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpServer;
-import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpService;
+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.HdlOtaLogic;
+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.HomeLoginActivity;
+import com.hdl.photovoltaic.ui.LoginActivity;
import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
import com.hdl.photovoltaic.utils.AppManagerUtils;
import com.hdl.photovoltaic.utils.LocalManageUtil;
+import com.hdl.photovoltaic.utils.NetworkUtils;
import com.hdl.photovoltaic.utils.SharedPreUtils;
import com.hdl.sdk.link.HDLLinkLocalSdk;
+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;
import io.dcloud.common.util.RuningAcitvityUtil;
+import me.jessyan.autosize.AutoSize;
+import me.jessyan.autosize.AutoSizeConfig;
+import me.jessyan.autosize.onAdaptListener;
+import me.jessyan.autosize.utils.ScreenUtils;
import okhttp3.logging.HttpLoggingInterceptor;
public class HDLApp extends Application {
@@ -52,6 +64,7 @@
//澹版槑涓�涓叕鍏辩殑淇℃伅鏄犲皠,鍙綋浣滃叏灞�鍙橀噺浣跨敤;
public HashMap<String, String> mInfoMap = new HashMap<>();
+
//鍒╃敤鍗曚緥妯″紡鑾峰彇褰撳墠搴旂敤鐨勫敮涓�瀹炰緥
public static HDLApp getInstance() {
return mHDLApp;
@@ -59,12 +72,15 @@
@Override
public void onCreate() {
-
super.onCreate();
+ // 鑾峰彇褰撳墠杩涚▼鐨凱ID
+ Log.d("杩涚▼===", android.os.Process.myPid() + "");
mHDLApp = this;
SharedPreUtils.init(this);
getAppLanguage();
- initThirdSDK();
+ //棰勫垱寤鸿剼鏈琷son鏂囦欢澶�
+ HdlFileLogic.getInstance().createHdlESLocalJsonDirectory();
+ init();
}
public void getAppLanguage() {
@@ -102,40 +118,50 @@
return "";
}
+ public void removeKey(String key) {
+ mInfoMap.remove(key);
+ }
+
/**
* 鍒濆鍖栦笁鏂圭浉鍏砈DK
*/
- public void initThirdSDK() {
+ public void init() {
// 灏忕▼搴忚繘绋�
- if (RuningAcitvityUtil.getAppName(getBaseContext()).contains("unimp")) {
+ if (RuningAcitvityUtil.getAppName(getBaseContext()).contains(":")) {
return;
}
if (isInitThirdSDK) {
return;
}
isInitThirdSDK = true;
-
// //5.鍒濆鍖朆ugly
// CrashReport.initCrashReport(this, Constant.BUGLY_APP_ID, true);
//6.鍒濆鍖朌CUniMPSDK
initDCUniMPSDK();
-
+// this.initUniMqtt();//濡傛灉鏄儴缃插埌/鎵嬫満涓婃寮忎娇鐢紝娉ㄩ噴鎺夎繖琛屼唬鐮佸氨鍙�
// //7.鍒濆鍖栬嚜瀹氫箟IconToast
// ToastUtils.getInstance().initIconToast(this);
// //8.瀵筬astjson杩涜璁剧疆锛岃В鍐砯astjosn杞崲鎴愬瓧绗︿覆鏃堕瀛楁瘝澶у皬鍐欓棶棰�
// TypeUtils.compatibleWithFieldName = true;
// //9.鍒濆鍖栫綉缁滃伐鍏�
// NetWorkUtil.init(this);
-// //10.鍒濆鍖栨瀬鍏夋帹閫�
-// initJPush();
+ initAutoSize();
+ //鍒濆鍖栨瀬鍏夋帹閫�
+ initJPush();
initHDLLinkPMSdk();
HDLLinkLocalSdk.getInstance().init(getInstance());
initSocket();
//4.鍒濆鍖朞KHttpLog 鏄惁寮�鍚�
setOKHttpLogOpen(isLogEnabled);
+// initMqttClient();
+ //鐩戝惉缃戠粶鐘舵�佸彉鍖�
+ this.networkMonitoring();
+ //鍒濆鍖栨湰鍦癮ssets鏂囦欢澶硅祫婧愭枃浠�
+// this.initLocalAssetsData();
}
+
/**
* 鍒濆鍖朒DLLinkPMSdk
@@ -145,43 +171,61 @@
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");
+ if (TextUtils.isEmpty(UserConfigManage.getInstance().getCurrentAppLanguage())) {
+ //榛樿閰嶇疆鎺ュ彛璇锋眰璇█鏄嫳鏂�
+ UserConfigManage.getInstance().setCurrentAppLanguage(LocalManageUtil.en);
}
+ //3.閰嶇疆鎺ュ彛璇锋眰璇█
+ HDLLinkPMSdk.setLanguage(UserConfigManage.getInstance().getCurrentAppLanguage());
+
+// //3.閰嶇疆鎺ュ彛璇锋眰璇█
+// Locale locale = LocalManageUtil.getSystemLocale(this);
+// if (!locale.getLanguage().equals("zh")) {
+// HDLLinkPMSdk.setLanguage("en");
+// } else {
+// HDLLinkPMSdk.setLanguage("zh");
+// }
// HDLLinkPMSdk.setLanguage("en");//寮哄埗浣跨敤鑻辨枃
//4.鐩戝惉鐧诲嚭澶勭悊
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();
- //鏂紑mqtt杩炴帴
- if (MqttRecvClient.getInstance() != null) {
- MqttRecvClient.getInstance().stop();
+ //娓呯┖娑堟伅缂撳瓨鏁版嵁
+ HdlMessageLogic.getInstance().clearListMessage();
+ //娓呯┖鐢电珯缂撳瓨鏁版嵁
+ HdlResidenceLogic.getInstance().clearHouseList();
+ //娓呯┖璁惧缂撳瓨鏁版嵁
+ HdlDeviceLogic.getInstance().clearDeviceList();
+ //娓呯┖缂撳瓨鏁版嵁
+ if (mInfoMap != null) {
+ mInfoMap.clear();
}
+// //鏂紑mqtt杩炴帴
+// if (MqttRecvClient.getInstance() != null) {
+// MqttRecvClient.getInstance().disConnect();
+// }
//鏂紑鎵�鏈塼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 (null != HDLUniMPSDKManager.getInstance().getUniMP()) {
+ HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP();
+ }
+ SystemClock.sleep(200);
+ initDCUniMPSDK();
+ Intent intent = new Intent(getInstance(), LoginActivity.class);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
if (type == 1) {
intent.putExtra("isJpush", true);
}
@@ -216,24 +260,105 @@
}
}
+ /**
+ * 鍒濆鍖栨瀬鍏塖DK
+ */
private void initJPush() {
-// JPushInterface.setDebugMode(true);
-// JPushInterface.init(getBaseContext());
+ JPushInterface.setDebugMode(true);
+ JPushInterface.init(getBaseContext());
+
+ }
+
+ /**
+ * 鐩戝惉缃戠粶鐘舵�佸彉鍖�
+ */
+ private void networkMonitoring() {
+ NetworkUtils.init(getInstance());
+ NetworkUtils.registerNetworkStatusChangedListener(new NetworkUtils.OnNetworkStatusChangedListener() {
+ @Override
+ public void onDisconnected() {
+ BaseEventBus baseEventBus = new BaseEventBus();
+ baseEventBus.setTopic(ConstantManage.network_change_post);
+ baseEventBus.setType(NetworkType.no_network.toString());
+ baseEventBus.setData("褰撳墠鏃犵綉缁滆繛鎺�");
+ EventBus.getDefault().post(baseEventBus);
+ }
+
+ @Override
+ public void onConnected(NetworkUtils.NetworkType networkType) {
+ BaseEventBus mobile_network = new BaseEventBus();
+ mobile_network.setTopic(ConstantManage.network_change_post);
+ mobile_network.setType(networkType.toString());
+ mobile_network.setData("姝e湪浣跨敤2G/3G/4G缃戠粶/wifi");
+ EventBus.getDefault().post(mobile_network);
+ }
+ });
}
-// /**
-// * 鍒濆鍖杣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杩炴帴鏈嶅姟绔け璐�");
-// }
-// }
+ /**
+ * 璇诲彇鍔犺浇鏈湴閰嶇疆鏂囦欢鏁版嵁
+ */
+ private void initLocalAssetsData() {
+ //鏁版嵁澶氭湁鐐瑰崱,鎵�浠ュ姞浜嗙嚎绋�
+ HdlThreadLogic.runSubThread(new Runnable() {
+ @Override
+ public void run() {
+ //鑾峰彇鍥藉鐪佸競鏁版嵁
+ LocalManageUtil.getLocationInfo(getInstance());
+ //鑾峰彇缁忕含搴�
+ LocalManageUtil.getLongLatInfo(getInstance());
+ }
+ });
+
+
+ }
+
+ /**
+ * 钃濇箹涓� 淇敼瀹藉害 640dp 瀹藉害鎸夌収dp銆乻p鏉ラ�傞厤
+ * 鏃嬭浆鍚庨珮鍙樺,鎸夋棆杞悗楂樺害閫傞厤,鎵�浠ュ搴︿笉鍐欐
+ */
+ 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().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) {
+
+ }
+ });
+ }
+
+ /**
+ * 鍒濆鍖杣ni app mqtt
+ */
+ private void initUniMqtt() {
+ try {
+ String ip = "192.168.1.100";//NetworkUtils.getIPAddress(this);
+ if (TextUtils.isEmpty(ip)) {
+ return;
+ }
+ //IP 鍦板潃瑕佹牴鎹疄闄呯殑鏇存敼
+ com.hdl.photovoltaic.ui.test.UniAppMqtt.getInstance().initMqtt(this, "tcp://" + ip + ":1883", "Android_" + android.os.Build.BRAND + "_" + this.hashCode(), new String[]{"PCToAndroid/#"});
+ com.hdl.photovoltaic.ui.test.UniAppMqtt.getInstance().setUni(true);
+ } catch (Exception e) {
+ HdlLogLogic.print("娴嬭瘯Mqtt杩炴帴鏈嶅姟绔け璐�--->");
+ }
+ }
+
+ @Override
+ protected void attachBaseContext(Context base) {
+ MultiDex.install(base);
+ super.attachBaseContext(base);
+ }
}
--
Gitblit v1.8.0