From 6ae9f81d545f44a85c34dea1c11df8b70e3f940f Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 09 四月 2025 10:29:29 +0800
Subject: [PATCH] 2025-04-09 10:29:16 1.1.0

---
 app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java |  340 +++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 213 insertions(+), 127 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
index 0caff88..da61978 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
@@ -4,9 +4,7 @@
 import android.content.Intent;
 import android.os.Bundle;
 import android.text.Editable;
-import android.text.Spannable;
 import android.text.SpannableStringBuilder;
-import android.text.Spanned;
 import android.text.TextPaint;
 import android.text.TextUtils;
 import android.text.TextWatcher;
@@ -14,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.Log;
 import android.view.View;
 import android.widget.TextView;
 
@@ -34,8 +30,6 @@
 import com.hdl.photovoltaic.base.CustomBaseActivity;
 import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.databinding.ActivityHomeLoginBinding;
-import com.hdl.photovoltaic.listener.LinkCallBack;
-import com.hdl.photovoltaic.other.HdlDeviceLogic;
 import com.hdl.photovoltaic.other.HdlResidenceLogic;
 import com.hdl.photovoltaic.ui.account.ChangePassword;
 import com.hdl.photovoltaic.ui.account.RegisterAccountActivity;
@@ -48,12 +42,11 @@
 import com.hdl.photovoltaic.ui.me.WebActivity;
 import com.hdl.photovoltaic.utils.AppManagerUtils;
 import com.hdl.photovoltaic.utils.LocalManageUtil;
+import com.hdl.photovoltaic.utils.SharedPreUtils;
 import com.hdl.photovoltaic.utils.TimeUtils;
 import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
-import com.hdl.photovoltaic.widget.ConfirmationCancelDialog1;
 import com.hdl.photovoltaic.widget.ListDialog;
 import com.hdl.photovoltaic.widget.adapter.ListDialogAdapter;
-import com.hdl.sdk.link.common.exception.HDLLinkException;
 
 import java.util.List;
 
@@ -66,8 +59,6 @@
 
     @Override
     public Object getContentView() {
-
-        setNotificationBarBackgroundColor(CustomColor.blue);
         viewBinding = ActivityHomeLoginBinding.inflate(getLayoutInflater());
         return viewBinding.getRoot();
     }
