From 80f2ca2df62ff1cd03046864af504245be078eb2 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 05 六月 2025 10:37:28 +0800
Subject: [PATCH] 2025年06月05日10:37:26

---
 app/src/main/java/com/hdl/photovoltaic/ui/account/RegisterAccountActivity.java |  159 +++++++++++++++++++++++++++++++++-------------------
 1 files changed, 101 insertions(+), 58 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/account/RegisterAccountActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/account/RegisterAccountActivity.java
index 6e30683..7b24c8e 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/account/RegisterAccountActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/account/RegisterAccountActivity.java
@@ -1,12 +1,8 @@
 package com.hdl.photovoltaic.ui.account;
 
 
-import android.Manifest;
-import android.content.Context;
-import android.content.pm.PackageManager;
 import android.os.Bundle;
 import android.os.CountDownTimer;
-import android.telephony.TelephonyManager;
 import android.text.Editable;
 import android.text.InputType;
 import android.text.TextUtils;
@@ -16,8 +12,6 @@
 import android.view.View;
 
 import androidx.appcompat.content.res.AppCompatResources;
-import androidx.constraintlayout.widget.ConstraintSet;
-import androidx.core.content.ContextCompat;
 
 import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
@@ -25,13 +19,15 @@
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
 import com.hdl.photovoltaic.config.AppConfigManage;
+import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.databinding.ActivityRegisterAccountBinding;
+import com.hdl.photovoltaic.enums.VerifyType;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
 import com.hdl.photovoltaic.other.HdlAccountLogic;
+import com.hdl.photovoltaic.other.HdlCommonLogic;
 import com.hdl.photovoltaic.other.HdlLogLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
-import com.hdl.photovoltaic.utils.KeyboardStateObserverUtils;
-import com.hdl.photovoltaic.utils.LocalManageUtil;
+import com.hdl.photovoltaic.utils.GPSManagerUtils;
 import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
 import com.hdl.photovoltaic.widget.ConfirmationTipDialog;
 import com.hdl.photovoltaic.widget.ListStaticDialog;
