wjc
2025-04-15 cdf49871675e42a5576f725a93eec7ca15294c6f
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;
@@ -22,12 +21,13 @@
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;
@@ -66,32 +66,33 @@
    @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);
//            }
//
//        });
    }
@@ -100,11 +101,36 @@
        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() {
@@ -250,7 +276,7 @@
                    verification_code = viewBinding.registerMailVerificationEt.getText().toString();
                }
                showLoading();
                HdlAccountLogic.getInstance().registerAccount_C(isPhoneType, account, psw, verification_code, new CloudCallBeak<Boolean>() {
                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() {
@@ -259,6 +285,7 @@
                                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() {
@@ -317,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) {
@@ -352,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);
        }
@@ -360,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);
@@ -376,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);
        }
@@ -384,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);
        }
@@ -397,14 +424,14 @@
        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);
            }
        });
        dialog.show();
        dialog.setDialogSize();
    }
    /**
     * 切换手机号或者邮箱的样式
@@ -415,13 +442,13 @@
        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);
@@ -447,12 +474,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_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);
            //隐藏区号
@@ -495,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);
    }