wjc
2025-04-30 f91ef956cf482ed4ce0885dc47794b783c20c415
app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
@@ -2,11 +2,7 @@
import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.os.LocaleList;
import android.text.Editable;
import android.text.SpannableStringBuilder;
import android.text.TextPaint;
@@ -16,8 +12,6 @@
import android.text.method.LinkMovementMethod;
import android.text.method.PasswordTransformationMethod;
import android.text.style.ClickableSpan;
import android.text.style.StyleSpan;
import android.util.DisplayMetrics;
import android.view.View;
import android.widget.TextView;
@@ -34,10 +28,9 @@
import com.hdl.photovoltaic.HDLApp;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.databinding.ActivityHomeLoginBinding;
import com.hdl.photovoltaic.other.HdlCommonLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
import com.hdl.photovoltaic.other.HdlResidenceLogic;
import com.hdl.photovoltaic.ui.account.ChangePassword;
import com.hdl.photovoltaic.ui.account.RegisterAccountActivity;
@@ -48,6 +41,7 @@
import com.hdl.photovoltaic.other.HdlAccountLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.ui.me.WebActivity;
import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
import com.hdl.photovoltaic.utils.AppManagerUtils;
import com.hdl.photovoltaic.utils.LocalManageUtil;
import com.hdl.photovoltaic.utils.SharedPreUtils;
@@ -57,7 +51,6 @@
import com.hdl.photovoltaic.widget.adapter.ListDialogAdapter;
import java.util.List;
import java.util.Locale;
/**
 * 登录的界面
@@ -115,7 +108,7 @@
        try {
            viewBinding.homeLoginCheckBCCl.setSelected(UserConfigManage.getInstance().isBAccount());
            viewBinding.homeLoginPrivacyCheckIv.setSelected(UserConfigManage.getInstance().isAcceiptPolicy());
            setStringDifferentColors(viewBinding.homeLoginPrivacyTv);
            setStringDifferentColors(viewBinding.homeLoginPrivacyTv, false);
            //注册和忘记密码需要加下划线
            String registerTvStr = viewBinding.homeLoginRegisterTv.getText().toString();
@@ -131,7 +124,7 @@
                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_FFACACAC, null));
                    // 去掉下划线
                    ds.setUnderlineText(true);
                }
@@ -151,7 +144,7 @@
                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_FFACACAC, null));
                    // 去掉下划线
                    ds.setUnderlineText(true);
                }
@@ -180,14 +173,6 @@
//        viewBinding.homeLoginPasswordEt.setText(pws);
            checkClearIconShowOrNot(viewBinding.homeLoginAccountEt.getText().toString());
            isLoginTextViewEnabled();
            if (UserConfigManage.getInstance().isBAccount()) {
                boolean is_Authorization = SharedPreUtils.getBoolean("isAuthorization");
                if (!is_Authorization) {
                    //2025年03月03日14:45:17 杨涛要求b端账号需要检验权限
                    HdlThreadLogic.toast(_mActivity, getString(R.string.forbidden_login));
                }
            }
        } catch (Exception ignored) {
        }
    }
@@ -280,7 +265,7 @@
        viewBinding.homeLoginTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                HDLUniMPSDKManager.isExistsActivity=false;
                String account = viewBinding.homeLoginAccountEt.getText().toString().replace(" ", "");
                String password = viewBinding.homeLoginPasswordEt.getText().toString().replace(" ", "");
                boolean is_login = isLocalCheckAccountAndPassword(account, password);
@@ -341,6 +326,7 @@
        HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<HDLUserRegionBean>() {
            @Override
            public void onSuccess(HDLUserRegionBean obj) {
                HdlLogLogic.print("账号登录成功---" + account, true);
                //开发环境
//                String APP_REGIONURL_TEST = "http://47.114.131.143:27197";
//                 AppConfigManage.setUserRegionUrl(APP_REGIONURL_TEST);
@@ -351,30 +337,34 @@
                    @Override
                    public void onSuccess(HDLLoginBean obj) {
                        if (UserConfigManage.getInstance().isBAccount()) {
                            HdlAccountLogic.getInstance().getCompanyParterMenu_B(new CloudCallBeak<Boolean>() {
                                @Override
                                public void onSuccess(Boolean isBoolean) {
                                    SharedPreUtils.putBoolean("isAuthorization", isBoolean);
                                    if (isBoolean) {
                                        //2025年03月03日14:45:17 杨涛要求b端账号需要检验权限
                                        restoreButtonStyleToInitializeState();
                                        //安装商跳转界面
                                        startActivity(BPowerStationActivity.class);
                                        hideLoading();
                                        finish();
                                    } else {
                                        hideLoading();
                                        HdlThreadLogic.toast(_mActivity, getString(R.string.forbidden_login));
                                    }
                                }
                                @Override
                                public void onFailure(HDLException e) {
                                    SharedPreUtils.putBoolean("isAuthorization", false);
                                    hideLoading();
                                    HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")");
                                }
                            });
                            restoreButtonStyleToInitializeState();
                            //安装商跳转界面
                            startActivity(BPowerStationActivity.class);
                            hideLoading();
                            finish();
                            //云端还没有匹配平台好,先隐藏校验账号功能 2025年03月24日15:16:37
//                            HdlAccountLogic.getInstance().getCompanyParterMenu_B(new CloudCallBeak<Boolean>() {
//                                @Override
//                                public void onSuccess(Boolean isBoolean) {
//                                    if (isBoolean) {
//                                        //2025年03月03日14:45:17 杨涛要求b端账号需要检验权限
//                                        restoreButtonStyleToInitializeState();
//                                        //安装商跳转界面
//                                        startActivity(BPowerStationActivity.class);
//                                        hideLoading();
//                                        finish();
//                                    } else {
//                                        hideLoading();
//                                        HdlThreadLogic.toast(_mActivity, getString(R.string.forbidden_login));
//                                    }
//                                }
//
//                                @Override
//                                public void onFailure(HDLException e) {
//                                    hideLoading();
//                                    HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")");
//                                }
//                            });
                        } else {
                            //C端需要先获取电站列表;
@@ -453,9 +443,9 @@
        String password = viewBinding.homeLoginPasswordEt.getText().toString().replace(" ", "");
        boolean isEnabled = account.length() > 0 && password.length() > 0;
        if (isEnabled) {
            viewBinding.homeLoginTv.setTextColor(getColor(R.color.text_E6FFFFFF));
            viewBinding.homeLoginTv.setTextColor(getColor(R.color.text_FFACACAC));
        } else {
            viewBinding.homeLoginTv.setTextColor(getColor(R.color.text_66FFFFFF));
            viewBinding.homeLoginTv.setTextColor(getColor(R.color.text_FF5B5B5B));
        }
        viewBinding.homeLoginTv.setEnabled(isEnabled);
        if (password.length() < 6 || password.length() > 16) {
@@ -530,12 +520,13 @@
    /**
     * 设置一串字符多种颜色以及点击事件
     *
     * @param textView 当前组件
     * @param textView    当前组件
     * @param isHighlight 是否高亮(true表示高亮)
     */
    private void setStringDifferentColors(TextView textView) {
    private void setStringDifferentColors(TextView textView, boolean isHighlight) {
        try {
            int text_color = isHighlight ? R.color.text_38C494 : R.color.text_FFACACAC;
            if (textView == null) {
                return;
            }
@@ -573,10 +564,11 @@
                    @Override
                    public void updateDrawState(@NonNull TextPaint ds) {
                        super.updateDrawState(ds);
                        //设置字体颜色
                        ds.setColor(getResources().getColor(R.color.text_E6FFFFFF, null));
                        ds.setColor(getResources().getColor(text_color, null));
                        // 去掉下划线
                        ds.setUnderlineText(true);
                        ds.setUnderlineText(!UserConfigManage.getInstance().isZh());
                    }
@@ -597,11 +589,10 @@
                    public void updateDrawState(@NonNull TextPaint ds) {
                        super.updateDrawState(ds);
                        //设置字体颜色
                        ds.setColor(getResources().getColor(R.color.text_E6FFFFFF, null));
                        ds.setColor(getResources().getColor(text_color, null));
                        // 去掉下划线
                        ds.setUnderlineText(true);
                        ds.setUnderlineText(!UserConfigManage.getInstance().isZh());
                    }
                }, startIndex2, endIndex2, 0);
//                spannable.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), startIndex2, endIndex2, 0);
@@ -610,7 +601,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) {
@@ -628,7 +619,7 @@
        confirmationCancelDialog.show();
        confirmationCancelDialog.isHideTitle(true);
        confirmationCancelDialog.setContent(getString(R.string.loading_privacy_server));
        setStringDifferentColors(confirmationCancelDialog.getContentTextView());
        setStringDifferentColors(confirmationCancelDialog.getContentTextView(), true);
        confirmationCancelDialog.setConfirmation(getString(R.string.loading_agree));
        confirmationCancelDialog.setCancel(getString(R.string.loading_on_agree));
        confirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {