From f50e8e60e9da99e4f69d8ab76810dc7e5fb448bc Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 02 十二月 2024 10:29:09 +0800
Subject: [PATCH] 2024年12月02日10:29:05

---
 app/src/main/java/com/hdl/photovoltaic/ui/account/RegisterAccountActivity.java |  125 +++++++++++++++++++++++++++++++----------
 1 files changed, 95 insertions(+), 30 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 6da6dac..ad48488 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
@@ -20,6 +20,7 @@
 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.listener.CloudCallBeak;
 import com.hdl.photovoltaic.other.HdlAccountLogic;
@@ -28,8 +29,11 @@
 import com.hdl.photovoltaic.utils.KeyboardStateObserverUtils;
 import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
 import com.hdl.photovoltaic.widget.ConfirmationTipDialog;
-import com.hdl.photovoltaic.widget.ListDialog;
-import com.hdl.sdk.link.common.utils.ThreadToolUtils;
+import com.hdl.photovoltaic.widget.ListStaticDialog;
+import com.sahooz.library.countrypicker.Country;
+import com.sahooz.library.countrypicker.CountryPickerFragment;
+import com.sahooz.library.countrypicker.PickCountryCallback;
+
 
 /**
  * 娉ㄥ唽璐﹀彿鐣岄潰
@@ -61,6 +65,7 @@
 
     @Override
     public void onBindView(Bundle savedInstanceState) {
+       setStatusBarTranslucent();
         //鍒濆鍖�
         initView();
         //鍒濆鍖栫晫闈㈢洃鍚櫒
@@ -91,7 +96,20 @@
 
 
     private void initView() {
-        switchPhoneOrMailView();
+        //鏍规嵁app璇█榛樿鏈嶅姟鍣ㄥ湴鍧�
+        if (UserConfigManage.getInstance().isZh()) {
+            mUrl = "https://china-gateway.hdlcontrol.com";
+            viewBinding.regionTv.setText("HDL China");
+        } else {
+            viewBinding.regionTv.setText("HDL Bahrain");
+            mUrl = "https://bahrain-gateway.hdlcontrol.com";
+        }
+        switchPhoneOrEmailStyleView();
+        try {
+            Country.load(this);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
     }
 
     private void initEvent() {
@@ -102,35 +120,46 @@
                 finish();
             }
         });
+        //鏈嶅姟鍣ㄩ�夋嫨
         viewBinding.registerRegionServerRl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                ListDialog listDialog = new ListDialog(_mActivity);
+                ListStaticDialog listDialog = new ListStaticDialog(_mActivity);
                 listDialog.show();
-                listDialog.setOnHDLChinaOnListener(new ListDialog.onHDLChinaListener() {
+                listDialog.setOnHDLChinaOnListener(new ListStaticDialog.onHDLChinaListener() {
                     @Override
                     public void HDLChina() {
                         mUrl = "https://china-gateway.hdlcontrol.com";
                         viewBinding.regionTv.setText(listDialog.geHDLChinaText());
+                        listDialog.dismiss();
 
                     }
                 });
-                listDialog.setOnHDLBahrainListener(new ListDialog.onHDLBahrainListener() {
+                listDialog.setOnHDLBahrainListener(new ListStaticDialog.onHDLBahrainListener() {
                     @Override
                     public void HDLBahrain() {
                         mUrl = "https://bahrain-gateway.hdlcontrol.com";
                         viewBinding.regionTv.setText(listDialog.getHDLBahrainText());
+                        listDialog.dismiss();
                     }
                 });
             }
         });
+        //鎵嬫満鍖哄彿閫夋嫨
+        viewBinding.registerRegionAccountRl.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                selectArea();
+            }
+        });
+
         //鍒囨崲鎵嬫満鍙�
         viewBinding.registerPhoneTitleIc.underlineCl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
 
                 isPhoneType = true;
-                switchPhoneOrMailView();
+                switchPhoneOrEmailStyleView();
             }
         });
         //鍒囨崲閭
@@ -138,7 +167,7 @@
             @Override
             public void onClick(View v) {
                 isPhoneType = false;
-                switchPhoneOrMailView();
+                switchPhoneOrEmailStyleView();
             }
         });
 
@@ -214,6 +243,9 @@
                 if (!isLocalCheckAccountAndPassword()) {
                     return;
                 }
+                //
+                viewBinding.textErrorTv.setText("");
+
                 String account = viewBinding.registerAccountEt.getText().toString();
                 String psw = viewBinding.registerConfirmPswEt.getText().toString();
                 String verification_code;
@@ -222,14 +254,17 @@
                 } else {
                     verification_code = viewBinding.registerMailVerificationEt.getText().toString();
                 }
-                HdlAccountLogic.getInstance().registerAccount(isPhoneType, account, psw, verification_code, new CloudCallBeak<Boolean>() {
+                showLoading();
+                HdlAccountLogic.getInstance().registerAccount_C(isPhoneType, account, psw, verification_code, 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() {
@@ -243,13 +278,15 @@
 
                     @Override
                     public void onFailure(HDLException e) {
-
+                        hideLoading();
+                        HdlThreadLogic.tipFlashingBox(_mActivity, false, e.getMsg(), e.getCode());
                     }
                 });
             }
         });
 
     }
+
 
     /**
      * 鍙戦�侀獙璇佺爜鎸囦护
@@ -271,9 +308,8 @@
         HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<HDLUserRegionBean>() {
             @Override
             public void onSuccess(HDLUserRegionBean obj) {
-                //鍙戦�佹秷鎭獙璇佺爜
                 HdlThreadLogic.toast(RegisterAccountActivity.this, getString(R.string.home_login_already_exists));
-                HdlLogLogic.print("regionByAccount onSuccess==" + obj);
+                HdlLogLogic.print("鑾峰彇璐﹀彿鍖哄煙淇℃伅--->" + obj, false);
             }
 
             @Override
@@ -287,7 +323,7 @@
                         mUrl = "https://test-gz.hdlcontrol.com";
                     }
                     HDLLinkPMUser.getInstance().setUserRegionUrl(mUrl);
-                    HdlAccountLogic.getInstance().sendVerifyCode(isPhoneType, account, "86", 1, new CloudCallBeak<Boolean>() {
+                    HdlAccountLogic.getInstance().sendVerifyCode(isPhoneType, account, viewBinding.regionAccountNumberTv.getText().toString(), 1, new CloudCallBeak<Boolean>() {
                         @Override
                         public void onSuccess(Boolean obj) {
                             if (isPhoneType) {
@@ -299,15 +335,19 @@
 
                         @Override
                         public void onFailure(HDLException e) {
-
+                            HdlThreadLogic.toast(_mActivity, e);
                         }
                     });
+                } else {
+                    HdlThreadLogic.toast(_mActivity, e);
                 }
+
 
             }
         });
 
     }
+
 
     /**
      * 鍒濆鍖栨墜鏈哄彿璁℃椂鍣�
@@ -318,7 +358,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));
+            viewBinding.registerPhoneVerificationTv.setTextColor(getResources().getColor(R.color.text_25000000, null));
             viewBinding.registerPhoneVerificationTv.setEnabled(false);
 
         }
@@ -326,7 +366,7 @@
         @Override
         public void onFinish() {
             viewBinding.registerPhoneVerificationTv.setText(getString(R.string.home_login_verification_regain));
-            viewBinding.registerPhoneVerificationTv.setTextColor(getResources().getColor(R.color.text_245EC3));
+            viewBinding.registerPhoneVerificationTv.setTextColor(getResources().getColor(R.color.text_245EC3, null));
             viewBinding.registerPhoneVerificationTv.setEnabled(true);
 
 
@@ -342,7 +382,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));
+            viewBinding.registerMailVerificationTv.setTextColor(getResources().getColor(R.color.text_25000000, null));
             viewBinding.registerMailVerificationTv.setEnabled(false);
 
         }
@@ -350,31 +390,50 @@
         @Override
         public void onFinish() {
             viewBinding.registerMailVerificationTv.setText(getString(R.string.home_login_verification_regain));
-            viewBinding.registerMailVerificationTv.setTextColor(getResources().getColor(R.color.text_245EC3));
+            viewBinding.registerMailVerificationTv.setTextColor(getResources().getColor(R.color.text_245EC3, null));
             viewBinding.registerMailVerificationTv.setEnabled(true);
 
         }
     };
 
     /**
+     * 鍥藉鎵嬫満鍙峰尯鍙峰脊绐�
+     */
+    private void selectArea() {
+        CountryPickerFragment dialog = new CountryPickerFragment(this, new PickCountryCallback() {
+            @Override
+            public void onPick(Country country) {
+                if (country.flag != 0)
+                    viewBinding.regionAccountTv.setText(country.name);
+                viewBinding.regionAccountNumberTv.setText("+" + country.code);
+            }
+        });
+        dialog.show();
+        dialog.setDialogSize();
+    }
+
+    /**
      * 鍒囨崲鎵嬫満鍙锋垨鑰呴偖绠辩殑鏍峰紡
      */
