From 7fdae87bc3de46b5b012f8987c6902cd8b054323 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 16 五月 2024 18:17:11 +0800 Subject: [PATCH] 2024年05月16日18:17:09 --- app/src/main/java/com/hdl/photovoltaic/HDLApp.java | 221 ++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 170 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..ddf3bd9 100644 --- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java +++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java @@ -1,16 +1,16 @@ 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.hdl.hdlhttp.HxHttpConfig; import com.hdl.linkpm.sdk.HDLLinkPMSdk; @@ -18,27 +18,34 @@ 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.other.HdlFileLogic; -import com.hdl.photovoltaic.other.HdlOtaLogic; +import com.hdl.photovoltaic.enums.NetworkType; +import com.hdl.photovoltaic.other.HdlLogLogic; +import com.hdl.photovoltaic.other.HdlMessageLogic; 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 { @@ -59,12 +66,14 @@ @Override public void onCreate() { - super.onCreate(); + + // 鑾峰彇褰撳墠杩涚▼鐨凱ID + Log.d("杩涚▼===", android.os.Process.myPid() + ""); mHDLApp = this; SharedPreUtils.init(this); getAppLanguage(); - initThirdSDK(); + init(); } public void getAppLanguage() { @@ -102,40 +111,49 @@ 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,13 +163,20 @@ 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.zh); } + //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() { @@ -168,20 +193,26 @@ UserConfigManage.getInstance().setLoginDateTime(0); UserConfigManage.getInstance().Save(); - //鏂紑mqtt杩炴帴 - if (MqttRecvClient.getInstance() != null) { - MqttRecvClient.getInstance().stop(); + //娓呯┖娑堟伅缂撳瓨鏁版嵁 + HdlMessageLogic.getInstance().clearListMessage(); + //娓呯┖缂撳瓨鏁版嵁 + 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 +247,112 @@ } } + /** + * 鍒濆鍖栨瀬鍏塖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 = "10.10.35.79";//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