From a8e0bddc9903d854808e9526600128e95560faa3 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期一, 30 十月 2023 18:21:25 +0800
Subject: [PATCH] 2023年10月30日18:21:12

---
 app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java |  272 +++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 205 insertions(+), 67 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
index b655da1..f9ca155 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
@@ -1,8 +1,8 @@
 package com.hdl.photovoltaic.ui;
 
 
+import android.content.Intent;
 import android.os.Bundle;
-import android.os.SystemClock;
 import android.text.Editable;
 import android.text.Spannable;
 import android.text.SpannableStringBuilder;
@@ -11,22 +11,36 @@
 import android.text.method.HideReturnsTransformationMethod;
 import android.text.method.PasswordTransformationMethod;
 import android.text.style.ForegroundColorSpan;
-import android.util.Log;
 import android.view.View;
-import android.view.animation.Animation;
-import android.view.animation.RotateAnimation;
 import android.widget.TextView;
 
 
 import androidx.appcompat.content.res.AppCompatResources;
 
+import com.hdl.linkpm.sdk.core.exception.HDLException;
+import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
+import com.hdl.linkpm.sdk.user.bean.HDLLoginBean;
+import com.hdl.linkpm.sdk.user.bean.HDLUserRegionBean;
+import com.hdl.linkpm.sdk.user.callback.ILoginCallBack;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
+import com.hdl.photovoltaic.config.UserConfigManage;
+import com.hdl.photovoltaic.other.HdlFileLogic;
+import com.hdl.photovoltaic.other.HdlResidenceLogic;
+import com.hdl.photovoltaic.ui.account.ChangePassword;
+import com.hdl.photovoltaic.ui.account.RegisterAccountActivity;
+import com.hdl.photovoltaic.ui.bean.HouseIdBean;
+import com.hdl.photovoltaic.config.AppConfigManage;
 import com.hdl.photovoltaic.databinding.ActivityHomeLoginBinding;
-import com.hdl.photovoltaic.ui.MyPowerStationActivity;
-import com.hdl.photovoltaic.utils.FileUtils;
+import com.hdl.photovoltaic.listener.CloudCallBeak;
+import com.hdl.photovoltaic.other.HdlAccountLogic;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
 
+import java.util.List;
 
+/**
+ * 鐧诲綍鐨勭晫闈�
+ */
 public class HomeLoginActivity extends CustomBaseActivity {
 
     private ActivityHomeLoginBinding viewBinding;
@@ -43,43 +57,45 @@
         initView();
         //鍒濆鍖栫晫闈㈢洃鍚櫒
         initEvent();
+        //鍦ㄧ晫闈腑浣跨敤
+//        KeyboardStateObserverUtils.getKeyboardStateObserver(_mActivity).setKeyboardVisibilityListener(new KeyboardStateObserverUtils.OnKeyboardVisibilityListener() {
+//            @Override
+//            public void onKeyboardShow(int h) {
+//                //Toast.makeText(MainActivity.this,"閿洏寮瑰嚭",Toast.LENGTH_SHORT).show();
+//                ConstraintSet cs = new ConstraintSet();
+//                cs.clone(viewBinding.homeLoginParentCl);
+////                (viewBinding.loadingConfirmationRl.getTop()-dip2px(h))
+//                cs.connect(R.id.home_login_tv, ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM, h);//
+//                //搴旂敤绾︽潫
+//                cs.applyTo(viewBinding.homeLoginParentCl);
+//            }
+//
+//            @Override
+//
+//            public void onKeyboardHide(int h) {
+//                ConstraintSet cs = new ConstraintSet();
+//                cs.clone(viewBinding.homeLoginParentCl);
+//                cs.connect(R.id.home_login_tv, ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM, h);//
+//                //搴旂敤绾︽潫
+//                cs.applyTo(viewBinding.homeLoginParentCl);
+//            }
+//
+//        });
 
 
     }
 
     private void initView() {
         setStringDifferentColors(viewBinding.homeLoginPrivacyTv);
+        //娴嬭瘯鐢�
+        viewBinding.homeLoginAccountEt.setText("13375012441");
+        viewBinding.homeLoginPasswordEt.setText("123456");
+        isLoginTextViewEnabled();
     }
 
     private void initEvent() {
 
-        viewBinding.homeLoginAccountEt.addTextChangedListener(new TextWatcher() {
-            @Override
-            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
-
-            }
-
-            @Override
-            public void onTextChanged(CharSequence s, int start, int before, int count) {
-                Log.d("HomeLoginActivity2", String.format("CharSequence=%s,start=%s,before=%s,count=%s", s, start, before, count));
-
-            }
-
-            @Override
-            public void afterTextChanged(Editable s) {
-                if (s.length() > 0) {
-                    if (viewBinding.homeLoginClearContentsIv.getVisibility() == View.GONE) {
-                        viewBinding.homeLoginClearContentsIv.setVisibility(View.VISIBLE);
-                    }
-                } else {
-                    if (viewBinding.homeLoginClearContentsIv.getVisibility() == View.VISIBLE) {
-                        viewBinding.homeLoginClearContentsIv.setVisibility(View.GONE);
-                    }
-                }
-                isLoginTextViewEnabled();
-
-            }
-        });
+        viewBinding.homeLoginAccountEt.addTextChangedListener(accountTextWatcher);
         viewBinding.homeLoginClearContentsIv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -87,22 +103,7 @@
             }
         });
 