-    private void switchPhoneOrMailView() {
+    private void switchPhoneOrEmailStyleView() {
+
+
         if (isPhoneType) {
             //鎵嬫満鍙�
-            viewBinding.registerPhoneTitleIc.accountTitleTv.setText(R.string.home_login_鎵嬫満鍙�);
+            viewBinding.registerPhoneTitleIc.accountTitleTv.setText(R.string.home_login_phone);
             viewBinding.registerPhoneTitleIc.accountTitleTv.setTextSize(20);
-            viewBinding.registerPhoneTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_90000000));
+            viewBinding.registerPhoneTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_E6000000, null));
             viewBinding.registerPhoneTitleIc.lineV.setVisibility(View.VISIBLE);
 
-            viewBinding.registerMailTitleIc.accountTitleTv.setText(R.string.home_login_閭);
+            viewBinding.registerMailTitleIc.accountTitleTv.setText(R.string.home_login_email);
             viewBinding.registerMailTitleIc.accountTitleTv.setTextSize(16);
-            viewBinding.registerMailTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_40000000));
+            viewBinding.registerMailTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_66000000, 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_璇疯緭鍏ユ墜鏈哄彿);
+            viewBinding.registerAccountEt.setHint(R.string.home_login_input_phone);
             //鏄剧ず鎵嬫満鍙烽獙璇佺爜锛岄殣钘忛偖绠遍獙璇佺爜,
             viewBinding.registerPhoneVerificationCodeRl.setVisibility(View.VISIBLE);
             viewBinding.registerMailVerificationCodeRl.setVisibility(View.GONE);
