From 8814f3f0828e6ac652a29cc9de9f971fd55bca5b Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 07 五月 2025 14:54:42 +0800 Subject: [PATCH] 2025年05月07日14:54:39 --- app/src/main/java/com/hdl/photovoltaic/ui/account/RegisterAccountActivity.java | 194 +++++++++++++++++++++++++++++++++++------------ 1 files changed, 143 insertions(+), 51 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 5cc5a34..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 @@ -12,7 +12,6 @@ import android.view.View; import androidx.appcompat.content.res.AppCompatResources; -import androidx.constraintlayout.widget.ConstraintSet; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.linkpm.sdk.user.HDLLinkPMUser; @@ -20,15 +19,22 @@ 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.GPSManagerUtils; import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; import com.hdl.photovoltaic.widget.ConfirmationTipDialog; -import com.hdl.photovoltaic.widget.ListDialog; +import com.hdl.photovoltaic.widget.ListStaticDialog; +import com.sahooz.library.countrypicker.Country; +import com.sahooz.library.countrypicker.CountryPickerFragment; +import com.sahooz.library.countrypicker.PickCountryCallback; + /** * 娉ㄥ唽璐﹀彿鐣岄潰 @@ -60,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() { - switchPhoneOrMailView(); + //鏍规嵁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() { @@ -101,35 +141,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(); } }); //鍒囨崲閭 @@ -137,7 +188,7 @@ @Override public void onClick(View v) { isPhoneType = false; - switchPhoneOrMailView(); + switchPhoneOrEmailStyleView(); } }); @@ -213,6 +264,9 @@ if (!isLocalCheckAccountAndPassword()) { return; } + // + viewBinding.textErrorTv.setText(""); + String account = viewBinding.registerAccountEt.getText().toString(); String psw = viewBinding.registerConfirmPswEt.getText().toString(); String verification_code; @@ -221,14 +275,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, 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() { @@ -242,13 +299,15 @@ @Override public void onFailure(HDLException e) { - + hideLoading(); + HdlThreadLogic.tipFlashingBox(_mActivity, false, e.getMsg(), e.getCode()); } }); } }); } + /** * 鍙戦�侀獙璇佺爜鎸囦护 @@ -270,9 +329,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 @@ -286,7 +344,7 @@ mUrl = "https://test-gz.hdlcontrol.com"; } HDLLinkPMUser.getInstance().setUserRegionUrl(mUrl); - HdlAccountLogic.getInstance().sendVerifyCode(isPhoneType, account, "86", 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) { @@ -298,15 +356,19 @@ @Override public void onFailure(HDLException e) { - + HdlThreadLogic.toast(_mActivity, e); } }); + } else { + HdlThreadLogic.toast(_mActivity, e); } + } }); } + /** * 鍒濆鍖栨墜鏈哄彿璁℃椂鍣� @@ -317,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); } @@ -325,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); @@ -341,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); } @@ -349,28 +411,47 @@ @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); } }; /** + * 鍥藉鎵嬫満鍙峰尯鍙峰脊绐� + */ + private void selectArea() { + CountryPickerFragment dialog = new CountryPickerFragment(this, new PickCountryCallback() { + @Override + public void onPick(Country country) { + if (country.flag != 0) viewBinding.regionAccountTv.setText(country.translate); + 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_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); @@ -393,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); @@ -420,7 +504,7 @@ viewBinding.registerConfirmPswEt.setText(mMailConfirmPsw); } - isCompleteEnabled(); + } @@ -438,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); } @@ -467,6 +556,7 @@ @Override protected void onDestroy() { super.onDestroy(); + Country.destroy(); if (phoneCountDownTimer != null) { phoneCountDownTimer.cancel(); phoneCountDownTimer = null; @@ -579,4 +669,6 @@ } }; + + } \ No newline at end of file -- Gitblit v1.8.0