From 44ba605a4e850efa757020da5fb4cf02bdf6e3ab Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 08 九月 2025 10:55:18 +0800
Subject: [PATCH] 2025年09月08日10:55:15
---
app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java | 146 ++++++++++++++++++++++++++++++++++++++----------
1 files changed, 115 insertions(+), 31 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
index 2329cdc..cfb88e9 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
@@ -2,7 +2,6 @@
import android.content.Intent;
-import android.graphics.Color;
import android.os.Bundle;
import android.text.Editable;
import android.text.SpannableStringBuilder;
@@ -13,7 +12,7 @@
import android.text.method.LinkMovementMethod;
import android.text.method.PasswordTransformationMethod;
import android.text.style.ClickableSpan;
-import android.text.style.StyleSpan;
+import android.view.Gravity;
import android.view.View;
import android.widget.TextView;
@@ -32,7 +31,9 @@
import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.databinding.ActivityHomeLoginBinding;
+import com.hdl.photovoltaic.other.HdlLogLogic;
import com.hdl.photovoltaic.other.HdlResidenceLogic;
+import com.hdl.photovoltaic.other.HdlUniLogic;
import com.hdl.photovoltaic.ui.account.ChangePassword;
import com.hdl.photovoltaic.ui.account.RegisterAccountActivity;
import com.hdl.photovoltaic.ui.adapter.LanguageAdapter;
@@ -42,8 +43,11 @@
import com.hdl.photovoltaic.other.HdlAccountLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.ui.me.WebActivity;
+import com.hdl.photovoltaic.uni.HDLUniMP;
+import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
import com.hdl.photovoltaic.utils.AppManagerUtils;
import com.hdl.photovoltaic.utils.LocalManageUtil;
+import com.hdl.photovoltaic.utils.SharedPreUtils;
import com.hdl.photovoltaic.utils.TimeUtils;
import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
import com.hdl.photovoltaic.widget.ListDialog;
@@ -67,6 +71,7 @@
@Override
public void onBindView(Bundle savedInstanceState) {
setStatusBarTranslucent();
+ getWindow().setNavigationBarColor(getColor(R.color.text_00000000));
//鍒濆鍖�
initView();
//鍒濆鍖栫晫闈㈢洃鍚櫒
@@ -96,7 +101,6 @@
//
// });
-
}
/**
@@ -106,7 +110,7 @@
try {
viewBinding.homeLoginCheckBCCl.setSelected(UserConfigManage.getInstance().isBAccount());
viewBinding.homeLoginPrivacyCheckIv.setSelected(UserConfigManage.getInstance().isAcceiptPolicy());
- setStringDifferentColors(viewBinding.homeLoginPrivacyTv);
+ setStringDifferentColors(viewBinding.homeLoginPrivacyTv, true);
//娉ㄥ唽鍜屽繕璁板瘑鐮侀渶瑕佸姞涓嬪垝绾�
String registerTvStr = viewBinding.homeLoginRegisterTv.getText().toString();
@@ -122,7 +126,7 @@
public void updateDrawState(@NonNull TextPaint ds) {
super.updateDrawState(ds);
//璁剧疆瀛椾綋棰滆壊
- ds.setColor(getResources().getColor(R.color.text_E6FFFFFF, null));
+ ds.setColor(getResources().getColor(R.color.text_FFACACAC, null));
// 鍘绘帀涓嬪垝绾�
ds.setUnderlineText(true);
}
@@ -142,7 +146,7 @@
public void updateDrawState(@NonNull TextPaint ds) {
super.updateDrawState(ds);
//璁剧疆瀛椾綋棰滆壊
- ds.setColor(getResources().getColor(R.color.text_E6FFFFFF, null));
+ ds.setColor(getResources().getColor(R.color.text_FFACACAC, null));
// 鍘绘帀涓嬪垝绾�
ds.setUnderlineText(true);
}
@@ -171,6 +175,13 @@
// viewBinding.homeLoginPasswordEt.setText(pws);
checkClearIconShowOrNot(viewBinding.homeLoginAccountEt.getText().toString());
isLoginTextViewEnabled();
+ if (UserConfigManage.getInstance().isAutomaticSkipNoNetworkFlag()) {
+ SharedPreUtils.putBoolean("no_network_mode", true);
+ UserConfigManage.getInstance().setNoNetworkFlag(true);
+ UserConfigManage.getInstance().Save();
+ String path = HDLUniMP.UNI_EVENT_OPEN_NONETWORKDEVICELIST + "?mac=" + UserConfigManage.getInstance().getNoNetworkDeviceMac() + "&password=" + UserConfigManage.getInstance().getNoNetworkPassword() + "&autoVerify=false";
+ HdlUniLogic.getInstance().openUniMP(path, null);
+ }
} catch (Exception ignored) {
}
}
@@ -191,11 +202,11 @@
listDialog.setItemOnclickListener(new ListDialogAdapter.OnclickListener() {
@Override
public void onClick(int position, LanguageAdapter.ItemData itemData) {
+ listDialog.dismiss();
UserConfigManage.getInstance().setCurrentAppLanguage(itemData.getLanguage());
UserConfigManage.getInstance().Save();
//閰嶇疆鎺ュ彛璇锋眰璇█
HDLLinkPMSdk.setLanguage(UserConfigManage.getInstance().getCurrentAppLanguage());
- listDialog.dismiss();
AppManagerUtils.getAppManager().finishAllActivity();
Intent intent = new Intent();
intent.setClass(HDLApp.getInstance(), StartActivity.class);
@@ -263,7 +274,7 @@
viewBinding.homeLoginTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
-
+ HDLUniMPSDKManager.isExistsActivity = false;
String account = viewBinding.homeLoginAccountEt.getText().toString().replace(" ", "");
String password = viewBinding.homeLoginPasswordEt.getText().toString().replace(" ", "");
boolean is_login = isLocalCheckAccountAndPassword(account, password);
@@ -273,11 +284,11 @@
boolean isSelected = UserConfigManage.getInstance().isAcceiptPolicy();
if (!isSelected) {
//闅愮鍗忚鎻愮ず
- getDialog();
+ getAcceiptPolicyDialog();
return;
}
//鐧诲綍
- login(account, password);
+ loginAccount(account, password);
}
@@ -310,6 +321,13 @@
startActivity(intent);
}
});
+ //鏃犵綉妯″紡
+ viewBinding.homeNoNetworkModeLoginTv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ noNetworkMode();
+ }
+ });
}
@@ -319,11 +337,12 @@
* @param account 璐﹀彿
* @param password 瀵嗙爜
*/
- private void login(String account, String password) {
+ private void loginAccount(String account, String password) {
showLoading(getString(R.string.home_login_be_logging_in));
HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<HDLUserRegionBean>() {
@Override
public void onSuccess(HDLUserRegionBean obj) {
+ HdlLogLogic.print("璐﹀彿鐧诲綍鎴愬姛---" + account, true);
//寮�鍙戠幆澧�
// String APP_REGIONURL_TEST = "http://47.114.131.143:27197";
// AppConfigManage.setUserRegionUrl(APP_REGIONURL_TEST);
@@ -339,6 +358,30 @@
startActivity(BPowerStationActivity.class);
hideLoading();
finish();
+ //浜戠杩樻病鏈夊尮閰嶅钩鍙板ソ锛屽厛闅愯棌鏍¢獙璐﹀彿鍔熻兘 2025骞�03鏈�24鏃�15:16:37
+// HdlAccountLogic.getInstance().getCompanyParterMenu_B(new CloudCallBeak<Boolean>() {
+// @Override
+// public void onSuccess(Boolean isBoolean) {
+// if (isBoolean) {
+// //2025骞�03鏈�03鏃�14:45:17 鏉ㄦ稕瑕佹眰b绔处鍙烽渶瑕佹楠屾潈闄�
+// restoreButtonStyleToInitializeState();
+// //瀹夎鍟嗚烦杞晫闈�
+// startActivity(BPowerStationActivity.class);
+// hideLoading();
+// finish();
+// } else {
+// hideLoading();
+// HdlThreadLogic.toast(_mActivity, getString(R.string.forbidden_login));
+// }
+// }
+//
+// @Override
+// public void onFailure(HDLException e) {
+// hideLoading();
+// HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")");
+// }
+// });
+
} else {
//C绔渶瑕佸厛鑾峰彇鐢电珯鍒楄〃;
HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() {
@@ -409,6 +452,46 @@
}
/**
+ * 杩涘叆鏃犵綉妯″紡
+ */
+ private void noNetworkMode() {
+ boolean isNoNetworkModeLogin = SharedPreUtils.getBoolean("no_network_mode");
+ if (!isNoNetworkModeLogin) {
+ //绗竴娆℃墦寮�瑕佹彁绀�
+ ConfirmationCancelDialog confirmationCancelDialog = new ConfirmationCancelDialog(_mActivity);
+ confirmationCancelDialog.setTitle(getString(R.string.loading_title_tip));
+ confirmationCancelDialog.setContent(getString(R.string.no_network_mode_tip));
+ confirmationCancelDialog.setConfirmation(getString(R.string.home_login_affirm));
+ confirmationCancelDialog.setCancel(getString(R.string.scan_cancel));
+ confirmationCancelDialog.show();
+ confirmationCancelDialog.getContentTextView().setGravity(Gravity.START);
+ confirmationCancelDialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() {
+ @Override
+ public void Cancel() {
+ confirmationCancelDialog.dismiss();
+ SharedPreUtils.putBoolean("no_network_mode", false);
+ }
+ });
+ confirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
+ @Override
+ public void Confirm() {
+ confirmationCancelDialog.dismiss();
+ SharedPreUtils.putBoolean("no_network_mode", true);
+ UserConfigManage.getInstance().setNoNetworkFlag(true);
+ UserConfigManage.getInstance().Save();
+ String path = HDLUniMP.UNI_EVENT_OPEN_NONETWORKDEVICELIST + "?mac=" + UserConfigManage.getInstance().getNoNetworkDeviceMac() + "&password=" + UserConfigManage.getInstance().getNoNetworkPassword() + "&autoVerify=false";
+ HdlUniLogic.getInstance().openUniMP(path, null);
+ }
+ });
+ } else {
+ UserConfigManage.getInstance().setNoNetworkFlag(true);
+ UserConfigManage.getInstance().Save();
+ String path = HDLUniMP.UNI_EVENT_OPEN_NONETWORKDEVICELIST + "?mac=" + UserConfigManage.getInstance().getNoNetworkDeviceMac() + "&password=" + UserConfigManage.getInstance().getNoNetworkPassword() + "&autoVerify=false";
+ HdlUniLogic.getInstance().openUniMP(path, null);
+ }
+ }
+
+ /**
* 鏍¢獙鐧诲綍鎸夐挳鏄惁鍚敤
*/
private void isLoginTextViewEnabled() {
@@ -416,16 +499,16 @@
String password = viewBinding.homeLoginPasswordEt.getText().toString().replace(" ", "");
boolean isEnabled = account.length() > 0 && password.length() > 0;
if (isEnabled) {
- viewBinding.homeLoginTv.setTextColor(getColor(R.color.text_E6FFFFFF));
+ viewBinding.homeLoginTv.setTextColor(getColor(R.color.text_FFACACAC));
} else {
- viewBinding.homeLoginTv.setTextColor(getColor(R.color.text_66FFFFFF));
+ viewBinding.homeLoginTv.setTextColor(getColor(R.color.text_FF5B5B5B));
}
viewBinding.homeLoginTv.setEnabled(isEnabled);
if (password.length() < 6 || password.length() > 16) {
return;
}
//绗﹀悎瀵嗙爜瑙勫垯鍚庨殣钘忛敊璇彁绀猴紱
- viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_FF5A5A5A));
+// viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_FF5A5A5A));
viewBinding.homeLoginPasswordTextErrorTv.setText("");
}
@@ -455,19 +538,19 @@
*/
private boolean isLocalCheckAccountAndPassword(String account, String password) {
if (TextUtils.isEmpty(account)) {
- viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_D34545));
+// viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_D34545));
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.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_D34545));
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.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_D34545));
viewBinding.homeLoginPasswordTextErrorTv.setText(R.string.home_login_error_6_16_str);
return false;
}
@@ -482,9 +565,9 @@
HdlThreadLogic.runMainThread(new Runnable() {
@Override
public void run() {
- viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_E1E1E1));
+// viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_E1E1E1));
viewBinding.homeLoginAccountTextErrorTv.setText("");
- viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_E1E1E1));
+// viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_E1E1E1));
viewBinding.homeLoginPasswordTextErrorTv.setText("");
}
}, null, null);
@@ -493,12 +576,13 @@
/**
* 璁剧疆涓�涓插瓧绗﹀绉嶉鑹蹭互鍙婄偣鍑讳簨浠�
*
- * @param textView 褰撳墠缁勪欢
+ * @param textView 褰撳墠缁勪欢
+ * @param isHighlight 鏄惁楂樹寒锛坱rue琛ㄧず楂樹寒锛�
*/
- private void setStringDifferentColors(TextView textView) {
+ private void setStringDifferentColors(TextView textView, boolean isHighlight) {
try {
-
+ int text_color = isHighlight ? R.color.text_38C494 : R.color.text_FFACACAC;
if (textView == null) {
return;
}
@@ -536,10 +620,11 @@
@Override
public void updateDrawState(@NonNull TextPaint ds) {
super.updateDrawState(ds);
+
//璁剧疆瀛椾綋棰滆壊
- ds.setColor(getResources().getColor(R.color.text_E6FFFFFF, null));
+ ds.setColor(getResources().getColor(text_color, null));
// 鍘绘帀涓嬪垝绾�
- ds.setUnderlineText(true);
+ ds.setUnderlineText(!UserConfigManage.getInstance().isZh());
}
@@ -560,11 +645,10 @@
public void updateDrawState(@NonNull TextPaint ds) {
super.updateDrawState(ds);
//璁剧疆瀛椾綋棰滆壊
- ds.setColor(getResources().getColor(R.color.text_E6FFFFFF, null));
+ ds.setColor(getResources().getColor(text_color, null));
// 鍘绘帀涓嬪垝绾�
- ds.setUnderlineText(true);
+ ds.setUnderlineText(!UserConfigManage.getInstance().isZh());
}
-
}, startIndex2, endIndex2, 0);
// spannable.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), startIndex2, endIndex2, 0);
@@ -573,7 +657,7 @@
}
textView.setText(spannable);
//涓�旈亣鍒扮偣鍑诲悗瀛椾綋鏄剧ず楂樹寒锛屽彇娑堥珮浜�
- textView.setHighlightColor(getResources().getColor(R.color.text_66FFFFFF, null));
+ textView.setHighlightColor(getResources().getColor(R.color.text_FFACACAC, null));
//鏈�鍚庤缃彲鐐瑰嚮锛屽繀椤诲疄鐜帮紝鍚﹀垯鍙兘鏄剧ず鏍峰紡锛屾棤娉曞疄鐜扮偣鍑绘晥鏋�
textView.setMovementMethod(LinkMovementMethod.getInstance());
} catch (Exception ignored) {
@@ -585,13 +669,13 @@
/**
* 寮圭獥
*/
- private void getDialog() {
+ private void getAcceiptPolicyDialog() {
ConfirmationCancelDialog confirmationCancelDialog = new ConfirmationCancelDialog(_mActivity);
confirmationCancelDialog.show();
confirmationCancelDialog.isHideTitle(true);
confirmationCancelDialog.setContent(getString(R.string.loading_privacy_server));
- setStringDifferentColors(confirmationCancelDialog.getContentTextView());
+ setStringDifferentColors(confirmationCancelDialog.getContentTextView(), true);
confirmationCancelDialog.setConfirmation(getString(R.string.loading_agree));
confirmationCancelDialog.setCancel(getString(R.string.loading_on_agree));
confirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
@@ -602,7 +686,7 @@
confirmationCancelDialog.dismiss();
String account = viewBinding.homeLoginAccountEt.getText().toString().replace(" ", "");
String password = viewBinding.homeLoginPasswordEt.getText().toString().replace(" ", "");
- login(account, password);
+ loginAccount(account, password);
}
});
confirmationCancelDialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() {
--
Gitblit v1.8.0