From bfc932a6348457a022269ea993117c41cc051fe5 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期五, 29 八月 2025 17:47:35 +0800
Subject: [PATCH] 2025年08月29日17:47:33
---
app/src/main/java/com/hdl/photovoltaic/ui/account/ChangePassword.java | 414 ++++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 282 insertions(+), 132 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/account/ChangePassword.java b/app/src/main/java/com/hdl/photovoltaic/ui/account/ChangePassword.java
index b60bbd8..91c829d 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/account/ChangePassword.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/account/ChangePassword.java
@@ -1,6 +1,6 @@
package com.hdl.photovoltaic.ui.account;
-import android.app.AppComponentFactory;
+
import android.os.Bundle;
import android.os.CountDownTimer;
import android.text.Editable;
@@ -11,7 +11,7 @@
import android.text.method.PasswordTransformationMethod;
import android.view.View;
-import androidx.appcompat.app.AppCompatActivity;
+
import androidx.appcompat.content.res.AppCompatResources;
import com.hdl.linkpm.sdk.core.exception.HDLException;
@@ -20,15 +20,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.ActivityChangePasswordBinding;
+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.HdlThreadLogic;
+import com.hdl.photovoltaic.utils.GPSManagerUtils;
import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
import com.hdl.photovoltaic.widget.ConfirmationTipDialog;
+import com.sahooz.library.countrypicker.Country;
+import com.sahooz.library.countrypicker.CountryPickerFragment;
+import com.sahooz.library.countrypicker.PickCountryCallback;
/**
- * 淇敼璐﹀彿鐣岄潰
+ * 蹇樿瀵嗙爜鐣岄潰
*/
public class ChangePassword extends CustomBaseActivity {
ActivityChangePasswordBinding viewBinding;
@@ -53,6 +60,8 @@
@Override
public void onBindView(Bundle savedInstanceState) {
+ setStatusBarTranslucent();
+ getWindow().setNavigationBarColor(getColor(R.color.text_00000000));
//鍒濆鍖�
initView();
//鍒濆鍖栫晫闈㈢洃鍚櫒
@@ -63,8 +72,35 @@
* 鍒濆鍖栫晫闈�
*/
private void initView() {
+ if (UserConfigManage.getInstance().isZh()) {
+ viewBinding.regionAccountTv.setText(getText(R.string.home_chinese_mainland));
+ viewBinding.regionAccountNumberTv.setText("+86");
+ } else {
+ viewBinding.regionAccountTv.setText(getText(R.string.iraq));
+ viewBinding.regionAccountNumberTv.setText("+964");
+ }
switchPhoneOrMailView();
+ 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.changePhoneVerificationTv, viewBinding.changePhoneVerificationTv.getText().toString(), true, null);
+ HdlCommonLogic.getInstance().setSpan(viewBinding.changeMailVerificationTv, viewBinding.changeMailVerificationTv.getText().toString(), true, null);
}
+
/**
* 璁剧疆鐩戝惉浜嬩欢
@@ -96,23 +132,16 @@
}
});
- //杈撳叆鎵嬫満鍙锋垨鑰呴偖绠�
- viewBinding.changeAccountEt.addTextChangedListener(new TextWatcher() {
+ //閫夋嫨鎵嬫満鍖哄彿鐨�
+ viewBinding.regionAccountRl.setOnClickListener(new View.OnClickListener() {
@Override
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {
-
- }
-
- @Override
- public void onTextChanged(CharSequence s, int start, int before, int count) {
- isCompleteEnabled();
- }
-
- @Override
- public void afterTextChanged(Editable s) {
-
+ public void onClick(View v) {
+ selectArea();
}
});
+
+ //杈撳叆鎵嬫満鍙锋垨鑰呴偖绠�
+ viewBinding.changeAccountEt.addTextChangedListener(accountTextWatcher);
//鎵嬫満鍙疯幏鍙栭獙璇佺爜
viewBinding.changePhoneVerificationTv.setOnClickListener(new View.OnClickListener() {
@Override
@@ -122,22 +151,7 @@
}
});
//杈撳叆鎵嬫満楠岃瘉鐮�
- viewBinding.changePhoneVerificationEt.addTextChangedListener(new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {
-
- }
-
- @Override
- public void onTextChanged(CharSequence s, int start, int before, int count) {
- isCompleteEnabled();
- }
-
- @Override
- public void afterTextChanged(Editable s) {
-
- }
- });
+ viewBinding.changePhoneVerificationEt.addTextChangedListener(phoneVerificationTextWatcher);
//閭鑾峰彇楠岃瘉鐮�
viewBinding.changeMailVerificationTv.setOnClickListener(new View.OnClickListener() {
@Override
@@ -147,39 +161,9 @@
}
});
//杈撳叆閭楠岃瘉鐮�
- viewBinding.changeMailVerificationEt.addTextChangedListener(new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {
-
- }
-
- @Override
- public void onTextChanged(CharSequence s, int start, int before, int count) {
- isCompleteEnabled();
- }
-
- @Override
- public void afterTextChanged(Editable s) {
-
- }
- });
+ viewBinding.changeMailVerificationEt.addTextChangedListener(MailVerificationTextWatcher);
//杈撳叆瀵嗙爜
- viewBinding.changePswEt.addTextChangedListener(new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {
-
- }
-
- @Override
- public void onTextChanged(CharSequence s, int start, int before, int count) {
- isCompleteEnabled();
- }
-
- @Override
- public void afterTextChanged(Editable s) {
-
- }
- });
+ viewBinding.changePswEt.addTextChangedListener(changePswTextWatcher);
//瀵嗙爜鏄剧ず鎴栬�呴殣钘�
viewBinding.changePswHideIv.setOnClickListener(new View.OnClickListener() {
@Override
@@ -201,22 +185,7 @@
}
});
//杈撳叆纭瀵嗙爜
- viewBinding.changeConfirmPswEt.addTextChangedListener(new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {
-
- }
-
- @Override
- public void onTextChanged(CharSequence s, int start, int before, int count) {
- isCompleteEnabled();
- }
-
- @Override
- public void afterTextChanged(Editable s) {
-
- }
- });
+ viewBinding.changeConfirmPswEt.addTextChangedListener(changeConfirmPswTextWatcher);
//纭瀵嗙爜鏄剧ず鎴栬�呴殣钘�
viewBinding.changeConfirmPswHideIv.setOnClickListener(new View.OnClickListener() {
@Override
@@ -251,33 +220,75 @@
} else {
verification_code = viewBinding.changeMailVerificationEt.getText().toString();
}
- HdlAccountLogic.getInstance().changePassword(isPhoneType, account, psw, verification_code, new CloudCallBeak<Boolean>() {
- @Override
- public void onSuccess(Boolean obj) {
- HdlThreadLogic.runMainThread(new Runnable() {
- @Override
- public void run() {
- ConfirmationTipDialog dialog = new ConfirmationTipDialog(_mActivity);
- dialog.show();
- dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
- @Override
- public void Confirm() {
- finish();
- }
- });
- }
- }, null, null);
+ if (UserConfigManage.getInstance().isBAccount()) {
+ HdlAccountLogic.getInstance().changePassword_B(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() {
+ ConfirmationTipDialog dialog = new ConfirmationTipDialog(_mActivity);
+ dialog.show();
+ dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
+ @Override
+ public void Confirm() {
+ finish();
+ }
+ });
+ }
+ }, null, null);
- }
+ }
- @Override
- public void onFailure(HDLException e) {
+ @Override
+ public void onFailure(HDLException e) {
+ HdlThreadLogic.toast(_mActivity, e);
+ }
+ });
+ } else {
+ HdlAccountLogic.getInstance().changePassword_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() {
+ ConfirmationTipDialog dialog = new ConfirmationTipDialog(_mActivity);
+ dialog.show();
+ dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
+ @Override
+ public void Confirm() {
+ finish();
+ }
+ });
+ }
+ }, null, null);
- }
- });
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ HdlThreadLogic.toast(_mActivity, e);
+ }
+ });
+ }
}
});
+ }
+
+ /**
+ * 鍥藉鎵嬫満鍙峰尯鍙峰脊绐�
+ */
+ 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();
}
/**
@@ -294,31 +305,57 @@
}
return;
}
+ //鑾峰彇璐﹀彿鍖哄煙淇℃伅
HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<HDLUserRegionBean>() {
+ //鍙戦�佹秷鎭獙璇佺爜
@Override
public void onSuccess(HDLUserRegionBean obj) {
+ //璁剧疆璐﹀彿鎵�鍦ㄥ尯鍩熷崗璁強鍦板潃
AppConfigManage.setUserRegionUrl(obj.getRegionUrl());
HDLLinkPMUser.getInstance().setUserRegionUrl(AppConfigManage.getUserRegionUrl());
- HdlAccountLogic.getInstance().sendVerifyCode(isPhoneType, account, "86", 2, new CloudCallBeak<Boolean>() {
- @Override
- public void onSuccess(Boolean obj) {
- if (isPhoneType) {
- phoneCountDownTimer.start();
- } else {
- mailCountDownTimer.start();
+
+
+ if (UserConfigManage.getInstance().isBAccount()) {
+ //B绔彂閫佽幏鍙栭獙璇佺爜
+ HdlAccountLogic.getInstance().sendVerifyCode_B(isPhoneType, account, viewBinding.regionAccountNumberTv.getText().toString(), VerifyType.VerifyType_FIND_PASSWORD, new CloudCallBeak<Boolean>() {
+ @Override
+ public void onSuccess(Boolean obj) {
+ if (isPhoneType) {
+ phoneCountDownTimer.start();
+ } else {
+ mailCountDownTimer.start();
+ }
}
- }
- @Override
- public void onFailure(HDLException e) {
+ @Override
+ public void onFailure(HDLException e) {
+ HdlThreadLogic.toast(_mActivity, e);
+ }
+ });
+ } else {
+ //C绔彂閫佽幏鍙栭獙璇佺爜
+ HdlAccountLogic.getInstance().sendVerifyCode_C(isPhoneType, account, viewBinding.regionAccountNumberTv.getText().toString(), VerifyType.VerifyType_2, new CloudCallBeak<Boolean>() {
+ @Override
+ public void onSuccess(Boolean obj) {
+ if (isPhoneType) {
+ phoneCountDownTimer.start();
+ } else {
+ mailCountDownTimer.start();
+ }
+ }
- }
- });
+ @Override
+ public void onFailure(HDLException e) {
+ HdlThreadLogic.toast(_mActivity, e);
+ }
+ });
+ }
}
@Override
public void onFailure(HDLException e) {
- hideLoading();
+ HdlThreadLogic.toast(_mActivity, e);
+// hideLoading();
}
});
}
@@ -332,7 +369,7 @@
long time = (millisUntilFinished / 1000);
String str = time + "s" + getString(R.string.home_login_psw_verification_repeater);
viewBinding.changePhoneVerificationTv.setText(str);
- viewBinding.changePhoneVerificationTv.setTextColor(getResources().getColor(R.color.text_25000000));
+// viewBinding.changePhoneVerificationTv.setTextColor(getResources().getColor(R.color.text_FFACACAC));
viewBinding.changePhoneVerificationTv.setEnabled(false);
}
@@ -340,7 +377,7 @@
@Override
public void onFinish() {
viewBinding.changePhoneVerificationTv.setText(getString(R.string.home_login_verification_regain));
- viewBinding.changePhoneVerificationTv.setTextColor(getResources().getColor(R.color.text_245EC3));
+// viewBinding.changePhoneVerificationTv.setTextColor(getResources().getColor(R.color.text_FFACACAC));
viewBinding.changePhoneVerificationTv.setEnabled(true);
@@ -356,7 +393,7 @@
String str = time + "s" + getString(R.string.home_login_psw_verification_repeater);
viewBinding.changeMailVerificationTv.setText(str);
- viewBinding.changeMailVerificationTv.setTextColor(getResources().getColor(R.color.text_25000000));
+// viewBinding.changeMailVerificationTv.setTextColor(getResources().getColor(R.color.text_FFACACAC));
viewBinding.changeMailVerificationTv.setEnabled(false);
}
@@ -364,7 +401,7 @@
@Override
public void onFinish() {
viewBinding.changeMailVerificationTv.setText(getString(R.string.home_login_verification_regain));
- viewBinding.changeMailVerificationTv.setTextColor(getResources().getColor(R.color.text_245EC3));
+// viewBinding.changeMailVerificationTv.setTextColor(getResources().getColor(R.color.text_FFACACAC));
viewBinding.changeMailVerificationTv.setEnabled(true);
}
@@ -376,19 +413,21 @@
private void switchPhoneOrMailView() {
if (isPhoneType) {
//鎵嬫満鍙�
- viewBinding.changePhoneIc.accountTitleTv.setText(R.string.home_login_鎵嬫満鍙�);
- viewBinding.changePhoneIc.accountTitleTv.setTextSize(20);
- viewBinding.changePhoneIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_90000000));
+ viewBinding.changePhoneIc.accountTitleTv.setText(R.string.home_login_phone);
+ viewBinding.changePhoneIc.accountTitleTv.setTextSize(18);
+ viewBinding.changePhoneIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_FFACACAC));
viewBinding.changePhoneIc.lineV.setVisibility(View.VISIBLE);
- viewBinding.changeMailRl.accountTitleTv.setText(R.string.home_login_閭);
- viewBinding.changeMailRl.accountTitleTv.setTextSize(16);
- viewBinding.changeMailRl.accountTitleTv.setTextColor(getResources().getColor(R.color.text_40000000));
+ viewBinding.changeMailRl.accountTitleTv.setText(R.string.home_login_email);
+ viewBinding.changeMailRl.accountTitleTv.setTextSize(14);
+ viewBinding.changeMailRl.accountTitleTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B));
viewBinding.changeMailRl.lineV.setVisibility(View.GONE);
+
+ viewBinding.regionAccountRl.setVisibility(View.VISIBLE);
//杈撳叆鎵嬫満鍙�
viewBinding.changeAccountEt.setInputType(InputType.TYPE_CLASS_NUMBER);
- viewBinding.changeAccountEt.setHint(R.string.home_login_璇疯緭鍏ユ墜鏈哄彿);
+ viewBinding.changeAccountEt.setHint(R.string.home_login_input_phone);
//鏄剧ず鎵嬫満鍙烽獙璇佺爜锛岄殣钘忛偖绠遍獙璇佺爜,
viewBinding.changePhoneVerificationCodeRl.setVisibility(View.VISIBLE);
viewBinding.changeMailVerificationCodeRl.setVisibility(View.GONE);
@@ -406,15 +445,17 @@
} else {
//閭
- viewBinding.changePhoneIc.accountTitleTv.setText(R.string.home_login_鎵嬫満鍙�);
- viewBinding.changePhoneIc.accountTitleTv.setTextSize(16);
- viewBinding.changePhoneIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_40000000));
+ viewBinding.changePhoneIc.accountTitleTv.setText(R.string.home_login_phone);
+ viewBinding.changePhoneIc.accountTitleTv.setTextSize(14);
+ viewBinding.changePhoneIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_FF5B5B5B));
viewBinding.changePhoneIc.lineV.setVisibility(View.GONE);
- viewBinding.changeMailRl.accountTitleTv.setText(R.string.home_login_閭);
- viewBinding.changeMailRl.accountTitleTv.setTextSize(20);
- viewBinding.changeMailRl.accountTitleTv.setTextColor(getResources().getColor(R.color.text_90000000));
+ viewBinding.changeMailRl.accountTitleTv.setText(R.string.home_login_email);
+ viewBinding.changeMailRl.accountTitleTv.setTextSize(18);
+ viewBinding.changeMailRl.accountTitleTv.setTextColor(getResources().getColor(R.color.text_FFACACAC));
viewBinding.changeMailRl.lineV.setVisibility(View.VISIBLE);
+
+ viewBinding.regionAccountRl.setVisibility(View.GONE);
//杈撳叆閭
viewBinding.changeAccountEt.setInputType(InputType.TYPE_CLASS_TEXT);
viewBinding.changeAccountEt.setHint(R.string.home_login_input_mail);
@@ -453,6 +494,11 @@
verification_code = viewBinding.changeMailVerificationEt.getText().toString();
}
boolean isEnabled = account.length() > 0 && psw1.length() > 0 && psw2.length() > 0 && verification_code.length() > 0;
+ if (isEnabled) {
+ viewBinding.confirmTv.setTextColor(getColor(R.color.text_FFACACAC));
+ } else {
+ viewBinding.confirmTv.setTextColor(getColor(R.color.text_FF5B5B5B));
+ }
viewBinding.confirmTv.setEnabled(isEnabled);
}
@@ -490,5 +536,109 @@
mailCountDownTimer.cancel();
mailCountDownTimer = null;
}
+ viewBinding.changeAccountEt.removeTextChangedListener(accountTextWatcher);
+ viewBinding.changePhoneVerificationEt.removeTextChangedListener(phoneVerificationTextWatcher);
+ viewBinding.changeMailVerificationEt.removeTextChangedListener(MailVerificationTextWatcher);
+ viewBinding.changePswEt.removeTextChangedListener(changePswTextWatcher);
+ viewBinding.changeConfirmPswEt.removeTextChangedListener(changeConfirmPswTextWatcher);
}
+
+
+ /**
+ * 杈撳叆鎵嬫満鍙锋垨鑰呴偖绠�
+ */
+ private final TextWatcher accountTextWatcher = new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ isCompleteEnabled();
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ };
+ /**
+ * 杈撳叆鎵嬫満楠岃瘉鐮�
+ */
+ private final TextWatcher phoneVerificationTextWatcher = new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ isCompleteEnabled();
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ };
+
+ /**
+ * 閭鑾峰彇楠岃瘉鐮�
+ */
+ private final TextWatcher MailVerificationTextWatcher = new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ isCompleteEnabled();
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ };
+
+ /**
+ * 杈撳叆瀵嗙爜
+ */
+ private final TextWatcher changePswTextWatcher = new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ isCompleteEnabled();
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ };
+ /**
+ * 杈撳叆纭瀵嗙爜
+ */
+ private final TextWatcher changeConfirmPswTextWatcher = new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ isCompleteEnabled();
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ };
}
\ No newline at end of file
--
Gitblit v1.8.0