wjc
2023-06-26 e62bcdaa38f0f00e25610b1a6c6ba847d65640ff
app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
@@ -1,8 +1,9 @@
package com.hdl.photovoltaic.ui;
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.SystemClock;
import android.text.Editable;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
@@ -13,18 +14,27 @@
import android.text.style.ForegroundColorSpan;
import android.util.Log;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.RotateAnimation;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.content.res.AppCompatResources;
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.HdlResidenceLogic;
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.ui.MyPowerStationActivity;
import com.hdl.photovoltaic.utils.FileUtils;
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;
public class HomeLoginActivity extends CustomBaseActivity {
@@ -43,12 +53,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() {
@@ -140,7 +178,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;
                }
@@ -149,9 +190,49 @@
//                    //隐私协议提示
//                    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) {
                                HdlThreadLogic.runMainThread(new Runnable() {
                                    @Override
                                    public void run() {
                                        HdlResidenceLogic.getInstance().getResidenceList(1, 100, new CloudCallBeak<Boolean>() {
                                            @Override
                                            public void onSuccess(Boolean obj) {
                                                hideLoading();
                                                restoreButtonStyleToInitializeState();
                                                startActivity(MyPowerStationActivity.class);
                                            }
                startActivity(MyPowerStationActivity.class);
                                            @Override
                                            public void onFailure(Exception exception) {
                                                hideLoading();
                                                restoreButtonStyleToInitializeState();
                                                startActivity(MyPowerStationActivity.class);
                                            }
                                        });
                                    }
                                }, null, null);
                            }
                            @Override
                            public void onFailure(Exception exception) {
                                hideLoading();
                            }
                        });
                    }
                    @Override
                    public void onFailure(Exception exception) {
                        hideLoading();
                    }
                });
            }
@@ -160,8 +241,14 @@
        viewBinding.homeLoginExperienceTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(MyPowerStationActivity.class);
//                requestPermissions();
//                startActivity(MyPowerStationActivity.class);
                HdlThreadLogic.runMainThread(new Runnable() {
                    @Override
                    public void run() {
                        int s = 1 / 0;
                    }
                }, _mActivity, ShowErrorMode.YES);
            }
        });
@@ -179,12 +266,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_账号不能为空);
@@ -231,4 +319,33 @@
    }
    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();
                }
            }
        }
    }
    public void wifi() {
        WifiUtils wifiUtils = new WifiUtils(HDLApp.getInstance());
//        wifiUtils.getCurrentConnectWifiInfo();
//        wifiUtils.getScanResult();
        wifiUtils.connectWiFi("Application", "12345678", 3);
    }
}