From 8bfe046de7987990e1bff2755c2963e14ebc54c1 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期一, 23 十月 2023 17:39:19 +0800 Subject: [PATCH] 2023年10月23日17:39:07 --- app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java | 190 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 157 insertions(+), 33 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java index bec2e0b..7a7a26d 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java @@ -1,8 +1,8 @@ package com.hdl.photovoltaic.ui.me; -import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.content.res.AppCompatResources; +import android.graphics.drawable.Drawable; import android.os.Bundle; import android.text.Editable; import android.text.TextUtils; @@ -13,11 +13,20 @@ import android.widget.EditText; import android.widget.ImageView; +import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.BaseActivity; +import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.ActivityMeChangePasswordBinding; +import com.hdl.photovoltaic.listener.CloudCallBeak; +import com.hdl.photovoltaic.other.HdlAccountLogic; +import com.hdl.photovoltaic.other.HdlThreadLogic; +import com.hdl.photovoltaic.widget.FlashingBoxDialog; -public class MeChangePasswordActivity extends BaseActivity implements View.OnClickListener { +/** + * 鎴戠殑-淇敼瀵嗙爜-鐣岄潰 + */ +public class MeChangePasswordActivity extends BaseActivity { private ActivityMeChangePasswordBinding viewBinding; @@ -33,19 +42,114 @@ initView(); //鍒濆鍖栫晫闈㈢洃鍚櫒 initEvent(); + } /** * 鍒濆鍖栫晫闈㈢洃鍚櫒 */ private void initEvent() { - viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(this); - viewBinding.meChangePasswordOldIc.mePswEt.addTextChangedListener(textWatcher1); - viewBinding.meChangePasswordOldIc.mePswHideIv.setOnClickListener(this); - viewBinding.meChangePasswordNewIc.mePswEt.addTextChangedListener(textWatcher2); - viewBinding.meChangePasswordNewIc.mePswHideIv.setOnClickListener(this); - viewBinding.meChangePasswordAffirmIc.mePswEt.addTextChangedListener(textWatcher3); - viewBinding.meChangePasswordAffirmIc.mePswHideIv.setOnClickListener(this); + viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + //鍘熷瘑鐮佽緭鍏ユ + viewBinding.meChangePasswordOldIc.mePswEt.addTextChangedListener(oldPswTextWatcher); + //鏄剧ず鍘熷瘑鐮佸浘鏍� + viewBinding.meChangePasswordOldIc.mePswHideIv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + setEditTextStyle(viewBinding.meChangePasswordOldIc.mePswEt, viewBinding.meChangePasswordOldIc.mePswHideIv); + } + }); + //鏂板瘑鐮佽緭鍏ユ + viewBinding.meChangePasswordNewIc.mePswEt.addTextChangedListener(newPswTextWatcher); + //鏄剧ず鏂板瘑鐮佸浘鏍� + viewBinding.meChangePasswordNewIc.mePswHideIv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + setEditTextStyle(viewBinding.meChangePasswordNewIc.mePswEt, viewBinding.meChangePasswordNewIc.mePswHideIv); + } + }); + //鍐嶆杈撳叆鏂板瘑鐮佽緭鍏ユ + viewBinding.meChangePasswordAffirmIc.mePswEt.addTextChangedListener(confirmPswTextWatcher); + //鏄剧ず鍐嶆杈撳叆鏂板瘑鐮佸浘鏍� + viewBinding.meChangePasswordAffirmIc.mePswHideIv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + setEditTextStyle(viewBinding.meChangePasswordAffirmIc.mePswEt, viewBinding.meChangePasswordAffirmIc.mePswHideIv); + } + }); + //纭淇敼 + viewBinding.homeAffirmTv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + sendChangePassword(); + } + }); + } + + /** + * 鍙戦�佹洿鏀逛釜浜哄瘑鐮佹寚浠� + */ + private void sendChangePassword() { + String oldPsw = viewBinding.meChangePasswordOldIc.mePswEt.getText().toString().replaceAll(" +", ""); + String newPsw = viewBinding.meChangePasswordNewIc.mePswEt.getText().toString().replaceAll(" +", ""); + String affirmPsw = viewBinding.meChangePasswordAffirmIc.mePswEt.getText().toString().replaceAll(" +", ""); + if (!isEditTextPassword(newPsw, affirmPsw)) { + tipFlashingBox(AppCompatResources.getDrawable(_mActivity, R.drawable.tip_fail), getString(R.string.home_login_input_unlike_psw), -1); + return; + } + if (UserConfigManage.getInstance().isBAccount()) { + //B绔洿鏀逛釜浜哄瘑鐮� + HdlAccountLogic.getInstance().updateBPassword(oldPsw, newPsw, new CloudCallBeak<String>() { + @Override + public void onSuccess(String str) { + tipFlashingBox(AppCompatResources.getDrawable(_mActivity, R.drawable.tip_succeed), getString(R.string.home_login_pws_reset_succeeded), 0); + } + + @Override + public void onFailure(HDLException e) { + tipFlashingBox(AppCompatResources.getDrawable(_mActivity, R.drawable.tip_fail), e.getMsg(), e.getCode()); + } + }); + } else { + //C绔洿鏀逛釜浜哄瘑鐮� + HdlAccountLogic.getInstance().updateCPassword(oldPsw, newPsw, new CloudCallBeak<String>() { + @Override + public void onSuccess(String obj) { + tipFlashingBox(AppCompatResources.getDrawable(_mActivity, R.drawable.tip_succeed), getString(R.string.home_login_pws_reset_succeeded), 0); + } + + @Override + public void onFailure(HDLException e) { + tipFlashingBox(AppCompatResources.getDrawable(_mActivity, R.drawable.tip_fail), e.getMsg(), e.getCode()); + } + }); + + } + } + + + /** + * 鎻愮ず妗� + * + * @param drawable 鍥炬爣 + * @param msg 淇℃伅 + * @param code 鐘舵�� + */ + private void tipFlashingBox(Drawable drawable, String msg, int code) { + HdlThreadLogic.runMainThread(new Runnable() { + @Override + public void run() { + FlashingBoxDialog flashingBoxDialog = new FlashingBoxDialog(_mActivity); + flashingBoxDialog.setImage(drawable); + flashingBoxDialog.setContent(msg + "\r\n(" + code + ")"); + flashingBoxDialog.show(); + } + }, null, null); } /** @@ -58,25 +162,40 @@ viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setVisibility(View.VISIBLE); viewBinding.meChangePasswordOldIc.mePswTitleTv.setText(R.string.home_login_old_pws); viewBinding.meChangePasswordOldIc.mePswEt.setHint(R.string.home_login_input_old_pws); + viewBinding.meChangePasswordOldIc.lineV.setVisibility(View.GONE); viewBinding.meChangePasswordNewIc.mePswTitleTv.setText(R.string.home_login_new_pws); viewBinding.meChangePasswordNewIc.mePswEt.setHint(R.string.home_login_input_new_pws); + viewBinding.meChangePasswordNewIc.lineV.setVisibility(View.GONE); viewBinding.meChangePasswordAffirmIc.mePswTitleTv.setText(R.string.home_login_affirm_psw); viewBinding.meChangePasswordAffirmIc.mePswEt.setHint(R.string.home_login_input_affirm_psw); + viewBinding.meChangePasswordAffirmIc.lineV.setVisibility(View.GONE); } - @Override - public void onClick(View v) { - if (v.getId() == viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.getId()) { - finish(); - } else if (v.getId() == viewBinding.meChangePasswordOldIc.mePswHideIv.getId()) { - setEditTextStyle(viewBinding.meChangePasswordOldIc.mePswEt, viewBinding.meChangePasswordOldIc.mePswHideIv); - } else if (v.getId() == viewBinding.meChangePasswordNewIc.mePswHideIv.getId()) { - setEditTextStyle(viewBinding.meChangePasswordNewIc.mePswEt, viewBinding.meChangePasswordNewIc.mePswHideIv); - } else if (v.getId() == viewBinding.meChangePasswordAffirmIc.mePswHideIv.getId()) { - setEditTextStyle(viewBinding.meChangePasswordAffirmIc.mePswEt, viewBinding.meChangePasswordAffirmIc.mePswHideIv); - } + + /** + * 鏍¢獙鎸夐挳鏄惁鍚敤 + */ + private void isCompleteEnabled() { + String oldPsw = viewBinding.meChangePasswordOldIc.mePswEt.getText().toString(); + String newPsw = viewBinding.meChangePasswordNewIc.mePswEt.getText().toString(); + String affirmPsw = viewBinding.meChangePasswordAffirmIc.mePswEt.getText().toString(); + boolean isEnabled = oldPsw.length() > 0 && newPsw.length() > 0 && affirmPsw.length() > 0; + viewBinding.homeAffirmTv.setEnabled(isEnabled); + } + + /** + * 鏈湴鏍¢獙瀵嗙爜鏄惁姝g‘ + * + * @param newPsw 鏂板瘑鐮� + * @param affirmPsw 鍐嶆纭鏂板瘑鐮� + * @return 涓�鏍疯繑鍥瀟rue锛屽惁鑰協alse + */ + private boolean isEditTextPassword(String newPsw, String affirmPsw) { + //鏂板瘑鐮佸拰纭瀵嗙爜涓嶄竴鏍� + return newPsw.equals(affirmPsw); + } private void setEditTextStyle(EditText editText, ImageView imageView) { @@ -99,12 +218,15 @@ @Override protected void onDestroy() { super.onDestroy(); - viewBinding.meChangePasswordOldIc.mePswEt.removeTextChangedListener(textWatcher1); - viewBinding.meChangePasswordNewIc.mePswEt.removeTextChangedListener(textWatcher2); - viewBinding.meChangePasswordAffirmIc.mePswEt.removeTextChangedListener(textWatcher3); + viewBinding.meChangePasswordOldIc.mePswEt.removeTextChangedListener(oldPswTextWatcher); + viewBinding.meChangePasswordNewIc.mePswEt.removeTextChangedListener(newPswTextWatcher); + viewBinding.meChangePasswordAffirmIc.mePswEt.removeTextChangedListener(confirmPswTextWatcher); } - private final TextWatcher textWatcher1 = new TextWatcher() { + /** + * 杈撳叆鍘熷瘑鐮� + */ + private final TextWatcher oldPswTextWatcher = new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { @@ -112,16 +234,18 @@ @Override public void onTextChanged(CharSequence s, int start, int before, int count) { - } @Override public void afterTextChanged(Editable s) { - + isCompleteEnabled(); } }; - private final TextWatcher textWatcher2 = new TextWatcher() { + /** + * 杈撳叆鏂板瘑鐮� + */ + private final TextWatcher newPswTextWatcher = new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { @@ -129,16 +253,17 @@ @Override public void onTextChanged(CharSequence s, int start, int before, int count) { - } @Override public void afterTextChanged(Editable s) { - + isCompleteEnabled(); } }; - - private final TextWatcher textWatcher3 = new TextWatcher() { + /** + * 鍐嶆纭瀵嗙爜 + */ + private final TextWatcher confirmPswTextWatcher = new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { @@ -146,12 +271,11 @@ @Override public void onTextChanged(CharSequence s, int start, int before, int count) { - } @Override public void afterTextChanged(Editable s) { - + isCompleteEnabled(); } }; -- Gitblit v1.8.0