@@ -39,9 +35,6 @@
 import com.sahooz.library.countrypicker.CountryPickerFragment;
 import com.sahooz.library.countrypicker.PickCountryCallback;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
 
 /**
  * 娉ㄥ唽璐﹀彿鐣岄潰
@@ -73,37 +66,71 @@
 
     @Override
     public void onBindView(Bundle savedInstanceState) {
+        setStatusBarTranslucent();
+        getWindow().setNavigationBarColor(getColor(R.color.text_00000000));
         //鍒濆鍖�
         initView();
         //鍒濆鍖栫晫闈㈢洃鍚櫒
         initEvent();
-        KeyboardStateObserverUtils.getKeyboardStateObserver(_mActivity).setKeyboardVisibilityListener(new KeyboardStateObserverUtils.OnKeyboardVisibilityListener() {
-            @Override
-            public void onKeyboardShow(int h) {
-                ConstraintSet cs = new ConstraintSet();
-                cs.clone(viewBinding.parentCl);
-                cs.connect(viewBinding.registerConfirmPswEt.getId(), ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM, px2dip(h))
-                ;//
-                //搴旂敤绾︽潫
-                cs.applyTo(viewBinding.parentCl);
-            }
-
-            @Override
-
-            public void onKeyboardHide(int h) {
-                ConstraintSet cs = new ConstraintSet();
-                cs.clone(viewBinding.parentCl);
-                cs.connect(viewBinding.registerConfirmPswEt.getId(), ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM, px2dip(h));//
-                //搴旂敤绾︽潫
-                cs.applyTo(viewBinding.parentCl);
-            }
-
-        });
+//        KeyboardStateObserverUtils.getKeyboardStateObserver(_mActivity).setKeyboardVisibilityListener(new KeyboardStateObserverUtils.OnKeyboardVisibilityListener() {
+//            @Override
+//            public void onKeyboardShow(int h) {
+//                ConstraintSet cs = new ConstraintSet();
+//                cs.clone(viewBinding.parentCl);
+//                cs.connect(viewBinding.registerConfirmPswEt.getId(), ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM, px2dip(h));//
+//                //搴旂敤绾︽潫
+//                cs.applyTo(viewBinding.parentCl);
+//            }
+//
+//            @Override
+//
+//            public void onKeyboardHide(int h) {
+//                ConstraintSet cs = new ConstraintSet();
+//                cs.clone(viewBinding.parentCl);
+//                cs.connect(viewBinding.registerConfirmPswEt.getId(), ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM, px2dip(h));//
+//                //搴旂敤绾︽潫
+//                cs.applyTo(viewBinding.parentCl);
+//            }
+//
+//        });
     }
 
 
     private void initView() {
+        //鏍规嵁app璇█榛樿鏈嶅姟鍣ㄥ湴鍧�
+        if (UserConfigManage.getInstance().isZh()) {
+            mUrl = "https://china-gateway.hdlcontrol.com";
+            viewBinding.regionTv.setText("HDL China");
+            viewBinding.regionAccountTv.setText(getText(R.string.home_chinese_mainland));
+            viewBinding.regionAccountNumberTv.setText("+86");
+        } else {
+            viewBinding.regionTv.setText("HDL Bahrain");
+            mUrl = "https://bahrain-gateway.hdlcontrol.com";
+            viewBinding.regionAccountTv.setText(getText(R.string.iraq));
+            viewBinding.regionAccountNumberTv.setText("+964");
+        }
         switchPhoneOrEmailStyleView();
+        try {
+            Country.load(this);
+            Country country = null;
+            if (TextUtils.isEmpty(GPSManagerUtils.getInstance().getCountryCode(this))) {
+                //鍐嶆牴鎹郴缁熻瑷�
+                country = Country.getCountryInfo();
+            } else {
+                //鍏堟牴鎹畾浣�
+                country = Country.getLocationCountryInfo(GPSManagerUtils.getInstance().getCountryCode(this));
+            }
+            if (country != null) {
+                viewBinding.regionAccountTv.setText(country.translate);
+                viewBinding.regionAccountNumberTv.setText("+" + country.code);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        HdlCommonLogic.getInstance().setSpan(viewBinding.registerPhoneVerificationTv, viewBinding.registerPhoneVerificationTv.getText().toString(), true, null);
+        HdlCommonLogic.getInstance().setSpan(viewBinding.registerMailVerificationTv, viewBinding.registerMailVerificationTv.getText().toString(), true, null);
+
+
     }
 
     private void initEvent() {
@@ -237,6 +264,9 @@
                 if (!isLocalCheckAccountAndPassword()) {
                     return;
                 }
+                //
+                viewBinding.textErrorTv.setText("");
+
                 String account = viewBinding.registerAccountEt.getText().toString();
                 String psw = viewBinding.registerConfirmPswEt.getText().toString();
                 String verification_code;
@@ -245,14 +275,17 @@
                 } else {
                     verification_code = viewBinding.registerMailVerificationEt.getText().toString();
                 }
-                HdlAccountLogic.getInstance().registerAccount_C(isPhoneType, account, psw, verification_code, new CloudCallBeak<Boolean>() {
+                showLoading();
+                HdlAccountLogic.getInstance().registerAccount_C(isPhoneType, account, psw, verification_code, viewBinding.regionAccountNumberTv.getText().toString(), new CloudCallBeak<Boolean>() {
                     @Override
                     public void onSuccess(Boolean obj) {
                         HdlThreadLogic.runMainThread(new Runnable() {
                             @Override
                             public void run() {
+                                hideLoading();
                                 ConfirmationTipDialog dialog = new ConfirmationTipDialog(_mActivity);
                                 dialog.show();
+                                dialog.setTitle(getString(R.string.home_account_registered_successfully));
                                 dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
                                     @Override
                                     public void Confirm() {
@@ -266,7 +299,8 @@
 
                     @Override
                     public void onFailure(HDLException e) {
-
+                        hideLoading();
+                        HdlThreadLogic.tipFlashingBox(_mActivity, false, e.getMsg(), e.getCode());
                     }
                 });
             }
@@ -296,7 +330,7 @@
             @Override
             public void onSuccess(HDLUserRegionBean obj) {
                 HdlThreadLogic.toast(RegisterAccountActivity.this, getString(R.string.home_login_already_exists));
-                HdlLogLogic.print("鑾峰彇璐﹀彿鍖哄煙淇℃伅===" + obj, false);
+                HdlLogLogic.print("鑾峰彇璐﹀彿鍖哄煙淇℃伅--->" + obj, false);
             }
 
             @Override
@@ -310,7 +344,7 @@
                         mUrl = "https://test-gz.hdlcontrol.com";
                     }
                     HDLLinkPMUser.getInstance().setUserRegionUrl(mUrl);
-                    HdlAccountLogic.getInstance().sendVerifyCode(isPhoneType, account, viewBinding.regionAccountNumberTv.getText().toString(), 1, new CloudCallBeak<Boolean>() {
+                    HdlAccountLogic.getInstance().sendVerifyCode_C(isPhoneType, account, viewBinding.regionAccountNumberTv.getText().toString(), VerifyType.VerifyType_1, new CloudCallBeak<Boolean>() {
                         @Override
                         public void onSuccess(Boolean obj) {
                             if (isPhoneType) {
@@ -322,10 +356,13 @@
 
                         @Override
                         public void onFailure(HDLException e) {
-
+                            HdlThreadLogic.toast(_mActivity, e);
                         }
                     });
+                } else {
+                    HdlThreadLogic.toast(_mActivity, e);
                 }
+
 
             }
         });
@@ -342,7 +379,7 @@
             long time = (millisUntilFinished / 1000);
             String str = time + "s" + getString(R.string.home_login_psw_verification_repeater);
             viewBinding.registerPhoneVerificationTv.setText(str);
-            viewBinding.registerPhoneVerificationTv.setTextColor(getResources().getColor(R.color.text_25000000, null));
+//            viewBinding.registerPhoneVerificationTv.setTextColor(getResources().getColor(R.color.text_25000000, null));
             viewBinding.registerPhoneVerificationTv.setEnabled(false);
 
         }
@@ -350,7 +387,7 @@
         @Override
         public void onFinish() {
             viewBinding.registerPhoneVerificationTv.setText(getString(R.string.home_login_verification_regain));
-            viewBinding.registerPhoneVerificationTv.setTextColor(getResources().getColor(R.color.text_245EC3, null));
+//            viewBinding.registerPhoneVerificationTv.setTextColor(getResources().getColor(R.color.text_245EC3, null));
             viewBinding.registerPhoneVerificationTv.setEnabled(true);
 
 
@@ -366,7 +403,7 @@
             String str = time + "s" + getString(R.string.home_login_psw_verification_repeater);
 
             viewBinding.registerMailVerificationTv.setText(str);
-            viewBinding.registerMailVerificationTv.setTextColor(getResources().getColor(R.color.text_25000000, null));
+//            viewBinding.registerMailVerificationTv.setTextColor(getResources().getColor(R.color.text_FFACACAC, null));
             viewBinding.registerMailVerificationTv.setEnabled(false);
 
         }
@@ -374,7 +411,7 @@
         @Override
         public void onFinish() {
             viewBinding.registerMailVerificationTv.setText(getString(R.string.home_login_verification_regain));
-            viewBinding.registerMailVerificationTv.setTextColor(getResources().getColor(R.color.text_245EC3, null));
+//            viewBinding.registerMailVerificationTv.setTextColor(getResources().getColor(R.color.text_FFACACAC, null));
             viewBinding.registerMailVerificationTv.setEnabled(true);
 
         }
@@ -387,8 +424,7 @@
         CountryPickerFragment dialog = new CountryPickerFragment(this, new PickCountryCallback() {
             @Override
             public void onPick(Country country) {
-                if (country.flag != 0)
-                    viewBinding.regionAccountTv.setText(country.name);
+                if (country.flag != 0) viewBinding.regionAccountTv.setText(country.translate);
                 viewBinding.regionAccountNumberTv.setText("+" + country.code);
             }
         });
@@ -396,22 +432,26 @@
         dialog.setDialogSize();
     }
 
+
     /**
      * 鍒囨崲鎵嬫満鍙锋垨鑰呴偖绠辩殑鏍峰紡
      */
     private void switchPhoneOrEmailStyleView() {
+
+
         if (isPhoneType) {
             //鎵嬫満鍙�
             viewBinding.registerPhoneTitleIc.accountTitleTv.setText(R.string.home_login_phone);
-            viewBinding.registerPhoneTitleIc.accountTitleTv.setTextSize(20);
-            viewBinding.registerPhoneTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_90000000, null));
+            viewBinding.registerPhoneTitleIc.accountTitleTv.setTextSize(18);
+            viewBinding.registerPhoneTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_FFACACAC, null));
             viewBinding.registerPhoneTitleIc.lineV.setVisibility(View.VISIBLE);
 
             viewBinding.registerMailTitleIc.accountTitleTv.setText(R.string.home_login_email);
