From 3f41182984d69d7fae703776edd1591f48dff93f Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期三, 22 十一月 2023 17:13:05 +0800 Subject: [PATCH] 2023年11月22日17:12:40 --- app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java | 410 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 276 insertions(+), 134 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 adf4e9f..de54baa 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,35 +19,47 @@ import androidx.annotation.NonNull; import androidx.appcompat.content.res.AppCompatResources; -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.config.UserConfigManage; import com.hdl.photovoltaic.other.HdlResidenceLogic; -import com.hdl.photovoltaic.ui.bean.LoginUserBean; -import com.hdl.photovoltaic.ui.bean.LoginUserRegionBean; +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.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.utils.PermissionUtils; -import com.hdl.photovoltaic.utils.WifiUtils; +import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; +import com.hdl.photovoltaic.widget.ConfirmationCancelDialog1; +import java.util.List; +/** + * 鐧诲綍鐨勭晫闈� + */ public class HomeLoginActivity extends CustomBaseActivity { private ActivityHomeLoginBinding viewBinding; @Override public Object getContentView() { + + viewBinding = ActivityHomeLoginBinding.inflate(getLayoutInflater()); return viewBinding.getRoot(); } @Override public void onBindView(Bundle savedInstanceState) { + + //鍒濆鍖� initView(); //鍒濆鍖栫晫闈㈢洃鍚櫒 @@ -81,43 +92,29 @@ } + /** + * 鍒濆鍖朥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); + + 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() { - @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) { @@ -125,22 +122,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) { @@ -161,17 +143,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()); } }); //鐧诲綍 @@ -185,52 +189,53 @@ 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) { - HdlThreadLogic.runMainThread(new Runnable() { + public void onSuccess(HDLLoginBean obj) { + HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() { @Override - public void run() { - HdlResidenceLogic.getInstance().getResidenceList(1, 100, new CloudCallBeak<Boolean>() { - @Override - public void onSuccess(Boolean obj) { - hideLoading(); - restoreButtonStyleToInitializeState(); - startActivity(MyPowerStationActivity.class); - } - - @Override - public void onFailure(Exception exception) { - hideLoading(); - restoreButtonStyleToInitializeState(); - startActivity(MyPowerStationActivity.class); - } - }); + public void onSuccess(List<HouseIdBean> obj) { + hideLoading(); + HdlResidenceLogic.getInstance().setHouseIdList(obj); + restoreButtonStyleToInitializeState(); + startActivity(MyPowerStationActivity.class); + finish(); } - }, null, null); + @Override + 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() + ")"); } }); @@ -241,14 +246,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); - HdlThreadLogic.runMainThread(new Runnable() { - @Override - public void run() { - int s = 1 / 0; - } - }, _mActivity, ShowErrorMode.YES); + } + }); + //娉ㄥ唽 + 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); } }); @@ -275,19 +294,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; @@ -298,54 +317,177 @@ * 鎭㈠缁勪欢鏍峰紡鍒板垵濮嬪寲鐘舵�� */ 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); } /** - * 璁剧疆涓�涓插瓧绗﹀绉嶉鑹� + * 璁剧疆涓�涓插瓧绗﹀绉嶉鑹蹭互鍙婄偣鍑讳簨浠� * - * @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); - } +// spannable.setSpan(new ForegroundColorSpan(getColor(R.color.text_245EC3)), startIndex1, endIndex1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); +// spannable.setSpan(new ForegroundColorSpan(getColor(R.color.text_245EC3)), startIndex2, endIndex2, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); +// textView.setText(spannable); - - private void requestPermissions() { - String[] ary = PermissionUtils.checkPermission(_mActivity, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}); - if (ary.length > 0) { - requestPermissions(ary, PermissionUtils.STATUS_SUCCESS); - } else { - wifi(); - } - } - - @Override - public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { - super.onRequestPermissionsResult(requestCode, permissions, grantResults); - if (requestCode == PermissionUtils.STATUS_SUCCESS) { - for (int i = 0; i < permissions.length; i++) { - if (grantResults[i] == PackageManager.PERMISSION_GRANTED) { - wifi(); + if (textView.getTag() != null && textView.getTag().toString().equals("click")) { +// textView.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View v) { +// //todo 闇�瑕佽烦杞埌闅愮鐣岄潰 +// } +// }); + spannable.setSpan(new ClickableSpan() { + @Override + public void onClick(@NonNull View widget) { + //todo 闇�瑕佽烦杞埌闅愮鐣岄潰 } + @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 闇�瑕佽烦杞埌闅愮鐣岄潰 + } + + @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); } - public void wifi() { - WifiUtils wifiUtils = new WifiUtils(HDLApp.getInstance()); -// wifiUtils.getCurrentConnectWifiInfo(); -// wifiUtils.getScanResult(); - wifiUtils.connectWiFi("Application", "12345678", 3); - } + } \ No newline at end of file -- Gitblit v1.8.0