wjc
2 小时以前 4db3692de0001eea35f938c1224181746e72933a
app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java
@@ -21,21 +21,24 @@
import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.config.AppConfigManage;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.enums.Languages;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlCommonLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
import com.hdl.photovoltaic.other.HdlResidenceLogic;
import com.hdl.photovoltaic.other.HdlUniLogic;
import com.hdl.photovoltaic.ui.bean.HouseIdBean;
import com.hdl.photovoltaic.ui.me.WebActivity;
import com.hdl.photovoltaic.uni.HDLUniMP;
import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
import com.hdl.photovoltaic.utils.BadgeUtils;
import com.hdl.photovoltaic.utils.LocalManageUtil;
import com.hdl.photovoltaic.utils.SharedPreUtils;
import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
import com.hdl.sdk.link.HDLLinkLocalSdk;
import com.umeng.commonsdk.UMConfigure;
import java.util.List;
import java.util.Objects;
import cn.jpush.android.api.JPushInterface;
import io.dcloud.common.util.RuningAcitvityUtil;
/**
@@ -50,10 +53,14 @@
    @Override
    public void onBindView(Bundle savedInstanceState) {
        Log.d("StartActivity", "onBindView");
        setStatusBarTranslucent();
        getWindow().setNavigationBarColor(getColor(R.color.text_FF000000));
        BadgeUtils.cancelAllNotifications(_mActivity);
        BadgeUtils.clearBadge(_mActivity);
        //发布审核小米应用市场要求APP第一次启动提前提示《用户协议》和《隐私政策》才允许上线
        final String key = "is_login";
        HDLUniMPSDKManager.isExistsActivity = false;
        boolean isLogin = SharedPreUtils.getBoolean(key);
        if (!isLogin) {
            ConfirmationCancelDialog confirmationCancelDialog = new ConfirmationCancelDialog(this);
@@ -84,53 +91,55 @@
            });
        } else {
            initSdk();
            //初始化服务器域名(用户注册所在服务器域名地址)
            AppConfigManage.setUserRegionUrl(HDLLinkPMUser.getInstance().getUserRegionUrl());
            //判断AccessToken是否null
            if (!TextUtils.isEmpty(HDLLinkPMUser.getInstance().getAccessToken())) {
                if (UserConfigManage.getInstance().isBAccount()) {
                    //2025年03月03日14:45:17 杨涛要求b端账号需要检验权限
                    boolean isAuthorization = SharedPreUtils.getBoolean("isAuthorization");
                    if (isAuthorization) {
            if (!UserConfigManage.getInstance().isNoNetworkFlag()) {
                //初始化服务器域名(用户注册所在服务器域名地址)
                AppConfigManage.setUserRegionUrl(HDLLinkPMUser.getInstance().getUserRegionUrl());
                //判断AccessToken是否null
                if (!TextUtils.isEmpty(HDLLinkPMUser.getInstance().getAccessToken())) {
                    if (UserConfigManage.getInstance().isBAccount()) {
                        //安装商跳转界面
                        Intent intent = new Intent();
                        intent.setClass(StartActivity.this, BPowerStationActivity.class);
                        intent.putExtra("pushData", getIntentExpantData());
                        openActivity(intent);
                    } else {
                        Intent intent = new Intent();
                        intent.setClass(StartActivity.this, LoginActivity.class);
                        openActivity(intent);
                        //C端用户跳转界面
//                showLoading();
                        HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() {
                            @Override
                            public void onSuccess(List<HouseIdBean> obj) {
//                        hideLoading();
                                HdlResidenceLogic.getInstance().setHouseIdList(obj);
                                Intent intent = new Intent();
                                intent.setClass(StartActivity.this, CPowerStationActivity.class);
                                intent.putExtra("pushData", getIntentExpantData());
                                openActivity(intent);
                            }
                            @Override
                            public void onFailure(HDLException e) {
//                        hideLoading();
                                Intent intent = new Intent();
                                intent.setClass(StartActivity.this, CPowerStationActivity.class);
                                openActivity(intent);
                            }
                        });
                    }
                } else {
                    //C端用户跳转界面
//                showLoading();
                    HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() {
                        @Override
                        public void onSuccess(List<HouseIdBean> obj) {
//                        hideLoading();
                            HdlResidenceLogic.getInstance().setHouseIdList(obj);
                            Intent intent = new Intent();
                            intent.setClass(StartActivity.this, CPowerStationActivity.class);
                            openActivity(intent);
                        }
                        @Override
                        public void onFailure(HDLException e) {
//                        hideLoading();
                            Intent intent = new Intent();
                            intent.setClass(StartActivity.this, CPowerStationActivity.class);
                            openActivity(intent);
                        }
                    });
                    Intent intent = new Intent();
                    intent.setClass(StartActivity.this, LoginActivity.class);
                    openActivity(intent);
                }
            } else {
                Intent intent = new Intent();
                intent.setClass(StartActivity.this, LoginActivity.class);
                openActivity(intent);
                //无网模式-跳到小程序设备列表界面
                String path = HDLUniMP.UNI_EVENT_OPEN_NONETWORKDEVICELIST + "?mac=" + UserConfigManage.getInstance().getNoNetworkDeviceMac() + "&password=" + UserConfigManage.getInstance().getNoNetworkPassword() + "&autoVerify=true";
                HdlUniLogic.getInstance().openUniMP(path, null);
            }
        }
    }
    @Override
    public void startActivity(Intent intent) {
@@ -147,6 +156,7 @@
    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.d("StartActivity", "onDestroy");
        overridePendingTransition(0, 0);
    }
@@ -174,7 +184,7 @@
            int startIndex2 = s.lastIndexOf("《");
            int endIndex2 = s.lastIndexOf("》") + 1;
            if (UserConfigManage.getInstance().getCurrentAppLanguage().equals(LocalManageUtil.en)) {
            if (UserConfigManage.getInstance().getCurrentAppLanguage().equals(Languages.en)) {
                s = s.replace("《", "").replace("》", "");
                endIndex1 -= 1;
                startIndex2 -= 2;//移除"《"和"》"总长度发生变化,索引也改变;
@@ -197,9 +207,9 @@
                    public void updateDrawState(@NonNull TextPaint ds) {
                        super.updateDrawState(ds);
                        //设置字体颜色
                        ds.setColor(getResources().getColor(R.color.text_E6FFFFFF, null));
                        // 去掉下划线
                        ds.setUnderlineText(!UserConfigManage.getInstance().isZh());
                        ds.setColor(getResources().getColor(R.color.text_38C494, null));
                        // 去掉下划线(中文保留下划线)
                        ds.setUnderlineText(!UserConfigManage.getInstance().getCurrentAppLanguage().equals(Languages.zh));
                    }
@@ -220,9 +230,9 @@
                    public void updateDrawState(@NonNull TextPaint ds) {
                        super.updateDrawState(ds);
                        //设置字体颜色
                        ds.setColor(getResources().getColor(R.color.text_E6FFFFFF, null));
                        ds.setColor(getResources().getColor(R.color.text_38C494, null));
                        // 去掉下划线
                        ds.setUnderlineText(!UserConfigManage.getInstance().isZh());
                        ds.setUnderlineText(!UserConfigManage.getInstance().getCurrentAppLanguage().equals(Languages.zh));
                    }
@@ -233,7 +243,7 @@
            }
            textView.setText(spannable);
            //中途遇到点击后字体显示高亮,取消高亮
            textView.setHighlightColor(getResources().getColor(R.color.text_66FFFFFF, null));
            textView.setHighlightColor(getResources().getColor(R.color.text_FFACACAC, null));
            //最后设置可点击,必须实现,否则只能显示样式,无法实现点击效果
            textView.setMovementMethod(LinkMovementMethod.getInstance());
        } catch (Exception ignored) {
@@ -250,8 +260,12 @@
            return;
        }
        HDLApp.getInstance().isStartInitThirdSDK = true;
        //初始化友盟SDK
        initUMengSDK();
        //初始化极光推送
        initJPush();
    }
    /**
@@ -262,4 +276,39 @@
        JPushInterface.init(getBaseContext());
    }
    /**
     * 初始化友盟SDK,抓闪退日志
     * 集成教程地址:https://developer.umeng.com/docs/119267/detail/118588
     */
    private void initUMengSDK() {
        UMConfigure.preInit(this, "6801aec0bc47b67d833fd76d", "XenterraSolar");
        //appkey和channl必须保持和预初始化一致!!!
        //deviceType:设备类型,UMConfigure.DEVICE_TYPE_PHONE为手机、UMConfigure.DEVICE_TYPE_BOX为盒子
        //pushSecret:Push推送业务的secret
        UMConfigure.init(this, "6801aec0bc47b67d833fd76d", "XenterraSolar", UMConfigure.DEVICE_TYPE_PHONE, "");
        UMConfigure.setLogEnabled(false);//AppConfigManage.isDebug()
    }
    /**
     * 处理从通知点击带来的数据,这里获取数据,然后透传给主界面做处理
     *
     * @return 返回附加数据
     */
    private String getIntentExpantData() {
        try {
            // 处理从通知点击带来的数据,这里获取数据,然后透传给主界面做处理
            if (getIntent().getExtras() != null) {
                for (String key : getIntent().getExtras().keySet()) {
                    if (key.equals("pushData")) {
                        return Objects.requireNonNull(getIntent().getExtras().get(key)).toString();
                    }
                }
            }
        } catch (Exception e) {
            return "";
        }
        return "";
    }
}