From ac7e902dca62fe00f442094a751048a802d13f90 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 16 九月 2025 09:15:28 +0800
Subject: [PATCH] 2025年09月16日09:15:27
---
app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java | 239 ++++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 184 insertions(+), 55 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 f070056..cfb88e9 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java
@@ -4,9 +4,7 @@
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
-import android.text.Spannable;
import android.text.SpannableStringBuilder;
-import android.text.Spanned;
import android.text.TextPaint;
import android.text.TextUtils;
import android.text.TextWatcher;
@@ -14,8 +12,7 @@
import android.text.method.LinkMovementMethod;
import android.text.method.PasswordTransformationMethod;
import android.text.style.ClickableSpan;
-import android.text.style.StyleSpan;
-import android.util.Log;
+import android.view.Gravity;
import android.view.View;
import android.widget.TextView;
@@ -34,9 +31,9 @@
import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.databinding.ActivityHomeLoginBinding;
-import com.hdl.photovoltaic.listener.LinkCallBack;
-import com.hdl.photovoltaic.other.HdlDeviceLogic;
+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;
@@ -46,14 +43,15 @@
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.ConfirmationCancelDialog1;
import com.hdl.photovoltaic.widget.ListDialog;
import com.hdl.photovoltaic.widget.adapter.ListDialogAdapter;
-import com.hdl.sdk.link.common.exception.HDLLinkException;
import java.util.List;
@@ -66,8 +64,6 @@
@Override
public Object getContentView() {
-
- setNotificationBarBackgroundColor(CustomColor.blue);
viewBinding = ActivityHomeLoginBinding.inflate(getLayoutInflater());
return viewBinding.getRoot();
}
@@ -75,6 +71,7 @@
@Override
public void onBindView(Bundle savedInstanceState) {
setStatusBarTranslucent();
+ getWindow().setNavigationBarColor(getColor(R.color.text_00000000));
//鍒濆鍖�
initView();
//鍒濆鍖栫晫闈㈢洃鍚櫒
@@ -104,35 +101,89 @@
//
// });
-
}
/**
* 鍒濆鍖朥I
*/
private void initView() {
- viewBinding.homeLoginCheckBCCl.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");
- }
- if (UserConfigManage.getInstance().isBAccount()) {
- viewBinding.homeLoginRegisterTv.setVisibility(View.GONE);
- } else {
- viewBinding.homeLoginRegisterTv.setVisibility(View.VISIBLE);
- }
+ try {
+ viewBinding.homeLoginCheckBCCl.setSelected(UserConfigManage.getInstance().isBAccount());
+ viewBinding.homeLoginPrivacyCheckIv.setSelected(UserConfigManage.getInstance().isAcceiptPolicy());
+ setStringDifferentColors(viewBinding.homeLoginPrivacyTv, true);
+
+ //娉ㄥ唽鍜屽繕璁板瘑鐮侀渶瑕佸姞涓嬪垝绾�
+ String registerTvStr = viewBinding.homeLoginRegisterTv.getText().toString();
+ String forgetPasswordTvStr = viewBinding.homeLoginForgetPasswordTv.getText().toString();
+ SpannableStringBuilder registerTvStrSpannable = new SpannableStringBuilder(registerTvStr);
+ registerTvStrSpannable.setSpan(new ClickableSpan() {
+ @Override
+ public void onClick(@NonNull View widget) {
+
+ }
+
+ @Override
+ public void updateDrawState(@NonNull TextPaint ds) {
+ super.updateDrawState(ds);
+ //璁剧疆瀛椾綋棰滆壊
+ ds.setColor(getResources().getColor(R.color.text_FFACACAC, null));
+ // 鍘绘帀涓嬪垝绾�
+ ds.setUnderlineText(true);
+ }
+
+
+ }, 0, registerTvStr.length(), 0);
+ viewBinding.homeLoginRegisterTv.setText(registerTvStrSpannable);
+
+ SpannableStringBuilder forgetPasswordTvStrSpannable = new SpannableStringBuilder(forgetPasswordTvStr);
+ forgetPasswordTvStrSpannable.setSpan(new ClickableSpan() {
+ @Override
+ public void onClick(@NonNull View widget) {
+
+ }
+
+ @Override
+ public void updateDrawState(@NonNull TextPaint ds) {
+ super.updateDrawState(ds);
+ //璁剧疆瀛椾綋棰滆壊
+ ds.setColor(getResources().getColor(R.color.text_FFACACAC, null));
+ // 鍘绘帀涓嬪垝绾�
+ ds.setUnderlineText(true);
+ }
+
+
+ }, 0, forgetPasswordTvStr.length(), 0);
+ viewBinding.homeLoginForgetPasswordTv.setText(forgetPasswordTvStrSpannable);
+
+
+ if (UserConfigManage.getInstance().getCurrentAppLanguage().equals(LocalManageUtil.zh)) {
+ viewBinding.homeLoginLanguageTv.setText("绠�浣撲腑鏂�");
+ } else {
+ viewBinding.homeLoginLanguageTv.setText("English");
+ }
+ if (UserConfigManage.getInstance().isBAccount()) {
+ viewBinding.homeLoginRegisterTv.setVisibility(View.GONE);
+ } else {
+ viewBinding.homeLoginRegisterTv.setVisibility(View.VISIBLE);
+ }
// String acc = "18402017839";
// String acc = "13375012441";
// String acc = "18316672920";
// String pws = "123456";
- //娴嬭瘯鐢�
- viewBinding.homeLoginAccountEt.setText(UserConfigManage.getInstance().getAccount());
+ //娴嬭瘯鐢�
+ viewBinding.homeLoginAccountEt.setText(UserConfigManage.getInstance().getAccount());
// viewBinding.homeLoginPasswordEt.setText(pws);
- checkClearIconShowOrNot(viewBinding.homeLoginAccountEt.getText().toString());
- isLoginTextViewEnabled();
+ 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) {
+ }
}
/**
@@ -151,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);
@@ -223,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);
@@ -233,11 +284,11 @@
boolean isSelected = UserConfigManage.getInstance().isAcceiptPolicy();
if (!isSelected) {
//闅愮鍗忚鎻愮ず
- getDialog();
+ getAcceiptPolicyDialog();
return;
}
//鐧诲綍
- Login(account, password);
+ loginAccount(account, password);
}
@@ -270,6 +321,13 @@
startActivity(intent);
}
});
+ //鏃犵綉妯″紡
+ viewBinding.homeNoNetworkModeLoginTv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ noNetworkMode();
+ }
+ });
}
@@ -279,14 +337,15 @@
* @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:27199";
-// AppConfigManage.setUserRegionUrl(APP_REGIONURL_TEST);
+// String APP_REGIONURL_TEST = "http://47.114.131.143:27197";
+// AppConfigManage.setUserRegionUrl(APP_REGIONURL_TEST);
//鍒濆鍖栨湇鍔″煙鍚�
AppConfigManage.setUserRegionUrl(obj.getRegionUrl());
HDLLinkPMUser.getInstance().setUserRegionUrl(AppConfigManage.getUserRegionUrl());
@@ -299,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>>() {
@@ -369,18 +452,63 @@
}
/**
+ * 杩涘叆鏃犵綉妯″紡
+ */
+ 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() {
String account = viewBinding.homeLoginAccountEt.getText().toString().replace(" ", "");
String password = viewBinding.homeLoginPasswordEt.getText().toString().replace(" ", "");
boolean isEnabled = account.length() > 0 && password.length() > 0;
+ if (isEnabled) {
+ viewBinding.homeLoginTv.setTextColor(getColor(R.color.text_FFACACAC));
+ } else {
+ 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_E1E1E1));
+// viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_FF5A5A5A));
viewBinding.homeLoginPasswordTextErrorTv.setText("");
}
@@ -410,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;
}
@@ -437,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);
@@ -448,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;
}
@@ -491,15 +620,16 @@
@Override
public void updateDrawState(@NonNull TextPaint ds) {
super.updateDrawState(ds);
+
//璁剧疆瀛椾綋棰滆壊
- ds.setColor(getResources().getColor(R.color.text_245EC3, null));
+ ds.setColor(getResources().getColor(text_color, null));
// 鍘绘帀涓嬪垝绾�
- ds.setUnderlineText(false);
+ ds.setUnderlineText(!UserConfigManage.getInstance().isZh());
}
}, startIndex1, endIndex1, 0);
- spannable.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), startIndex1, endIndex1, 0);
+// spannable.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), startIndex1, endIndex1, 0);
spannable.setSpan(new ClickableSpan() {
@Override
@@ -515,20 +645,19 @@
public void updateDrawState(@NonNull TextPaint ds) {
super.updateDrawState(ds);
//璁剧疆瀛椾綋棰滆壊
- ds.setColor(getResources().getColor(R.color.text_245EC3, null));
+ ds.setColor(getResources().getColor(text_color, null));
// 鍘绘帀涓嬪垝绾�
- ds.setUnderlineText(false);
+ ds.setUnderlineText(!UserConfigManage.getInstance().isZh());
}
-
}, startIndex2, endIndex2, 0);
- spannable.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), startIndex2, endIndex2, 0);
+// spannable.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), startIndex2, endIndex2, 0);
}
textView.setText(spannable);
//涓�旈亣鍒扮偣鍑诲悗瀛椾綋鏄剧ず楂樹寒锛屽彇娑堥珮浜�
- textView.setHighlightColor(getResources().getColor(R.color.text_00000000, null));
+ textView.setHighlightColor(getResources().getColor(R.color.text_FFACACAC, null));
//鏈�鍚庤缃彲鐐瑰嚮锛屽繀椤诲疄鐜帮紝鍚﹀垯鍙兘鏄剧ず鏍峰紡锛屾棤娉曞疄鐜扮偣鍑绘晥鏋�
textView.setMovementMethod(LinkMovementMethod.getInstance());
} catch (Exception ignored) {
@@ -540,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() {
@@ -557,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