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 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) { } }