From d830fef6a2bc2ab061e6ac2b423c4a49dda3cf21 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期三, 06 十二月 2023 18:08:26 +0800 Subject: [PATCH] 2023年12月06日18:08:20 --- app/src/main/java/com/hdl/photovoltaic/ui/account/RegisterAccountActivity.java | 89 ++++++++++++++++++++++++++++++++++---------- 1 files changed, 69 insertions(+), 20 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..6e30683 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,8 +1,12 @@ 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; @@ -13,6 +17,7 @@ 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; @@ -26,9 +31,17 @@ 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.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; + +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; /** * 娉ㄥ唽璐﹀彿鐣岄潰 @@ -90,7 +103,7 @@ private void initView() { - switchPhoneOrMailView(); + switchPhoneOrEmailStyleView(); } private void initEvent() { @@ -101,35 +114,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 +161,7 @@ @Override public void onClick(View v) { isPhoneType = false; - switchPhoneOrMailView(); + switchPhoneOrEmailStyleView(); } }); @@ -221,7 +245,7 @@ } else { verification_code = viewBinding.registerMailVerificationEt.getText().toString(); } - HdlAccountLogic.getInstance().registerAccount(isPhoneType, account, psw, verification_code, new CloudCallBeak<Boolean>() { + HdlAccountLogic.getInstance().registerAccount_C(isPhoneType, account, psw, verification_code, new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean obj) { HdlThreadLogic.runMainThread(new Runnable() { @@ -250,6 +274,7 @@ } + /** * 鍙戦�侀獙璇佺爜鎸囦护 */ @@ -270,9 +295,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 +310,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) { @@ -308,6 +332,7 @@ } + /** * 鍒濆鍖栨墜鏈哄彿璁℃椂鍣� */ @@ -317,7 +342,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 +350,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 +366,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_25000000, null)); viewBinding.registerMailVerificationTv.setEnabled(false); } @@ -349,26 +374,42 @@ @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_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_phone); viewBinding.registerPhoneTitleIc.accountTitleTv.setTextSize(20); - viewBinding.registerPhoneTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_90000000,null)); + viewBinding.registerPhoneTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_90000000, 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.setTextColor(getResources().getColor(R.color.text_40000000, null)); viewBinding.registerMailTitleIc.lineV.setVisibility(View.GONE); //杈撳叆鎵嬫満鍙� @@ -393,12 +434,12 @@ //閭 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_40000000, 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.setTextColor(getResources().getColor(R.color.text_90000000, null)); viewBinding.registerMailTitleIc.lineV.setVisibility(View.VISIBLE); //杈撳叆閭 viewBinding.registerAccountEt.setInputType(InputType.TYPE_CLASS_TEXT); @@ -421,6 +462,11 @@ } isCompleteEnabled(); + try { + Country.load(this); + } catch (Exception e) { + e.printStackTrace(); + } } @@ -467,6 +513,7 @@ @Override protected void onDestroy() { super.onDestroy(); + Country.destroy(); if (phoneCountDownTimer != null) { phoneCountDownTimer.cancel(); phoneCountDownTimer = null; @@ -579,4 +626,6 @@ } }; + + } \ No newline at end of file -- Gitblit v1.8.0