@@ -75,6 +66,7 @@
     @Override
     public void onBindView(Bundle savedInstanceState) {
         setStatusBarTranslucent();
+        getWindow().setNavigationBarColor(getColor(R.color.text_00000000));
         //鍒濆鍖�
         initView();
         //鍒濆鍖栫晫闈㈢洃鍚櫒
@@ -111,28 +103,77 @@
      * 鍒濆鍖朥I
      */
     private void initView() {
-        viewBinding.homeLoginCheckBCCl.setSelected(UserConfigManage.getInstance().isBAccount());
-        viewBinding.homeLoginPrivacyCheckIv.setSelected(UserConfigManage.getInstance().isAcceiptPolicy());
-        setStringDifferentColors(viewBinding.homeLoginPrivacyTv);
-        if (UserConfigManage.getInstance().getCurrentAppLanguage().equals(LocalManageUtil.zh)) {
-            viewBinding.homeLoginLanguageTv.setText("绠�浣撲腑鏂�");
-        } else {
-            viewBinding.homeLoginLanguageTv.setText("English");
-        }
-        if (UserConfigManage.getInstance().isBAccount()) {
-            viewBinding.homeLoginRegisterTv.setVisibility(View.GONE);
-        } else {
-            viewBinding.homeLoginRegisterTv.setVisibility(View.VISIBLE);
-        }
+        try {
+            viewBinding.homeLoginCheckBCCl.setSelected(UserConfigManage.getInstance().isBAccount());
+            viewBinding.homeLoginPrivacyCheckIv.setSelected(UserConfigManage.getInstance().isAcceiptPolicy());
+            setStringDifferentColors(viewBinding.homeLoginPrivacyTv);
+
+            //娉ㄥ唽鍜屽繕璁板瘑鐮侀渶瑕佸姞涓嬪垝绾�
+            String registerTvStr = viewBinding.homeLoginRegisterTv.getText().toString();
+            String forgetPasswordTvStr = viewBinding.homeLoginForgetPasswordTv.getText().toString();
+            SpannableStringBuilder registerTvStrSpannable = new SpannableStringBuilder(registerTvStr);
+            registerTvStrSpannable.setSpan(new ClickableSpan() {
+                @Override
+                public void onClick(@NonNull View widget) {
+
+                }
+
+                @Override
+                public void updateDrawState(@NonNull TextPaint ds) {
+                    super.updateDrawState(ds);
+                    //璁剧疆瀛椾綋棰滆壊
+                    ds.setColor(getResources().getColor(R.color.text_FFACACAC, null));
+                    // 鍘绘帀涓嬪垝绾�
+                    ds.setUnderlineText(true);
+                }
+
+
+            }, 0, registerTvStr.length(), 0);
+            viewBinding.homeLoginRegisterTv.setText(registerTvStrSpannable);
+
+            SpannableStringBuilder forgetPasswordTvStrSpannable = new SpannableStringBuilder(forgetPasswordTvStr);
+            forgetPasswordTvStrSpannable.setSpan(new ClickableSpan() {
+                @Override
+                public void onClick(@NonNull View widget) {
+
+                }
+
+                @Override
+                public void updateDrawState(@NonNull TextPaint ds) {
+                    super.updateDrawState(ds);
+                    //璁剧疆瀛椾綋棰滆壊
+                    ds.setColor(getResources().getColor(R.color.text_FFACACAC, null));
+                    // 鍘绘帀涓嬪垝绾�
+                    ds.setUnderlineText(true);
+                }
+
+
+            }, 0, forgetPasswordTvStr.length(), 0);
+            viewBinding.homeLoginForgetPasswordTv.setText(forgetPasswordTvStrSpannable);
+
+
+            if (UserConfigManage.getInstance().getCurrentAppLanguage().equals(LocalManageUtil.zh)) {
+                viewBinding.homeLoginLanguageTv.setText("绠�浣撲腑鏂�");
+            } else {
+                viewBinding.homeLoginLanguageTv.setText("English");
+            }
+            if (UserConfigManage.getInstance().isBAccount()) {
+                viewBinding.homeLoginRegisterTv.setVisibility(View.GONE);
+            } else {
+                viewBinding.homeLoginRegisterTv.setVisibility(View.VISIBLE);
+            }
 //        String acc = "18402017839";
 //        String acc = "13375012441";
 //        String acc = "18316672920";
 //        String pws = "123456";
-        //娴嬭瘯鐢�
-        viewBinding.homeLoginAccountEt.setText(UserConfigManage.getInstance().getAccount());
+            //娴嬭瘯鐢�
+            viewBinding.homeLoginAccountEt.setText(UserConfigManage.getInstance().getAccount());
 //        viewBinding.homeLoginPasswordEt.setText(pws);
-        checkClearIconShowOrNot(viewBinding.homeLoginAccountEt.getText().toString());
-        isLoginTextViewEnabled();
+            checkClearIconShowOrNot(viewBinding.homeLoginAccountEt.getText().toString());
+            isLoginTextViewEnabled();
+
+        } catch (Exception ignored) {
+        }
     }
 
     /**
@@ -233,94 +274,11 @@
                 boolean isSelected = UserConfigManage.getInstance().isAcceiptPolicy();
                 if (!isSelected) {
                     //闅愮鍗忚鎻愮ず
-                    getDialog();
+                    getAcceiptPolicyDialog();
                     return;
                 }
-                showLoading(getString(R.string.home_login_be_logging_in));
-                HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<HDLUserRegionBean>() {
-                    @Override
-                    public void onSuccess(HDLUserRegionBean obj) {
-                        //寮�鍙戠幆澧�
-//                        String APP_REGIONURL_TEST = "http://47.114.131.143:27199";
-//                        AppConfigManage.setUserRegionUrl(APP_REGIONURL_TEST);
-                        //鍒濆鍖栨湇鍔″煙鍚�
-                        AppConfigManage.setUserRegionUrl(obj.getRegionUrl());
-                        HDLLinkPMUser.getInstance().setUserRegionUrl(AppConfigManage.getUserRegionUrl());
-                        HdlAccountLogic.getInstance().loginByPassword(account, password, new ILoginCallBack() {
-                            @Override
-                            public void onSuccess(HDLLoginBean obj) {
-                                if (UserConfigManage.getInstance().isBAccount()) {
-                                    restoreButtonStyleToInitializeState();
-                                    //瀹夎鍟嗚烦杞晫闈�
-                                    startActivity(BPowerStationActivity.class);
-                                    hideLoading();
-                                    finish();
-                                } else {
-                                    //C绔渶瑕佸厛鑾峰彇鐢电珯鍒楄〃;
-                                    HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() {
-                                        @Override
-                                        public void onSuccess(List<HouseIdBean> obj) {
-                                            hideLoading();
-                                            HdlResidenceLogic.getInstance().setHouseIdList(obj);
-                                            restoreButtonStyleToInitializeState();
-                                            if (UserConfigManage.getInstance().isBAccount()) {
-                                                //瀹夎鍟嗚烦杞晫闈�
-                                                startActivity(BPowerStationActivity.class);
-                                            } else {
-                                                //C绔敤鎴疯烦杞晫闈�
-                                                startActivity(CPowerStationActivity.class);
-
-                                            }
-                                            finish();
-                                        }
-
-                                        @Override
-                                        public void onFailure(HDLException e) {
-                                            hideLoading();
-                                            restoreButtonStyleToInitializeState();
-                                            if (UserConfigManage.getInstance().isBAccount()) {
-                                                //瀹夎鍟嗚烦杞晫闈�
-                                                startActivity(BPowerStationActivity.class);
-                                            } else {
-                                                //C绔敤鎴疯烦杞晫闈�
-                                                startActivity(CPowerStationActivity.class);
-                                            }
-                                            finish();
-                                        }
-                                    });
-                                }
-                            }
-
-                            @Override
-                            public void onFailure(HDLException e) {
-                                hideLoading();
-                                if (e.getCode() == 10019) {
-                                    //鐢ㄦ埛宸茬粡琚攣瀹氶敊璇爜
-                                    try {
-                                        if (e.getmExtra() != null) {
-                                            if (System.currentTimeMillis() < e.getmExtra().getUnlockTime()) {
-                                                long time = e.getmExtra().getUnlockTime() - System.currentTimeMillis();
-                                                int minute = Integer.parseInt(TimeUtils.getMinuteTime(time));
-                                                HdlThreadLogic.toast(_mActivity, e.getMsg() + getString(R.string.residue) + minute + getString(R.string.minute) + "(" + e.getCode() + ")");
-                                            }
-                                        }
-                                    } catch (Exception ee) {
-                                        HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")");
-                                    }
-
-                                } else {
-                                    HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")");
-                                }
-                            }
-                        });
-                    }
-
-                    @Override
-                    public void onFailure(HDLException e) {
-                        hideLoading();
-                        HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")");
-                    }
-                });
+                //鐧诲綍
+                loginAccount(account, password);
 
 
             }
@@ -357,18 +315,143 @@
     }
 
     /**
+     * 鐧诲綍
+     *
+     * @param account  璐﹀彿
+     * @param password 瀵嗙爜
+     */
+    private void loginAccount(String account, String password) {
+        showLoading(getString(R.string.home_login_be_logging_in));
+        HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<HDLUserRegionBean>() {
+            @Override
+            public void onSuccess(HDLUserRegionBean obj) {
+                //寮�鍙戠幆澧�
+//                String APP_REGIONURL_TEST = "http://47.114.131.143:27197";
+//                 AppConfigManage.setUserRegionUrl(APP_REGIONURL_TEST);
+                //鍒濆鍖栨湇鍔″煙鍚�
+                AppConfigManage.setUserRegionUrl(obj.getRegionUrl());
+                HDLLinkPMUser.getInstance().setUserRegionUrl(AppConfigManage.getUserRegionUrl());
+                HdlAccountLogic.getInstance().loginByPassword(account, password, new ILoginCallBack() {
+                    @Override
+                    public void onSuccess(HDLLoginBean obj) {
+                        if (UserConfigManage.getInstance().isBAccount()) {
+                            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) {
+//                                    SharedPreUtils.putBoolean("isAuthorization", false);
+//                                    hideLoading();
+//                                    HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")");
+//                                }
+//                            });
+
+                        } else {
+                            //C绔渶瑕佸厛鑾峰彇鐢电珯鍒楄〃;
+                            HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() {
+                                @Override
+                                public void onSuccess(List<HouseIdBean> obj) {
+                                    hideLoading();
+                                    HdlResidenceLogic.getInstance().setHouseIdList(obj);
+                                    restoreButtonStyleToInitializeState();
+                                    if (UserConfigManage.getInstance().isBAccount()) {
+                                        //瀹夎鍟嗚烦杞晫闈�
+                                        startActivity(BPowerStationActivity.class);
+                                    } else {
+                                        //C绔敤鎴疯烦杞晫闈�
+                                        startActivity(CPowerStationActivity.class);
+
+                                    }
+                                    finish();
+                                }
+
+                                @Override
+                                public void onFailure(HDLException e) {
+                                    hideLoading();
+                                    restoreButtonStyleToInitializeState();
+                                    if (UserConfigManage.getInstance().isBAccount()) {
+                                        //瀹夎鍟嗚烦杞晫闈�
+                                        startActivity(BPowerStationActivity.class);
+                                    } else {
+                                        //C绔敤鎴疯烦杞晫闈�
+                                        startActivity(CPowerStationActivity.class);
+                                    }
+                                    finish();
+                                }
+                            });
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        hideLoading();
+                        if (e.getCode() == 10019) {
+                            //鐢ㄦ埛宸茬粡琚攣瀹氶敊璇爜
+                            try {
+                                if (e.getmExtra() != null) {
+                                    if (System.currentTimeMillis() < e.getmExtra().getUnlockTime()) {
+                                        long time = e.getmExtra().getUnlockTime() - System.currentTimeMillis();
+                                        int minute = Integer.parseInt(TimeUtils.getMinuteTime(time));
+                                        HdlThreadLogic.toast(_mActivity, e.getMsg() + getString(R.string.residue) + minute + getString(R.string.minute) + "(" + e.getCode() + ")");
+                                    }
+                                }
+                            } catch (Exception ee) {
+                                HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")");
+                            }
+
+                        } else {
+                            HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")");
+                        }
+                    }
+                });
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+                hideLoading();
+                HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")");
+            }
+        });
+
+    }
+
+    /**
      * 鏍¢獙鐧诲綍鎸夐挳鏄惁鍚敤
      */
     private void isLoginTextViewEnabled() {
         String account = viewBinding.homeLoginAccountEt.getText().toString().replace(" ", "");
         String password = viewBinding.homeLoginPasswordEt.getText().toString().replace(" ", "");
         boolean isEnabled = account.length() > 0 && password.length() > 0;
+        if (isEnabled) {
+            viewBinding.homeLoginTv.setTextColor(getColor(R.color.text_FFACACAC));
+        } else {
+            viewBinding.homeLoginTv.setTextColor(getColor(R.color.text_FF5B5B5B));
+        }
         viewBinding.homeLoginTv.setEnabled(isEnabled);
         if (password.length() < 6 || password.length() > 16) {
             return;
         }
         //绗﹀悎瀵嗙爜瑙勫垯鍚庨殣钘忛敊璇彁绀猴紱
-        viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_E1E1E1));
+//        viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_FF5A5A5A));
         viewBinding.homeLoginPasswordTextErrorTv.setText("");
 
     }
