mac
2023-12-27 936fb552a30c05fc7a60c20f47bf6fccbc2dc1c1
app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
@@ -3,6 +3,7 @@
import android.content.Intent;
import android.os.Bundle;
import android.os.SystemClock;
import android.text.Editable;
import android.text.SpannableStringBuilder;
import android.text.TextPaint;
@@ -27,21 +28,25 @@
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.other.HdlFileLogic;
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.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.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;
import java.util.Locale;
/**
 * 登录的界面
@@ -53,6 +58,7 @@
    @Override
    public Object getContentView() {
        setNotificationBarBackgroundColor(CustomColor.blue);
        viewBinding = ActivityHomeLoginBinding.inflate(getLayoutInflater());
        return viewBinding.getRoot();
    }
@@ -60,7 +66,8 @@
    @Override
    public void onBindView(Bundle savedInstanceState) {
        setNotificationBarBackgroundColor(CustomColor.white);
        setStatusBarTextColor();
        //初始化
        initView();
        //初始化界面监听器
@@ -101,6 +108,11 @@
        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";
@@ -114,6 +126,23 @@
     * 注册监听事件
     */
    private void initEvent() {
        //语言选择
        viewBinding.homeLoginLanguageTv.setOnClickListener(new View.OnClickListener() {
            @Override
            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());
                    }
                });
            }
        });
        viewBinding.homeLoginAccountEt.addTextChangedListener(accountTextWatcher);
        viewBinding.homeLoginClearContentsIv.setOnClickListener(new View.OnClickListener() {
@@ -200,6 +229,7 @@
                HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<HDLUserRegionBean>() {
                    @Override
                    public void onSuccess(HDLUserRegionBean obj) {
                        //初始化服务域名
                        AppConfigManage.setUserRegionUrl(obj.getRegionUrl());
                        HDLLinkPMUser.getInstance().setUserRegionUrl(AppConfigManage.getUserRegionUrl());
                        HdlAccountLogic.getInstance().loginByPassword(account, password, new ILoginCallBack() {
@@ -228,7 +258,23 @@
                            @Override
                            public void onFailure(HDLException e) {
                                hideLoading();
                                HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")");
                                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() + ")");
                                }
                            }
                        });
                    }
@@ -282,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("");
    }
    /**
@@ -350,21 +403,15 @@
        SpannableStringBuilder spannable = new SpannableStringBuilder(s);
        //设置文字的前景色
//        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);
        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 需要跳转到隐私界面
                    //todo 需要跳转到服务协议界面
                    Intent intent = new Intent();
                    intent.putExtra("type", WebActivity.ServiceAgreement);
                    intent.setClass(_mActivity, WebActivity.class);
                    startActivity(intent);
                }
                @Override
@@ -383,6 +430,10 @@
                @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