-            viewBinding.registerMailTitleIc.accountTitleTv.setTextSize(16);
-            viewBinding.registerMailTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_40000000, null));
+            viewBinding.registerMailTitleIc.accountTitleTv.setTextSize(14);
+            viewBinding.registerMailTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B, null));
             viewBinding.registerMailTitleIc.lineV.setVisibility(View.GONE);
-
+            //鏄剧ず鍖哄彿
+            viewBinding.registerRegionAccountRl.setVisibility(View.VISIBLE);
             //杈撳叆鎵嬫満鍙�
             viewBinding.registerAccountEt.setInputType(InputType.TYPE_CLASS_NUMBER);
             viewBinding.registerAccountEt.setHint(R.string.home_login_input_phone);
@@ -434,13 +474,16 @@
             //閭
             viewBinding.registerPhoneTitleIc.accountTitleTv.setText(R.string.home_login_phone);
             viewBinding.registerPhoneTitleIc.accountTitleTv.setTextSize(16);
-            viewBinding.registerPhoneTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_40000000, null));
+            viewBinding.registerPhoneTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B, null));
             viewBinding.registerPhoneTitleIc.lineV.setVisibility(View.GONE);
 
             viewBinding.registerMailTitleIc.accountTitleTv.setText(R.string.home_login_email);