@@ -398,19 +481,19 @@
      */
     private boolean isLocalCheckAccountAndPassword(String account, String password) {
         if (TextUtils.isEmpty(account)) {
-            viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_D34545));
+//            viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_D34545));
             viewBinding.homeLoginAccountTextErrorTv.setText(R.string.home_login_error_account_null);
             return false;
         }
         if (TextUtils.isEmpty(password)) {
-            viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_D34545));
+//            viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_D34545));
             viewBinding.homeLoginPasswordTextErrorTv.setText(R.string.home_login_error_password_null);
             return false;
         }
 
 
         if (password.length() < 6 || password.length() > 16) {
-            viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_D34545));
+//            viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_D34545));
             viewBinding.homeLoginPasswordTextErrorTv.setText(R.string.home_login_error_6_16_str);
             return false;
         }
@@ -425,9 +508,9 @@
         HdlThreadLogic.runMainThread(new Runnable() {
             @Override
             public void run() {
-                viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_E1E1E1));
+//                viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_E1E1E1));
                 viewBinding.homeLoginAccountTextErrorTv.setText("");
-                viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_E1E1E1));
+//                viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_E1E1E1));
                 viewBinding.homeLoginPasswordTextErrorTv.setText("");
             }
         }, null, null);
