wjc
2023-06-27 f8656588595af6cb716341b5daacba26e350a872
app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
@@ -1,6 +1,8 @@
package com.hdl.photovoltaic.ui;
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.text.Editable;
import android.text.Spannable;
@@ -15,15 +17,34 @@
import android.widget.TextView;
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.photovoltaic.HDLApp;
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.enums.ShowErrorMode;
import com.hdl.photovoltaic.other.HdlResidenceLogic;
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 java.util.List;
public class HomeLoginActivity extends CustomBaseActivity {
@@ -42,12 +63,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() {
@@ -139,7 +188,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 +200,44 @@
//                    //隐私协议提示
//                    return;
//                }
                restoreButtonStyleToInitializeState();
                showLoading(getString(R.string.home_login_登录中));
                HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<LoginUserRegionBean>() {
                    @Override
                    public void onSuccess(LoginUserRegionBean obj) {
                        AppConfigManage.setUserRegionUrl("http://59.41.255.150:7777");//obj.getRegionUrl()
                        HdlAccountLogic.getInstance().loginByPassword(account, password, new CloudCallBeak<LoginUserBean>() {
                            @Override
                            public void onSuccess(LoginUserBean 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(Exception exception) {
                                        hideLoading();
                                        restoreButtonStyleToInitializeState();
                                        startActivity(MyPowerStationActivity.class);
                                    }
                                });
                            }
                            @Override
                            public void onFailure(Exception exception) {
                                hideLoading();
                            }
                        });
                    }
                    @Override
                    public void onFailure(Exception exception) {
                        hideLoading();
                    }
                });
            }
@@ -159,19 +246,8 @@
        viewBinding.homeLoginExperienceTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                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) {
                    }
                });
            }
        });
@@ -189,12 +265,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_账号不能为空);
@@ -220,10 +297,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);
    }
    /**