From 936fb552a30c05fc7a60c20f47bf6fccbc2dc1c1 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期三, 27 十二月 2023 16:17:23 +0800 Subject: [PATCH] 备份一下代码 --- app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java | 376 +++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 293 insertions(+), 83 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 5292e09..c528186 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,18 @@ package com.hdl.photovoltaic.ui; -import android.Manifest; -import android.content.pm.PackageManager; +import android.content.Intent; import android.os.Bundle; +import android.os.SystemClock; 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,51 +20,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.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.HDLApp; 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.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 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(); //鍒濆鍖栫晫闈㈢洃鍚櫒 @@ -97,43 +100,51 @@ } + /** + * 鍒濆鍖朥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) { + 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) { - } - - @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); + 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) { @@ -141,22 +152,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) { @@ -177,17 +173,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()); } }); //鐧诲綍 @@ -201,17 +219,18 @@ if (!isLogin) { return; } -// boolean isSelected = viewBinding.homeLoginPrivacyCheckIv.isSelected(); -// if(!isSelected){ -// //闅愮鍗忚鎻愮ず -// return; -// } - Log.d("娴嬭瘯涓�", "123456789"); - showLoading(getString(R.string.home_login_鐧诲綍涓�)); + 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(HDLUserRegionBean obj) { - AppConfigManage.setUserRegionUrl("http://59.41.255.150:7777");//obj.getRegionUrl() + //鍒濆鍖栨湇鍔″煙鍚� + AppConfigManage.setUserRegionUrl(obj.getRegionUrl()); HDLLinkPMUser.getInstance().setUserRegionUrl(AppConfigManage.getUserRegionUrl()); HdlAccountLogic.getInstance().loginByPassword(account, password, new ILoginCallBack() { @Override @@ -223,6 +242,7 @@ HdlResidenceLogic.getInstance().setHouseIdList(obj); restoreButtonStyleToInitializeState(); startActivity(MyPowerStationActivity.class); + finish(); } @Override @@ -230,13 +250,31 @@ hideLoading(); restoreButtonStyleToInitializeState(); startActivity(MyPowerStationActivity.class); + finish(); } }); } @Override - public void onFailure(HDLException exception) { + public void onFailure(HDLException e) { hideLoading(); + if (e.getCode() == 10019) { + //鐢ㄦ埛宸茬粡琚攣瀹氶敊璇爜 + try { + if (e.getmExtra() != null) { + if (System.currentTimeMillis() < e.getmExtra().getUnlockTime()) { + long time = e.getmExtra().getUnlockTime() - System.currentTimeMillis(); + int minute = Integer.parseInt(TimeUtils.getMinuteTime(time)); + HdlThreadLogic.toast(_mActivity, e.getMsg() + "鍓╀綑" + minute + "鍒嗛挓" + "(" + e.getCode() + ")"); + } + } + } catch (Exception ee) { + HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")"); + } + + } else { + HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")"); + } } }); } @@ -244,6 +282,7 @@ @Override public void onFailure(HDLException e) { hideLoading(); + HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")"); } }); @@ -254,9 +293,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); } }); @@ -270,6 +328,13 @@ String password = viewBinding.homeLoginPasswordEt.getText().toString().replace(" ", ""); boolean isEnabled = account.length() > 0 && password.length() > 0; viewBinding.homeLoginTv.setEnabled(isEnabled); + if (password.length() < 6 || password.length() > 16) { + return; + } + //绗﹀悎瀵嗙爜瑙勫垯鍚庨殣钘忛敊璇彁绀猴紱 + viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_E1E1E1)); + viewBinding.homeLoginPasswordTextErrorTv.setText(""); + } /** @@ -283,19 +348,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; @@ -318,17 +383,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