mac
2024-06-12 fde174d256d4dced8bef6c439ec87cd888ad140b
app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -1,28 +1,33 @@
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.SystemClock;
import android.text.TextUtils;
import android.util.Log;
import androidx.multidex.MultiDex;
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.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;
@@ -32,7 +37,6 @@
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;
@@ -41,6 +45,10 @@
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 {
@@ -54,6 +62,7 @@
    //声明一个公共的信息映射,可当作全局变量使用;
    public HashMap<String, String> mInfoMap = new HashMap<>();
    //利用单例模式获取当前应用的唯一实例
    public static HDLApp getInstance() {
        return mHDLApp;
@@ -62,12 +71,12 @@
    @Override
    public void onCreate() {
        super.onCreate();
        // 获取当前进程的PID
        Log.d("进程===", android.os.Process.myPid() + "");
        mHDLApp = this;
        SharedPreUtils.init(this);
        getAppLanguage();
        initThirdSDK();
//        appLocationInfo();
        init();
    }
    public void getAppLanguage() {
@@ -112,7 +121,7 @@
    /**
     * 初始化三方相关SDK
     */
    public void initThirdSDK() {
    public void init() {
        // 小程序进程
        if (RuningAcitvityUtil.getAppName(getBaseContext()).contains(":")) {
            return;
@@ -132,6 +141,7 @@
//        TypeUtils.compatibleWithFieldName = true;
//        //9.初始化网络工具
//        NetWorkUtil.init(this);
        initAutoSize();
        //初始化极光推送
        initJPush();
        initHDLLinkPMSdk();
@@ -143,7 +153,7 @@
        //监听网络状态变化
        this.networkMonitoring();
        //初始化本地assets文件夹资源文件
        this.initLocalAssetsData();
//        this.initLocalAssetsData();
    }
@@ -188,24 +198,28 @@
                //清空消息缓存数据
                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();
//                }
                //断开所有tcp连接且清空连接缓存
                // 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);
                }
@@ -294,6 +308,35 @@
    }
    /**
     * 蓝湖上 修改宽度 640dp 宽度按照dp、sp来适配
     * 旋转后高变宽,按旋转后高度适配,所以宽度不写死
     */
    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) {
                    }
                });
    }
    /**
     * 初始化uni app mqtt
@@ -311,4 +354,12 @@
            HdlLogLogic.print("测试Mqtt连接服务端失败--->");
        }
    }
    @Override
    protected void attachBaseContext(Context base) {
        MultiDex.install(base);
        super.attachBaseContext(base);
    }
}