-        viewBinding.homeLoginPasswordEt.addTextChangedListener(new TextWatcher() {
-            @Override
-            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
-
-            }
-
-            @Override
-            public void onTextChanged(CharSequence s, int start, int before, int count) {
-
-            }
-
-            @Override
-            public void afterTextChanged(Editable s) {
-                isLoginTextViewEnabled();
-            }
-        });
+        viewBinding.homeLoginPasswordEt.addTextChangedListener(passwordTextWatcher);
         viewBinding.homeLoginHideIv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -123,11 +124,31 @@
             }
         });
 
-
+        //閫夋嫨b绔紝c绔�
+        viewBinding.homeLoginInstallUserTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                v.setSelected(!v.isSelected());
+                UserConfigManage.getInstance().setBAccount(v.isSelected());
+                viewBinding.homeLoginCheckIv.setSelected(UserConfigManage.getInstance().isBAccount());
+                if (UserConfigManage.getInstance().isBAccount()) {
+                    viewBinding.homeLoginRegisterTv.setVisibility(View.GONE);
+                } else {
+                    viewBinding.homeLoginRegisterTv.setVisibility(View.VISIBLE);
+                }
+            }
+        });
+        //閫夋嫨b绔紝c绔�
         viewBinding.homeLoginCheckIv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 v.setSelected(!v.isSelected());
+                UserConfigManage.getInstance().setBAccount(v.isSelected());
+                if (UserConfigManage.getInstance().isBAccount()) {
+                    viewBinding.homeLoginRegisterTv.setVisibility(View.GONE);
+                } else {
+                    viewBinding.homeLoginRegisterTv.setVisibility(View.VISIBLE);
+                }
             }
         });
         viewBinding.homeLoginPrivacyCheckIv.setOnClickListener(new View.OnClickListener() {
@@ -140,7 +161,10 @@
         viewBinding.homeLoginTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                boolean isLogin = isLocalCheckAccountAndPassword();
+
+                String account = viewBinding.homeLoginAccountEt.getText().toString().replace(" ", "");
+                String password = viewBinding.homeLoginPasswordEt.getText().toString().replace(" ", "");
+                boolean isLogin = isLocalCheckAccountAndPassword(account, password);
                 if (!isLogin) {
                     return;
                 }
@@ -149,9 +173,45 @@
 //                    //闅愮鍗忚鎻愮ず
 //                    return;
 //                }
-                restoreButtonStyleToInitializeState();
+                showLoading(getString(R.string.home_login_be_logging_in));
+                HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<HDLUserRegionBean>() {
+                    @Override
+                    public void onSuccess(HDLUserRegionBean obj) {
+                        AppConfigManage.setUserRegionUrl(obj.getRegionUrl());
+                        HDLLinkPMUser.getInstance().setUserRegionUrl(AppConfigManage.getUserRegionUrl());
+                        HdlAccountLogic.getInstance().loginByPassword(account, password, new ILoginCallBack() {
+                            @Override
+                            public void onSuccess(HDLLoginBean obj) {
+                                HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() {
+                                    @Override
+                                    public void onSuccess(List<HouseIdBean> obj) {
+                                        hideLoading();
+                                        HdlResidenceLogic.getInstance().setHouseIdList(obj);
+                                        restoreButtonStyleToInitializeState();
+                                        startActivity(MyPowerStationActivity.class);
+                                    }
 
-                startActivity(MyPowerStationActivity.class);
+                                    @Override
+                                    public void onFailure(HDLException e) {
+                                        hideLoading();
+                                        restoreButtonStyleToInitializeState();
+                                        startActivity(MyPowerStationActivity.class);
+                                    }
+                                });
+                            }
+
+                            @Override
+                            public void onFailure(HDLException exception) {
+                                hideLoading();
+                            }
+                        });
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        hideLoading();
+                    }
+                });
 
 
             }
@@ -160,8 +220,29 @@
         viewBinding.homeLoginExperienceTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                startActivity(MyPowerStationActivity.class);
