From 44ba605a4e850efa757020da5fb4cf02bdf6e3ab Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 08 九月 2025 10:55:18 +0800
Subject: [PATCH] 2025年09月08日10:55:15
---
app/src/main/java/com/hdl/photovoltaic/ui/account/RegisterAccountActivity.java | 193 +++++++++++++++++++++++++++++++++++------------
1 files changed, 142 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 6e74153..f54a108 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));
+// 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));
+// 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));
+// 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));
+// 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));
+ 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));
+ 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,15 @@
//閭
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_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));
+ 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 +503,7 @@
viewBinding.registerConfirmPswEt.setText(mMailConfirmPsw);
}
- isCompleteEnabled();
+
}
@@ -438,6 +521,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 +555,7 @@
@Override
protected void onDestroy() {
super.onDestroy();
+ Country.destroy();
if (phoneCountDownTimer != null) {
phoneCountDownTimer.cancel();
phoneCountDownTimer = null;
@@ -579,4 +668,6 @@
}
};
+
+
}
\ No newline at end of file
--
Gitblit v1.8.0