wjc
2025-01-21 f10cda784bede39a861566850898747c38e6c94f
app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -5,6 +5,8 @@
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;
@@ -24,6 +26,7 @@
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.HdlLogLogic;
import com.hdl.photovoltaic.other.HdlMessageLogic;
import com.hdl.photovoltaic.other.HdlResidenceLogic;
@@ -42,6 +45,7 @@
import org.greenrobot.eventbus.EventBus;
import java.util.HashMap;
import java.util.Locale;
import java.util.Objects;
import cn.jpush.android.api.JPushInterface;
@@ -58,6 +62,12 @@
    private Boolean isLogEnabled = true;
    //三方sdk初始化标识
    private Boolean isInitThirdSDK = false;
    //三方sdk初始化标识
    /**
     * 三方sdk初始化标识
     * 在StartActivity里面初始化三方SDK的标识
     */
    public Boolean isStartInitThirdSDK = false;
    //声明一个当前应用的实例
    private static HDLApp mHDLApp;
    //声明一个公共的信息映射,可当作全局变量使用;
@@ -77,6 +87,8 @@
        mHDLApp = this;
        SharedPreUtils.init(this);
        getAppLanguage();
        //预创建脚本json文件夹
        HdlFileLogic.getInstance().createHdlESLocalJsonDirectory();
        init();
    }
@@ -143,8 +155,8 @@
//        //9.初始化网络工具
//        NetWorkUtil.init(this);
        initAutoSize();
        //初始化极光推送
        initJPush();
//        //初始化极光推送
//        initJPush();
        initHDLLinkPMSdk();
        HDLLinkLocalSdk.getInstance().init(getInstance());
        initSocket();
@@ -156,6 +168,7 @@
        //初始化本地assets文件夹资源文件
//        this.initLocalAssetsData();
    }
@@ -164,12 +177,12 @@
     */
    private void initHDLLinkPMSdk() {
        //1.初始化SDK
        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());
@@ -262,7 +275,6 @@
    private void initJPush() {
        JPushInterface.setDebugMode(true);
        JPushInterface.init(getBaseContext());
    }
    /**
@@ -317,27 +329,20 @@
    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().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());
                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) {
            @Override
            public void onAdaptAfter(Object target, Activity activity) {
                    }
                });
            }
        });
    }
    /**
@@ -363,5 +368,20 @@
        super.attachBaseContext(base);
    }
    /**
     * 支持中英文切换
     */
    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;
        }
    }
}