From cdf49871675e42a5576f725a93eec7ca15294c6f Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期二, 15 四月 2025 17:22:34 +0800 Subject: [PATCH] Merge branch '1.5.2' --- app/src/main/java/com/hdl/photovoltaic/HDLApp.java | 151 +++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 124 insertions(+), 27 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java index 078e64a..b4ba57d 100644 --- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java +++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java @@ -1,28 +1,37 @@ package com.hdl.photovoltaic; +import android.app.Activity; import android.app.Application; +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; +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.core.exception.HDLException; -import com.hdl.linkpm.sdk.home.type.HomeType; 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.bean.MqttInfo; 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.listener.CloudCallBeak; +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.HdlMqttLogic; +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; @@ -37,10 +46,15 @@ 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 { @@ -49,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() { @@ -62,20 +83,24 @@ @Override public void onCreate() { super.onCreate(); - + // 鑾峰彇褰撳墠杩涚▼鐨凱ID + Log.d("杩涚▼===", android.os.Process.myPid() + ""); mHDLApp = this; SharedPreUtils.init(this); getAppLanguage(); - initThirdSDK(); -// appLocationInfo(); + //棰勫垱寤鸿剼鏈琷son鏂囦欢澶� + HdlFileLogic.getInstance().createHdlESLocalJsonDirectory(); + init(); + + } 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); @@ -112,7 +137,7 @@ /** * 鍒濆鍖栦笁鏂圭浉鍏砈DK */ - public void initThirdSDK() { + public void init() { // 灏忕▼搴忚繘绋� if (RuningAcitvityUtil.getAppName(getBaseContext()).contains(":")) { return; @@ -132,8 +157,9 @@ // TypeUtils.compatibleWithFieldName = true; // //9.鍒濆鍖栫綉缁滃伐鍏� // NetWorkUtil.init(this); - //鍒濆鍖栨瀬鍏夋帹閫� - initJPush(); + initAutoSize(); +// //鍒濆鍖栨瀬鍏夋帹閫� +// initJPush(); initHDLLinkPMSdk(); HDLLinkLocalSdk.getInstance().init(getInstance()); initSocket(); @@ -145,6 +171,7 @@ //鍒濆鍖栨湰鍦癮ssets鏂囦欢澶硅祫婧愭枃浠� // this.initLocalAssetsData(); + } @@ -153,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()); @@ -175,36 +203,42 @@ 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(); if (null != HDLUniMPSDKManager.getInstance().getUniMP()) { HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP(); } + SystemClock.sleep(200); initDCUniMPSDK(); - Intent intent = new Intent(getInstance(), HomeLoginActivity.class); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + 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); } @@ -245,7 +279,6 @@ private void initJPush() { JPushInterface.setDebugMode(true); JPushInterface.init(getBaseContext()); - } /** @@ -293,13 +326,36 @@ } + /** + * 钃濇箹涓� 淇敼瀹藉害 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); + String ip = "192.168.1.100";//NetworkUtils.getIPAddress(this); if (TextUtils.isEmpty(ip)) { return; } @@ -310,4 +366,45 @@ HdlLogLogic.print("娴嬭瘯Mqtt杩炴帴鏈嶅姟绔け璐�--->"); } } + + + @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