From 7b00e33092ef5861ffac90c4613d8f27cf9cccb3 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期三, 06 十二月 2023 18:52:37 +0800
Subject: [PATCH] 2023年12月06日18:52:35
---
app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java | 370 ++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 281 insertions(+), 89 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 367716d..8e713f9 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
@@ -1,18 +1,17 @@
package com.hdl.photovoltaic.ui;
-import android.Manifest;
-import android.content.pm.PackageManager;
+import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
-import android.text.Spannable;
import android.text.SpannableStringBuilder;
+import android.text.TextPaint;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.text.method.HideReturnsTransformationMethod;
+import android.text.method.LinkMovementMethod;
import android.text.method.PasswordTransformationMethod;
-import android.text.style.ForegroundColorSpan;
-import android.util.Log;
+import android.text.style.ClickableSpan;
import android.view.View;
import android.widget.TextView;
@@ -20,46 +19,54 @@
import androidx.annotation.NonNull;
import androidx.appcompat.content.res.AppCompatResources;
-import com.google.gson.Gson;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.hdl.photovoltaic.HDLApp;
+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.enums.ShowErrorMode;
-import com.hdl.photovoltaic.other.HdlFileLogic;
+import com.hdl.photovoltaic.config.UserConfigManage;
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.adapter.LanguageAdapter;
import com.hdl.photovoltaic.ui.bean.HouseIdBean;
-import com.hdl.photovoltaic.ui.bean.LoginUserBean;
-import com.hdl.photovoltaic.ui.bean.LoginUserRegionBean;
import com.hdl.photovoltaic.config.AppConfigManage;
import com.hdl.photovoltaic.databinding.ActivityHomeLoginBinding;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlAccountLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
-import com.hdl.photovoltaic.ui.device.FastScanActivity;
-import com.hdl.photovoltaic.uni.HDLUniMP;
-import com.hdl.photovoltaic.utils.PermissionUtils;
-import com.hdl.photovoltaic.utils.WifiUtils;
-
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.hdl.photovoltaic.ui.me.WebActivity;
+import com.hdl.photovoltaic.utils.LocalManageUtil;
+import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
+import com.hdl.photovoltaic.widget.ConfirmationCancelDialog1;
+import com.hdl.photovoltaic.widget.ListDialog;
+import com.hdl.photovoltaic.widget.adapter.ListDialogAdapter;
+import com.hdl.sdk.link.core.utils.LanguageUtils;
import java.util.List;
-
+/**
+ * 鐧诲綍鐨勭晫闈�
+ */
public class HomeLoginActivity extends CustomBaseActivity {
private ActivityHomeLoginBinding viewBinding;
@Override
public Object getContentView() {
+
+ setNotificationBarBackgroundColor(CustomColor.blue);
viewBinding = ActivityHomeLoginBinding.inflate(getLayoutInflater());
return viewBinding.getRoot();
}
@Override
public void onBindView(Bundle savedInstanceState) {
+
+ setNotificationBarBackgroundColor(CustomColor.white);
+ setStatusBarTextColor();
//鍒濆鍖�
initView();
//鍒濆鍖栫晫闈㈢洃鍚櫒
@@ -92,43 +99,50 @@
}
+ /**
+ * 鍒濆鍖朥I
+ */
private void initView() {
+ viewBinding.homeLoginCheckBCIv.setSelected(UserConfigManage.getInstance().isBAccount());
+ viewBinding.homeLoginInstallUserTv.setSelected(UserConfigManage.getInstance().isBAccount());
+ viewBinding.homeLoginPrivacyCheckIv.setSelected(UserConfigManage.getInstance().isAcceiptPolicy());
setStringDifferentColors(viewBinding.homeLoginPrivacyTv);
+ if (UserConfigManage.getInstance().getCurrentAppLanguage().equals(LocalManageUtil.zh)) {
+ viewBinding.homeLoginLanguageTv.setText("绠�浣撲腑鏂�");
+ } else {
+ viewBinding.homeLoginLanguageTv.setText("English");
+ }
+
+ String acc = "13375012441";
+ String pws = "123456";
//娴嬭瘯鐢�
- viewBinding.homeLoginAccountEt.setText("13375012441");
- viewBinding.homeLoginPasswordEt.setText("123456");
+ viewBinding.homeLoginAccountEt.setText(acc);
+ viewBinding.homeLoginPasswordEt.setText(pws);
isLoginTextViewEnabled();
}
+ /**
+ * 娉ㄥ唽鐩戝惉浜嬩欢
+ */
private void initEvent() {
- viewBinding.homeLoginAccountEt.addTextChangedListener(new TextWatcher() {
+ //璇█閫夋嫨
+ viewBinding.homeLoginLanguageTv.setOnClickListener(new View.OnClickListener() {
@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);
+ public void onClick(View v) {
+ ListDialog listDialog = new ListDialog(_mActivity);
+ listDialog.show();
+ listDialog.setCanceledOnTouchOutside(true);
+ listDialog.setItemOnclickListener(new ListDialogAdapter.OnclickListener() {
+ @Override
+ public void onClick(int position, LanguageAdapter.ItemData itemData) {
+ viewBinding.homeLoginLanguageTv.setText(itemData.getTitle());
}
- } 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) {
@@ -136,22 +150,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) {
@@ -172,17 +171,39 @@
}
});
-
- viewBinding.homeLoginCheckIv.setOnClickListener(new View.OnClickListener() {
+ //閫夋嫨b绔紝c绔�
+ viewBinding.homeLoginInstallUserTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setSelected(!v.isSelected());
+ UserConfigManage.getInstance().setBAccount(v.isSelected());
+ viewBinding.homeLoginCheckBCIv.setSelected(UserConfigManage.getInstance().isBAccount());
+ if (UserConfigManage.getInstance().isBAccount()) {
+ viewBinding.homeLoginRegisterTv.setVisibility(View.GONE);
+ } else {
+ viewBinding.homeLoginRegisterTv.setVisibility(View.VISIBLE);
+ }
}
});
+ //閫夋嫨b绔紝c绔�
+ viewBinding.homeLoginCheckBCIv.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() {
@Override
public void onClick(View v) {
v.setSelected(!v.isSelected());
+ UserConfigManage.getInstance().setAcceiptPolicy(v.isSelected());
}
});
//鐧诲綍
@@ -196,19 +217,22 @@
if (!isLogin) {
return;
}
-// boolean isSelected = viewBinding.homeLoginPrivacyCheckIv.isSelected();
-// if(!isSelected){
-// //闅愮鍗忚鎻愮ず
-// return;
-// }
- showLoading(getString(R.string.home_login_鐧诲綍涓�));
- HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<LoginUserRegionBean>() {
+ boolean isSelected = UserConfigManage.getInstance().isAcceiptPolicy();
+ if (!isSelected) {
+ //闅愮鍗忚鎻愮ず
+ getDialog();
+ return;
+ }
+ showLoading(getString(R.string.home_login_be_logging_in));
+ HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<HDLUserRegionBean>() {
@Override
- public void onSuccess(LoginUserRegionBean obj) {
- AppConfigManage.setUserRegionUrl("http://59.41.255.150:7777");//obj.getRegionUrl()
- HdlAccountLogic.getInstance().loginByPassword(account, password, new CloudCallBeak<LoginUserBean>() {
+ 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(LoginUserBean obj) {
+ public void onSuccess(HDLLoginBean obj) {
HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() {
@Override
public void onSuccess(List<HouseIdBean> obj) {
@@ -216,27 +240,31 @@
HdlResidenceLogic.getInstance().setHouseIdList(obj);
restoreButtonStyleToInitializeState();
startActivity(MyPowerStationActivity.class);
+ finish();
}
@Override
- public void onFailure(Exception exception) {
+ public void onFailure(HDLException e) {
hideLoading();
restoreButtonStyleToInitializeState();
startActivity(MyPowerStationActivity.class);
+ finish();
}
});
}
@Override
- public void onFailure(Exception exception) {
+ public void onFailure(HDLException e) {
hideLoading();
+ HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")");
}
});
}
@Override
- public void onFailure(Exception exception) {
+ public void onFailure(HDLException e) {
hideLoading();
+ HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")");
}
});
@@ -247,9 +275,28 @@
viewBinding.homeLoginExperienceTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ 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);
}
});
@@ -276,19 +323,19 @@
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;
@@ -311,17 +358,162 @@
}
/**
- * 璁剧疆涓�涓插瓧绗﹀绉嶉鑹�
+ * 璁剧疆涓�涓插瓧绗﹀绉嶉鑹蹭互鍙婄偣鍑讳簨浠�
*
- * @param view 褰撳墠缁勪欢
+ * @param textView 褰撳墠缁勪欢
*/
- private void setStringDifferentColors(TextView view) {
- String s = view.getText().toString();
+ private void setStringDifferentColors(TextView textView) {
+
+ if (textView == null) {
+ return;
+ }
+
+ String s = textView.getText().toString();
+
+ int startIndex1 = s.indexOf("銆�");
+ int endIndex1 = s.indexOf("銆�") + 1;
+
+ int startIndex2 = s.lastIndexOf("銆�");
+ int endIndex2 = s.lastIndexOf("銆�") + 1;
+
SpannableStringBuilder spannable = new SpannableStringBuilder(s);
//璁剧疆鏂囧瓧鐨勫墠鏅壊
- spannable.setSpan(new ForegroundColorSpan(getColor(R.color.text_245EC3)), 2, 7, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
- spannable.setSpan(new ForegroundColorSpan(getColor(R.color.text_245EC3)), 9, 19, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
- view.setText(spannable);
+ if (textView.getTag() != null && textView.getTag().toString().equals("click")) {
+ spannable.setSpan(new ClickableSpan() {
+ @Override
+ public void onClick(@NonNull View widget) {
+ //todo 闇�瑕佽烦杞埌鏈嶅姟鍗忚鐣岄潰
+ Intent intent = new Intent();
+ intent.putExtra("type", WebActivity.ServiceAgreement);
+ intent.setClass(_mActivity, WebActivity.class);
+ startActivity(intent);
+ }
+
+ @Override
+ public void updateDrawState(@NonNull TextPaint ds) {
+ super.updateDrawState(ds);
+ //璁剧疆瀛椾綋棰滆壊
+ ds.setColor(getResources().getColor(R.color.text_245EC3, null));
+ // 鍘绘帀涓嬪垝绾�
+ ds.setUnderlineText(false);
+ }
+
+
+ }, startIndex1, endIndex1, 0);
+
+ spannable.setSpan(new ClickableSpan() {
+ @Override
+ public void onClick(@NonNull View widget) {
+ //todo 闇�瑕佽烦杞埌闅愮鐣岄潰
+ Intent intent = new Intent();
+ intent.putExtra("type", WebActivity.PrivacyAgreement);
+ intent.setClass(_mActivity, WebActivity.class);
+ startActivity(intent);
+ }
+
+ @Override
+ public void updateDrawState(@NonNull TextPaint ds) {
+ super.updateDrawState(ds);
+ //璁剧疆瀛椾綋棰滆壊
+ ds.setColor(getResources().getColor(R.color.text_245EC3, null));
+ // 鍘绘帀涓嬪垝绾�
+ ds.setUnderlineText(false);
+ }
+
+
+ }, startIndex2, endIndex2, 0);
+
+
+ }
+ textView.setText(spannable);
+ //涓�旈亣鍒扮偣鍑诲悗瀛椾綋鏄剧ず楂樹寒锛屽彇娑堥珮浜�
+ textView.setHighlightColor(getResources().getColor(R.color.text_00000000, null));
+ //鏈�鍚庤缃彲鐐瑰嚮锛屽繀椤诲疄鐜帮紝鍚﹀垯鍙兘鏄剧ず鏍峰紡锛屾棤娉曞疄鐜扮偣鍑绘晥鏋�
+ textView.setMovementMethod(LinkMovementMethod.getInstance());
+
+ }
+
+
+ /**
+ * 寮圭獥
+ */
+ private void getDialog() {
+ ConfirmationCancelDialog1 dialog = new ConfirmationCancelDialog1(_mActivity);
+ dialog.setTitle(getString(R.string.loading_privacy));
+ dialog.setContent(getString(R.string.loading_privacy_server));
+ dialog.show();
+ setStringDifferentColors(dialog.getContentTextView());
+ dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
+ @Override
+ public void Confirm() {
+
+ UserConfigManage.getInstance().setAcceiptPolicy(true);
+ viewBinding.homeLoginPrivacyCheckIv.setSelected(true);
+ dialog.dismiss();
+ }
+ });
+ dialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() {
+ @Override
+ public void Cancel() {
+ UserConfigManage.getInstance().setAcceiptPolicy(false);
+ viewBinding.homeLoginPrivacyCheckIv.setSelected(false);
+ dialog.dismiss();
+ }
+ });
+
+ }
+
+ /**
+ * 杈撳叆璐﹀彿
+ */
+ 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);
}
--
Gitblit v1.8.0