Files
Android-WaterProject/app/src/main/java/com/ckkj/water/mine/ResetPsdActivity.java
2026-07-15 11:35:32 +08:00

200 lines
6.2 KiB
Java

package com.ckkj.water.mine;
import android.os.Bundle;
import android.text.InputType;
import android.text.TextUtils;
import android.text.method.PasswordTransformationMethod;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import com.ckkj.water.R;
import com.ckkj.water.base.BaseActivity;
import com.ckkj.water.main.entity.CheckVersionEntity;
import com.ckkj.water.mine.entity.MineUserInfoBean;
import com.ckkj.water.databinding.ResetPsdLayoutBinding;
import com.ckkj.water.mine.mvp.MineContract;
import com.ckkj.water.mine.mvp.MineImpl;
import com.ckkj.water.mine.mvp.MinePresenter;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.utils.manager.ThemeManager;
import com.ckkj.water.utils.show.ToastUtil;
import com.gyf.immersionbar.ImmersionBar;
/**
* @author fengxiaoyang
* @date 2026/5/16
* @description TODO: 重置密码
*/
public class ResetPsdActivity extends BaseActivity<ResetPsdLayoutBinding, MinePresenter>
implements MineContract.MineView {
private boolean isOldPasswordVisible = false;
private boolean isNewPasswordVisible = false;
private boolean isConfirmPasswordVisible = false;
@Override
public void initData(Bundle savedInstanceState) {
super.initData(savedInstanceState);
ImmersionBar.with(this)
.statusBarDarkFont(ThemeManager.isAppThemeLight(mContext)) // 白色状态栏图标
.navigationBarColor(R.color.color_gray_theme)
.titleBar(viewBinding.rlTitle)
.init();
viewBinding.includedTitle.tvTitle.setText(R.string.mine_psd_reset);
initListener();
}
private void initListener() {
setClick(viewBinding.includedTitle.imgBack);
setClick(viewBinding.tvCommit);
setClick(viewBinding.imgPsdShowHideOld);
setClick(viewBinding.imgPsdShowHideNew1);
setClick(viewBinding.imgPsdShowHideNew2);
}
private void setClick(View view) {
view.setOnClickListener(this::onClick);
}
public void onClick(View v){
switch (v.getId()){
case R.id.img_back:
finish();
break;
case R.id.tv_commit:
if(TextUtils.isEmpty(viewBinding.etCurrentPsd.getText().toString().trim())){
ToastUtil.showShort(mContext,getString(R.string.hint_input_old_psd));
return;
}
if(TextUtils.isEmpty(viewBinding.etNewPsd.getText().toString().trim())){
ToastUtil.showShort(mContext,getString(R.string.hint_input_new_psd));
return;
}
if(TextUtils.isEmpty(viewBinding.etInputConfirmPsd.getText().toString().trim())){
ToastUtil.showShort(mContext,getString(R.string.hint_input_new_psd_agin));
return;
}
if(!(viewBinding.etNewPsd.getText().toString().trim()).
equals(viewBinding.etInputConfirmPsd.getText().toString().trim())){
ToastUtil.showShort(mContext,getString(R.string.hint_input_psd_not_match));
return;
}
showLoadingDialog();
mPresenter.updateUserPsdByOld(viewBinding.etCurrentPsd.getText().toString(),
viewBinding.etInputConfirmPsd.getText().toString());
break;
case R.id.img_psd_show_hide_old:
togglePasswordVisibility(viewBinding.etCurrentPsd, viewBinding.imgPsdShowHideOld,
isOldPasswordVisible);
isOldPasswordVisible = !isOldPasswordVisible;
break;
case R.id.img_psd_show_hide_new1:
togglePasswordVisibility(viewBinding.etNewPsd, viewBinding.imgPsdShowHideNew1,
isNewPasswordVisible);
isNewPasswordVisible = !isNewPasswordVisible;
break;
case R.id.img_psd_show_hide_new2:
togglePasswordVisibility(viewBinding.etInputConfirmPsd, viewBinding.imgPsdShowHideNew2,
isConfirmPasswordVisible);
isConfirmPasswordVisible = !isConfirmPasswordVisible;
break;
}
}
private void togglePasswordVisibility(EditText editText, ImageView imageView, boolean isVisible) {
if (editText == null || imageView == null) {
return;
}
if (isVisible) {
editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
editText.setTransformationMethod(PasswordTransformationMethod.getInstance());
imageView.setImageResource(R.mipmap.icon_psd_hide);
} else {
editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
editText.setTransformationMethod(null);
imageView.setImageResource(R.mipmap.icon_psd_show);
}
editText.setSelection(editText.getText().length());
}
/**
* 密码重置成功
* @param bean
*/
@Override
public void updateUserPasswordSuccess(BaseBean bean) {
hideDialogLoading();
ToastUtil.showShort(mContext,"密码重置成功");
finish();
}
@Override
public void logOutSuccess(BaseBean bean) {
}
@Override
public void uploadImageSuccess(MineUserInfoBean bean) {
}
@Override
public void getAppVersionSuccess(CheckVersionEntity bean) {
}
@Override
public void getAccountLogoffCodeSuccess(BaseBean bean) {
}
@Override
public void confirmAccountLogoffCodeSuccess(BaseBean bean) {
}
@Override
public MinePresenter createPresenter() {
return new MinePresenter(new MineImpl());
}
@Override
public int getLayoutResId(Bundle savedInstanceState) {
return 0;
}
@Override
public void showError(String message) {
hideDialogLoading();
ToastUtil.showShort(mContext,message);
}
@Override
public void logOut(BaseBean bean) {
}
@Override
public void getUserInfoSuccess(MineUserInfoBean bean) {
}
@Override
public void updateUserInfoSuccess(BaseBean bean) {
}
}