@@ -480,14 +563,14 @@
                     public void updateDrawState(@NonNull TextPaint ds) {
                         super.updateDrawState(ds);
                         //璁剧疆瀛椾綋棰滆壊
-                        ds.setColor(getResources().getColor(R.color.text_245EC3, null));
+                        ds.setColor(getResources().getColor(R.color.text_FFACACAC, null));
                         // 鍘绘帀涓嬪垝绾�
-                        ds.setUnderlineText(false);
+                        ds.setUnderlineText(!UserConfigManage.getInstance().isZh());
                     }
 
 
                 }, startIndex1, endIndex1, 0);
-                spannable.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), startIndex1, endIndex1, 0);
+//                spannable.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), startIndex1, endIndex1, 0);
 
                 spannable.setSpan(new ClickableSpan() {
                     @Override
@@ -503,20 +586,20 @@
                     public void updateDrawState(@NonNull TextPaint ds) {
                         super.updateDrawState(ds);
                         //璁剧疆瀛椾綋棰滆壊
-                        ds.setColor(getResources().getColor(R.color.text_245EC3, null));
+                        ds.setColor(getResources().getColor(R.color.text_FFACACAC, null));
                         // 鍘绘帀涓嬪垝绾�
-                        ds.setUnderlineText(false);
+                        ds.setUnderlineText(!UserConfigManage.getInstance().isZh());
                     }
 
 
                 }, startIndex2, endIndex2, 0);
