From d1ebb94e1a17b7c25d4fcf73d85345d92cc86b5c Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 02 一月 2024 18:41:34 +0800
Subject: [PATCH] 2024年01月02日18:41:32

---
 app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java |   67 ++++++++++++++++++++++++++-------
 1 files changed, 53 insertions(+), 14 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 313700b..53cfc82 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
@@ -13,6 +13,7 @@
 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.CustomBaseActivity;
 import com.hdl.photovoltaic.config.UserConfigManage;
@@ -20,6 +21,7 @@
 import com.hdl.photovoltaic.listener.CloudCallBeak;
 import com.hdl.photovoltaic.other.HdlAccountLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
+import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
 
 /**
  * 鎴戠殑-淇敼瀵嗙爜-鐣岄潰
@@ -86,28 +88,49 @@
         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("瀵嗙爜淇敼鎴愬姛,灏嗛噸鏂扮櫥褰�.");
+                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)) {
-            HdlThreadLogic.tipFlashingBox(_mActivity, true, getString(R.string.home_login_input_unlike_psw), -1);
-            return;
-        }
+    private void sendChangePassword(String oldPsw, String newPsw) {
+
         if (UserConfigManage.getInstance().isBAccount()) {
             //B绔洿鏀逛釜浜哄瘑鐮�
             HdlAccountLogic.getInstance().updatePassword_B(oldPsw, newPsw, new CloudCallBeak<String>() {
                 @Override
                 public void onSuccess(String str) {
-                    HdlThreadLogic.tipFlashingBox(_mActivity, true, 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
@@ -120,7 +143,10 @@
             HdlAccountLogic.getInstance().updatePassword_C(oldPsw, newPsw, new CloudCallBeak<String>() {
                 @Override
                 public void onSuccess(String obj) {
-                    HdlThreadLogic.tipFlashingBox(_mActivity, true, getString(R.string.home_login_pws_reset_succeeded), 0);
+
+                    HDLLinkPMUser.getInstance().logout(0);
+
+
                 }
 
                 @Override
@@ -169,13 +195,26 @@
     /**
      * 鏈湴鏍¢獙瀵嗙爜鏄惁姝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, "鍘熷瘑鐮佸拰鏂板瘑鐮佷笉鑳戒竴鏍�.", -1);
+            return false;
+        }
+        return true;
 
     }
 

--
Gitblit v1.8.0