From 3ccff7173fb73322f7785d8eaedc90a1b5d8765d Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 10 十二月 2024 22:44:03 +0800
Subject: [PATCH] 2024年12月10日22:43:59

---
 app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java |  122 ++++++++++++++++++++++++----------------
 1 files changed, 72 insertions(+), 50 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 54be3de..45a5744 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
@@ -2,32 +2,31 @@
 
 import androidx.appcompat.content.res.AppCompatResources;
 
-import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.text.Editable;
-import android.text.Spannable;
-import android.text.SpannableStringBuilder;
 import android.text.TextUtils;
 import android.text.TextWatcher;
 import android.text.method.HideReturnsTransformationMethod;
 import android.text.method.PasswordTransformationMethod;
-import android.text.style.ForegroundColorSpan;
 import android.view.View;
 import android.widget.EditText;
 import android.widget.ImageView;
 
 import com.hdl.linkpm.sdk.core.exception.HDLException;
+import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
 import com.hdl.photovoltaic.R;
-import com.hdl.photovoltaic.base.BaseActivity;
+import com.hdl.photovoltaic.base.CustomBaseActivity;
 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;
+import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
 
-
-public class MeChangePasswordActivity extends BaseActivity {
+/**
+ * 鎴戠殑-淇敼瀵嗙爜-鐣岄潰
+ */
+public class MeChangePasswordActivity extends CustomBaseActivity {
 
     private ActivityMeChangePasswordBinding viewBinding;
 
@@ -39,17 +38,19 @@
 
     @Override
     public void onBindView(Bundle savedInstanceState) {
+       setStatusBarTranslucent();
         //鍒濆鍖�
         initView();
         //鍒濆鍖栫晫闈㈢洃鍚櫒
         initEvent();
+
     }
 
     /**
      * 鍒濆鍖栫晫闈㈢洃鍚櫒
      */
     private void initEvent() {
-        viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(new View.OnClickListener() {
+        viewBinding.toolbarTopRl.topBackLl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 finish();
@@ -86,80 +87,83 @@
         viewBinding.homeAffirmTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                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(oldPsw, newPsw, affirmPsw)) {
+                    return;
+                }
+                // 浜屾纭鎻愮ず妗�
+                ConfirmationCancelDialog dialog = new ConfirmationCancelDialog(_mActivity);
+                dialog.setTitle(getString(R.string.loading_title_tip));
+                dialog.setContent(_mActivity.getString(R.string.home_password_changed_successfully_log_in));
+                dialog.show();
+                dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
+                    @Override
+                    public void Confirm() {
+                        sendChangePassword(oldPsw, newPsw);
+                    }
+                });
+                dialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() {
+                    @Override
+                    public void Cancel() {
+                        dialog.dismiss();
+                    }
+                });
+
             }
         });
     }
 
     /**
      * 鍙戦�佹洿鏀逛釜浜哄瘑鐮佹寚浠�
+     *
+     * @param oldPsw 鍘熸潵瀵嗙爜
+     * @param newPsw 鏂板瘑鐮�
      */
-    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;
-        }
+    private void sendChangePassword(String oldPsw, String newPsw) {
+
         if (UserConfigManage.getInstance().isBAccount()) {
             //B绔洿鏀逛釜浜哄瘑鐮�
-            HdlAccountLogic.getInstance().updateBPassword(oldPsw, newPsw, new CloudCallBeak<String>() {
+            HdlAccountLogic.getInstance().updatePassword_B(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);
+//                    HdlThreadLogic.tipFlashingBox(_mActivity, true, getString(R.string.home_login_pws_reset_succeeded), 0);
+                    HDLLinkPMUser.getInstance().logout(0);
                 }
 
                 @Override
                 public void onFailure(HDLException e) {
-                    tipFlashingBox(AppCompatResources.getDrawable(_mActivity, R.drawable.tip_fail), e.getMsg(), e.getCode());
+                    HdlThreadLogic.tipFlashingBox(_mActivity, false, e.getMsg(), e.getCode());
                 }
             });
         } else {
             //C绔洿鏀逛釜浜哄瘑鐮�
-            HdlAccountLogic.getInstance().updateCPassword(oldPsw, newPsw, new CloudCallBeak<String>() {
+            HdlAccountLogic.getInstance().updatePassword_C(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);
+
+                    HDLLinkPMUser.getInstance().logout(0);
+
+
                 }
 
                 @Override
                 public void onFailure(HDLException e) {
-                    tipFlashingBox(AppCompatResources.getDrawable(_mActivity, R.drawable.tip_fail), e.getMsg(), e.getCode());
+                    HdlThreadLogic.tipFlashingBox(_mActivity, false, 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);
-    }
 
     /**
      * 鍒濆鍖�
      */
     private void initView() {
-        viewBinding.toolbarTopFragmentHouseListRl.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFFFFFFF));
-        viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setText(R.string.home_login_change_password);
-        viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setTextColor(getResources().getColor(R.color.text_030D1C));
-        viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setVisibility(View.VISIBLE);
+        viewBinding.toolbarTopRl.topTitleTv.setText(R.string.home_login_change_password);
+        viewBinding.toolbarTopRl.topBackLl.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);
@@ -182,19 +186,37 @@
         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;
+        if (isEnabled) {
+            viewBinding.homeAffirmTv.setTextColor(getColor(R.color.text_E6FFFFFF));
+        } else {
+            viewBinding.homeAffirmTv.setTextColor(getColor(R.color.text_66FFFFFF));
+        }
         viewBinding.homeAffirmTv.setEnabled(isEnabled);
     }
 
     /**
      * 鏈湴鏍¢獙瀵嗙爜鏄惁姝g‘
      *
+     * @param oldPsw    鍘熸潵瀵嗙爜
      * @param newPsw    鏂板瘑鐮�
      * @param affirmPsw 鍐嶆纭鏂板瘑鐮�
      * @return 涓�鏍疯繑鍥瀟rue锛屽惁鑰協alse
      */
-    private boolean isEditTextPassword(String newPsw, String affirmPsw) {
-        //鏂板瘑鐮佸拰纭瀵嗙爜涓嶄竴鏍�
-        return newPsw.equals(affirmPsw);
+    private boolean isEditTextPassword(String oldPsw, String newPsw, String affirmPsw) {
+        if (newPsw.length() < 6 || affirmPsw.length() < 6) {
+            HdlThreadLogic.tipFlashingBox(_mActivity, true, getString(R.string.home_login_least6), -1);
+            return false;
+        }
+        if (!newPsw.equals(affirmPsw)) {
+            //鏂板瘑鐮佸拰纭瀵嗙爜涓嶄竴鏍�
+            HdlThreadLogic.tipFlashingBox(_mActivity, true, getString(R.string.home_login_input_unlike_psw), -1);
+            return false;
+        }
+        if (oldPsw.equals(newPsw)) {
+            HdlThreadLogic.tipFlashingBox(_mActivity, true, getString(R.string.home_old_password_not_new_password), -1);
+            return false;
+        }
+        return true;
 
     }
 

--
Gitblit v1.8.0