-                spannable.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), startIndex2, endIndex2, 0);
+//                spannable.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), startIndex2, endIndex2, 0);
 
 
             }
             textView.setText(spannable);
             //涓�旈亣鍒扮偣鍑诲悗瀛椾綋鏄剧ず楂樹寒锛屽彇娑堥珮浜�
-            textView.setHighlightColor(getResources().getColor(R.color.text_00000000, null));
+            textView.setHighlightColor(getResources().getColor(R.color.text_FF5B5B5B, null));
             //鏈�鍚庤缃彲鐐瑰嚮锛屽繀椤诲疄鐜帮紝鍚﹀垯鍙兘鏄剧ず鏍峰紡锛屾棤娉曞疄鐜扮偣鍑绘晥鏋�
             textView.setMovementMethod(LinkMovementMethod.getInstance());
         } catch (Exception ignored) {
@@ -528,7 +611,7 @@
     /**
      * 寮圭獥
      */
-    private void getDialog() {
+    private void getAcceiptPolicyDialog() {
 
         ConfirmationCancelDialog confirmationCancelDialog = new ConfirmationCancelDialog(_mActivity);
         confirmationCancelDialog.show();
@@ -543,6 +626,9 @@
                 UserConfigManage.getInstance().setAcceiptPolicy(true);
                 viewBinding.homeLoginPrivacyCheckIv.setSelected(true);
                 confirmationCancelDialog.dismiss();
+                String account = viewBinding.homeLoginAccountEt.getText().toString().replace(" ", "");
+                String password = viewBinding.homeLoginPasswordEt.getText().toString().replace(" ", "");
+                loginAccount(account, password);
             }
         });
         confirmationCancelDialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() {

--
Gitblit v1.8.0