mac
2024-01-02 d1ebb94e1a17b7c25d4fcf73d85345d92cc86b5c
app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -1,29 +1,35 @@
package com.hdl.photovoltaic;
import android.Manifest;
import android.app.Application;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.ServiceConnection;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.os.IBinder;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import androidx.annotation.NonNull;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
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.other.HdlLogLogic;
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.other.HdlThreadLogic;
import com.hdl.photovoltaic.ui.HomeLoginActivity;
import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
import com.hdl.photovoltaic.utils.AppManagerUtils;
import com.hdl.photovoltaic.utils.LocalManageUtil;
import com.hdl.photovoltaic.utils.PermissionUtils;
import com.hdl.photovoltaic.utils.SharedPreUtils;
import com.hdl.sdk.link.HDLLinkLocalSdk;
import com.hdl.sdk.link.core.config.HDLLinkConfig;
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;
@@ -32,12 +38,12 @@
import java.util.Locale;
import java.util.Objects;
import cn.jpush.android.api.JPushInterface;
import io.dcloud.common.util.RuningAcitvityUtil;
import io.dcloud.feature.sdk.DCSDKInitConfig;
import io.dcloud.feature.sdk.DCUniMPSDK;
import io.dcloud.feature.sdk.Interface.IDCUniMPPreInitCallback;
import okhttp3.logging.HttpLoggingInterceptor;
public class HDLApp extends Application {
    //控制打印 Debug模式打印
    private Boolean isLogEnabled = true;
    //三方sdk初始化标识
@@ -57,7 +63,22 @@
        super.onCreate();
        mHDLApp = this;
        SharedPreUtils.init(this);
        getAppLanguage();
        initThirdSDK();
    }
    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")) {
                UserConfigManage.getInstance().setCurrentAppLanguage(LocalManageUtil.zh);
            } else {
                UserConfigManage.getInstance().setCurrentAppLanguage(LocalManageUtil.en);
            }
        }
    }
    public void setInfoMap(String key, String value) {
@@ -107,10 +128,14 @@
//        //9.初始化网络工具
//        NetWorkUtil.init(this);
//        //10.初始化极光推送
//        initJPush();
        initJPush();
        initHDLLinkPMSdk();
        HDLLinkLocalSdk.getInstance().init(getInstance());
        initSocket();
        //4.初始化OKHttpLog 是否开启
        setOKHttpLogOpen(isLogEnabled);
    }
    /**
@@ -137,6 +162,20 @@
                //收到登录处理通知,关闭所有页面并打开登录页面
                AppManagerUtils.getAppManager().finishAllActivity();
                HDLSDKSPUtils.clear();
                //重新登陆,默认同意隐私政策
                UserConfigManage.getInstance().setAcceiptPolicy(true);
                //重新设定一个时间
                UserConfigManage.getInstance().setLoginDateTime(0);
                UserConfigManage.getInstance().Save();
                //断开mqtt连接
                if (MqttRecvClient.getInstance() != null) {
                    MqttRecvClient.getInstance().stop();
                }
                //断开所有tcp连接且清空连接缓存
                // TODO: 10/10/23
//                TcpSocketBoot.stopAllConnectLinkGateway();
//                    if(null!=HDLUniMPSDKManager.getInstance().getUniMP()){
//                        LogUtils.d("asdfasdfasdfsdf我被删除啦");
//                        HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP();
@@ -148,9 +187,7 @@
                    intent.putExtra("isJpush", true);
                }
                startActivity(intent);
                if (MqttRecvClient.getInstance() != null) {
                    MqttRecvClient.getInstance().stop();
                }
            }
        });
@@ -169,6 +206,23 @@
        HDLUdpConnect.getInstance().initUdp();
    }
    /**
     * 初始化OKHttpLog
     */
    private void setOKHttpLogOpen(Boolean isOpen) {
        if (isOpen) {
            HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor();
            httpLoggingInterceptor.level(HttpLoggingInterceptor.Level.BODY);
            HxHttpConfig.getInstance().addInterceptor(httpLoggingInterceptor);
        }
    }
    private void initJPush() {
        JPushInterface.setDebugMode(true);
        JPushInterface.init(getBaseContext());
    }
//    /**
//     * 初始化uni app mqtt
//     */
@@ -182,4 +236,5 @@
//        }
//    }
}