-
+                v.setSelected(!v.isSelected());
+                UserConfigManage.getInstance().setUserExperience(v.isSelected());
+//                requestPermissions();
+//                startActivity(MyPowerStationActivity.class);
+                HdlFileLogic.getInstance().deleteDirectory(HdlFileLogic.getInstance().getCurrentHomeRootPath());
+            }
+        });
+        //娉ㄥ唽
+        viewBinding.homeLoginRegisterTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Intent intent = new Intent();
+                intent.setClass(HomeLoginActivity.this, RegisterAccountActivity.class);
+                startActivity(intent);
+            }
+        });
+        //蹇樿瀵嗙爜
+        viewBinding.homeLoginForgetPasswordTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Intent intent = new Intent();
+                intent.setClass(HomeLoginActivity.this, ChangePassword.class);
+                startActivity(intent);
             }
         });
 
@@ -179,27 +260,28 @@
 
     /**
      * 鏈湴鏍¢獙杈撳叆璐﹀彿鎴栬�呭瘑鐮佹槸鍚︽纭�
-     * 姝g‘杩斿洖<true>true</true>
-     * 涓�鑸柟娉�
+     *
+     * @param account  璐﹀彿
+     * @param password 瀵嗙爜
+     *                 姝g‘杩斿洖<true>true</true>
+     *                 涓�鑸柟娉�
      */
-    private boolean isLocalCheckAccountAndPassword() {
-        String account = viewBinding.homeLoginAccountEt.getText().toString().replace(" ", "");
-        String password = viewBinding.homeLoginPasswordEt.getText().toString().replace(" ", "");
+    private boolean isLocalCheckAccountAndPassword(String account, String password) {
         if (TextUtils.isEmpty(account)) {
             viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_D34545));
-            viewBinding.homeLoginAccountTextErrorTv.setText(R.string.home_login_error_璐﹀彿涓嶈兘涓虹┖);
+            viewBinding.homeLoginAccountTextErrorTv.setText(R.string.home_login_error_account_null);
             return false;
         }
         if (TextUtils.isEmpty(password)) {
             viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_D34545));
-            viewBinding.homeLoginPasswordTextErrorTv.setText(R.string.home_login_error_瀵嗙爜涓嶈兘涓虹┖);
+            viewBinding.homeLoginPasswordTextErrorTv.setText(R.string.home_login_error_password_null);
             return false;
         }
 
 
         if (password.length() < 6 || password.length() > 16) {
             viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_D34545));
-            viewBinding.homeLoginPasswordTextErrorTv.setText(R.string.home_login_error_鏈�灏�6_16涓瓧绗�);
+            viewBinding.homeLoginPasswordTextErrorTv.setText(R.string.home_login_error_6_16_str);
             return false;
         }
         return true;
@@ -210,10 +292,15 @@
      * 鎭㈠缁勪欢鏍峰紡鍒板垵濮嬪寲鐘舵��
      */
     private void restoreButtonStyleToInitializeState() {
-        viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_E1E1E1));
-        viewBinding.homeLoginAccountTextErrorTv.setText("");
-        viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_E1E1E1));
-        viewBinding.homeLoginPasswordTextErrorTv.setText("");
+        HdlThreadLogic.runMainThread(new Runnable() {
+            @Override
+            public void run() {
+                viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_E1E1E1));
+                viewBinding.homeLoginAccountTextErrorTv.setText("");
+                viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_E1E1E1));
+                viewBinding.homeLoginPasswordTextErrorTv.setText("");
+            }
+        }, null, null);
     }
 
     /**
@@ -230,5 +317,56 @@
         view.setText(spannable);
     }
 
+    /**
+     * 杈撳叆璐﹀彿
+     */
+    private final TextWatcher accountTextWatcher = new TextWatcher() {
+        @Override
+        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
 
+        }
+
+        @Override
+        public void onTextChanged(CharSequence s, int start, int before, int count) {
+        }
+
+        @Override
+        public void afterTextChanged(Editable s) {
+            if (s.length() > 0) {
+                if (viewBinding.homeLoginClearContentsIv.getVisibility() == View.GONE) {
+                    viewBinding.homeLoginClearContentsIv.setVisibility(View.VISIBLE);
+                }
+            } else {
+                if (viewBinding.homeLoginClearContentsIv.getVisibility() == View.VISIBLE) {
+                    viewBinding.homeLoginClearContentsIv.setVisibility(View.GONE);
+                }
+            }
+            isLoginTextViewEnabled();
+        }
+    };
+    /**
+     * 杈撳叆瀵嗙爜
+     */
+    private final TextWatcher passwordTextWatcher = new TextWatcher() {
+        @Override
+        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+        }
+
+        @Override
+        public void onTextChanged(CharSequence s, int start, int before, int count) {
+        }
+
+        @Override
+        public void afterTextChanged(Editable s) {
+            isLoginTextViewEnabled();
+        }
+    };
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        viewBinding.homeLoginAccountEt.removeTextChangedListener(accountTextWatcher);
+        viewBinding.homeLoginPasswordEt.removeTextChangedListener(passwordTextWatcher);
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0