From de2d3696f975cf6e6df2e580bab305fa9859feea Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 26 十月 2023 17:55:36 +0800
Subject: [PATCH] 2023年10月26日17:55:33
---
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