@@ -392,15 +451,18 @@
 
         } else {
             //閭
-            viewBinding.registerPhoneTitleIc.accountTitleTv.setText(R.string.home_login_鎵嬫満鍙�);
+            viewBinding.registerPhoneTitleIc.accountTitleTv.setText(R.string.home_login_phone);
             viewBinding.registerPhoneTitleIc.accountTitleTv.setTextSize(16);
-            viewBinding.registerPhoneTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_40000000));
+            viewBinding.registerPhoneTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_66000000, null));
             viewBinding.registerPhoneTitleIc.lineV.setVisibility(View.GONE);
 
-            viewBinding.registerMailTitleIc.accountTitleTv.setText(R.string.home_login_閭);
+            viewBinding.registerMailTitleIc.accountTitleTv.setText(R.string.home_login_email);
             viewBinding.registerMailTitleIc.accountTitleTv.setTextSize(20);
-            viewBinding.registerMailTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_90000000));
+            viewBinding.registerMailTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_E6000000, 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);
@@ -421,7 +483,7 @@
             viewBinding.registerConfirmPswEt.setText(mMailConfirmPsw);
 
         }
-        isCompleteEnabled();
+
 
     }
 
@@ -468,6 +530,7 @@
     @Override
     protected void onDestroy() {
         super.onDestroy();
+        Country.destroy();
         if (phoneCountDownTimer != null) {
             phoneCountDownTimer.cancel();
             phoneCountDownTimer = null;
@@ -580,4 +643,6 @@
 
         }
     };
+
+
 }
\ No newline at end of file

--
Gitblit v1.8.0