wjc
2025-04-09 0b357bcd7c472c91227093239f180a28638c57a4
app/src/main/java/com/hdl/photovoltaic/ui/me/UnregisterActivity.java
New file
@@ -0,0 +1,127 @@
package com.hdl.photovoltaic.ui.me;
import android.os.Bundle;
import android.text.TextUtils;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.view.View;
import androidx.appcompat.content.res.AppCompatResources;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.databinding.ActivityUnregisterBinding;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlAccountLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
/**
 * 注销账号的界面
 */
public class UnregisterActivity extends CustomBaseActivity {
    private ActivityUnregisterBinding viewBinding;
    @Override
    public Object getContentView() {
        viewBinding = ActivityUnregisterBinding.inflate(getLayoutInflater());
        return viewBinding.getRoot();
    }
    @Override
    public void onBindView(Bundle savedInstanceState) {
        setStatusBarTranslucent();
        getWindow().setNavigationBarColor(getColor(R.color.text_FF000000));
        //初始化
        initView();
        //初始化界面监听器
        initEvent();
    }
    private void initEvent() {
        viewBinding.toolbarTopRl.topBackLl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
        //密码隐藏按钮
        viewBinding.pswHideIv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (v.isSelected()) {
                    v.setSelected(false);
                    viewBinding.pswHideIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.hide));
                    viewBinding.pswEt.setTransformationMethod(PasswordTransformationMethod.getInstance());
                } else {
                    v.setSelected(true);
                    viewBinding.pswHideIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.show));
                    viewBinding.pswEt.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
                }
                if (!TextUtils.isEmpty(viewBinding.pswEt.getText())) {
                    viewBinding.pswEt.setSelection(viewBinding.pswEt.getText().length());
                }
            }
        });
        viewBinding.immediateCancellationTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String pswStr = viewBinding.pswEt.getText().toString();
                if (TextUtils.isEmpty(pswStr)) {
                    HdlThreadLogic.tipFlashingBox(_mActivity, false, getString(R.string.home_login_error_password_null), -1);
                    return;
                }
                HdlAccountLogic.getInstance().accountUnregisterC(pswStr, new CloudCallBeak<Boolean>() {
                    @Override
                    public void onSuccess(Boolean obj) {
                        logoutRequest();
                    }
                    @Override
                    public void onFailure(HDLException e) {
                        HdlThreadLogic.tipFlashingBox(_mActivity, false, e.getMsg(), e.getCode());
                    }
                });
            }
        });
    }
    private void initView() {
        viewBinding.toolbarTopRl.topTitleTv.setText(R.string.immediate_cancellation);
        viewBinding.toolbarTopRl.topBackLl.setVisibility(View.VISIBLE);
        viewBinding.accEt.setText(UserConfigManage.getInstance().getAccount());
    }
    /**
     * 退出登录请求的方法
     */
    private void logoutRequest() {
        // 二次确认提示框
        ConfirmationCancelDialog dialog = new ConfirmationCancelDialog(this);
        dialog.show();
        dialog.setContent(getString(R.string.confirm_account));
        dialog.isHideTitle(true);
        dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
            @Override
            public void Confirm() {
                dialog.dismiss();
                HdlLogLogic.print("注销账号退出登录--->", true);
                HDLLinkPMUser.getInstance().logout(0);
            }
        });
        dialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() {
            @Override
            public void Cancel() {
                dialog.dismiss();
            }
        });
    }
}