mac
2023-10-13 c13cb54d0b9f9b2c73f213b6cdb163f462fd64c7
app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
@@ -1,6 +1,7 @@
package com.hdl.photovoltaic.ui;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.Spannable;
@@ -17,15 +18,30 @@
import androidx.appcompat.content.res.AppCompatResources;
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.bean.LoginUserRegionBean;
import com.hdl.photovoltaic.config.ConfigManagement;
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.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 java.util.List;
/**
 * 登录的界面
 */
public class HomeLoginActivity extends CustomBaseActivity {
    private ActivityHomeLoginBinding viewBinding;
@@ -42,12 +58,40 @@
        initView();
        //初始化界面监听器
        initEvent();
        //在界面中使用
//        KeyboardStateObserverUtils.getKeyboardStateObserver(_mActivity).setKeyboardVisibilityListener(new KeyboardStateObserverUtils.OnKeyboardVisibilityListener() {
//            @Override
//            public void onKeyboardShow(int h) {
//                //Toast.makeText(MainActivity.this,"键盘弹出",Toast.LENGTH_SHORT).show();
//                ConstraintSet cs = new ConstraintSet();
//                cs.clone(viewBinding.homeLoginParentCl);
////                (viewBinding.loadingConfirmationRl.getTop()-dip2px(h))
//                cs.connect(R.id.home_login_tv, ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM, h);//
//                //应用约束
//                cs.applyTo(viewBinding.homeLoginParentCl);
//            }
//
//            @Override
//
//            public void onKeyboardHide(int h) {
//                ConstraintSet cs = new ConstraintSet();
//                cs.clone(viewBinding.homeLoginParentCl);
//                cs.connect(R.id.home_login_tv, ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM, h);//
//                //应用约束
//                cs.applyTo(viewBinding.homeLoginParentCl);
//            }
//
//        });
    }
    private void initView() {
        setStringDifferentColors(viewBinding.homeLoginPrivacyTv);
        //测试用
        viewBinding.homeLoginAccountEt.setText("13375012441");
        viewBinding.homeLoginPasswordEt.setText("123456");
        isLoginTextViewEnabled();
    }
    private void initEvent() {
@@ -122,11 +166,31 @@
            }
        });
        //选择b端,c端
        viewBinding.homeLoginInstallUserTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                v.setSelected(!v.isSelected());
                UserConfigManage.getInstance().setBAccount(v.isSelected());
                viewBinding.homeLoginCheckIv.setSelected(UserConfigManage.getInstance().isBAccount());
                if (UserConfigManage.getInstance().isBAccount()) {
                    viewBinding.homeLoginRegisterTv.setVisibility(View.GONE);
                } else {
                    viewBinding.homeLoginRegisterTv.setVisibility(View.VISIBLE);
                }
            }
        });
        //选择b端,c端
        viewBinding.homeLoginCheckIv.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() {
@@ -139,7 +203,10 @@
        viewBinding.homeLoginTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                boolean isLogin = isLocalCheckAccountAndPassword();
                String account = viewBinding.homeLoginAccountEt.getText().toString().replace(" ", "");
                String password = viewBinding.homeLoginPasswordEt.getText().toString().replace(" ", "");
                boolean isLogin = isLocalCheckAccountAndPassword(account, password);
                if (!isLogin) {
                    return;
                }
@@ -148,9 +215,45 @@
//                    //隐私协议提示
//                    return;
//                }
                restoreButtonStyleToInitializeState();
                showLoading(getString(R.string.home_login_登录中));
                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() {
                            @Override
                            public void onSuccess(HDLLoginBean obj) {
                                HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() {
                                    @Override
                                    public void onSuccess(List<HouseIdBean> obj) {
                                        hideLoading();
                                        HdlResidenceLogic.getInstance().setHouseIdList(obj);
                                        restoreButtonStyleToInitializeState();
                                        startActivity(MyPowerStationActivity.class);
                                    }
                startActivity(MyPowerStationActivity.class);
                                    @Override
                                    public void onFailure(HDLException e) {
                                        hideLoading();
                                        restoreButtonStyleToInitializeState();
                                        startActivity(MyPowerStationActivity.class);
                                    }
                                });
                            }
                            @Override
                            public void onFailure(HDLException exception) {
                                hideLoading();
                            }
                        });
                    }
                    @Override
                    public void onFailure(HDLException e) {
                        hideLoading();
                    }
                });
            }
@@ -159,19 +262,29 @@
        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);
                HdlAccountLogic.getInstance().regionByAccount("18402017839", new CloudCallBeak<LoginUserRegionBean>() {
                    @Override
                    public void onSuccess(LoginUserRegionBean obj) {
                        ConfigManagement.setUserRegionUrl(obj.getRegionUrl());
                    }
                    @Override
                    public void onFailure(Exception exception) {
                    }
                });
                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);
            }
        });
@@ -189,12 +302,13 @@
    /**
     * 本地校验输入账号或者密码是否正确
     * 正确返回<true>true</true>
     * 一般方法
     *
     * @param account  账号
     * @param password 密码
     *                 正确返回<true>true</true>
     *                 一般方法
     */
    private boolean isLocalCheckAccountAndPassword() {
        String account = viewBinding.homeLoginAccountEt.getText().toString().replace(" ", "");
        String password = viewBinding.homeLoginPasswordEt.getText().toString().replace(" ", "");
    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_账号不能为空);
@@ -209,7 +323,7 @@
        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;
@@ -220,10 +334,15 @@
     * 恢复组件样式到初始化状态
     */
    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);
    }
    /**