-            viewBinding.registerMailTitleIc.accountTitleTv.setTextSize(20);
-            viewBinding.registerMailTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_90000000, null));
+            viewBinding.registerMailTitleIc.accountTitleTv.setTextSize(18);
+            viewBinding.registerMailTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_FFACACAC, null));
             viewBinding.registerMailTitleIc.lineV.setVisibility(View.VISIBLE);
+
+            //闅愯棌鍖哄彿
+            viewBinding.registerRegionAccountRl.setVisibility(View.GONE);
             //杈撳叆閭
             viewBinding.registerAccountEt.setInputType(InputType.TYPE_CLASS_TEXT);
             viewBinding.registerAccountEt.setHint(R.string.home_login_input_mail);
@@ -461,12 +504,7 @@
             viewBinding.registerConfirmPswEt.setText(mMailConfirmPsw);
 
         }
-        isCompleteEnabled();
-        try {
-            Country.load(this);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
+
 
     }
 
@@ -484,6 +522,11 @@
             verification_code = viewBinding.registerMailVerificationEt.getText().toString();
         }
         boolean isEnabled = account.length() > 0 && psw1.length() > 0 && psw2.length() > 0 && verification_code.length() > 0;
+        if (isEnabled) {
+            viewBinding.registerCompleteTv.setTextColor(getColor(R.color.text_FFACACAC));
+        } else {
+            viewBinding.registerCompleteTv.setTextColor(getColor(R.color.text_FF5B5B5B));
+        }
         viewBinding.registerCompleteTv.setEnabled(isEnabled);
     }
 

--
Gitblit v1.8.0