mac
2023-12-06 d830fef6a2bc2ab061e6ac2b423c4a49dda3cf21
app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java
@@ -9,9 +9,12 @@
import android.os.IBinder;
import android.view.View;
import androidx.annotation.Nullable;
import com.hdl.linkpm.sdk.HDLLinkPMSdk;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
import com.hdl.photovoltaic.HDLApp;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.config.UserConfigManage;
@@ -21,7 +24,11 @@
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlAccountLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.ui.StartActivity;
import com.hdl.photovoltaic.ui.adapter.LanguageAdapter;
import com.hdl.photovoltaic.utils.AppManagerUtils;
import com.hdl.photovoltaic.utils.LocalManageUtil;
import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
import com.hdl.photovoltaic.widget.ConfirmationInputDialog;
/**
@@ -31,6 +38,7 @@
    private ActivitySetBinding viewBinding;
    @Override
    public Object getContentView() {
@@ -60,21 +68,27 @@
        viewBinding.setLanguageIl.getRoot().setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(languageSelectionActivity.class);
                Intent intent = new Intent();
                intent.setClass(_mActivity, languageSelectionActivity.class);
                startActivityForResult(intent, 30);
            }
        });
        //账号与安全
        viewBinding.setAccountSecurityIl.getRoot().setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(AccountAndSecurityActivity.class);
                Intent intent = new Intent();
                intent.setClass(_mActivity, AccountAndSecurityActivity.class);
                startActivity(intent);
            }
        });
        //温度单位
        viewBinding.setTemperatureUnitIl.getRoot().setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(TemperatureUnitActivity.class);
                Intent intent = new Intent();
                intent.setClass(_mActivity, TemperatureUnitActivity.class);
                startActivityForResult(intent, 40);
            }
        });
        //退出登录
@@ -96,54 +110,48 @@
        viewBinding.setLanguageIl.sllLlRlNameTv.setText(R.string.set_multilingual);
        viewBinding.setAccountSecurityIl.sllLlRlNameTv.setText(R.string.set_account_security);
        viewBinding.setTemperatureUnitIl.sllLlRlNameTv.setText(R.string.set_temperature_unit);
        viewBinding.setLanguageIl.sllLlRlRightContentTv.setVisibility(View.VISIBLE);
        String str = LocalManageUtil.getLanguage(UserConfigManage.getInstance().getCurrentAppLanguage()).getTitle();
        viewBinding.setLanguageIl.sllLlRlRightContentTv.setText(str);
        viewBinding.setTemperatureUnitIl.sllLlRlRightContentTv.setVisibility(View.VISIBLE);
        viewBinding.setTemperatureUnitIl.sllLlRlRightContentTv.setText(UserConfigManage.getInstance().getTemperature_unit());
    }
    /**
     * 修改用户昵称
     */
    private void changedNickname() {
        if (UserConfigManage.getInstance().isBAccount()) {
            //todo B端不支持更改昵称
        } else {
            ConfirmationInputDialog confirmationInputDialog = new ConfirmationInputDialog(_mActivity);
            confirmationInputDialog.setTitle(getString(R.string.set_nickname_modification));
            confirmationInputDialog.setEditContent(UserConfigManage.getInstance().getUserName());
            confirmationInputDialog.show();
            confirmationInputDialog.setYesOnclickListener(new ConfirmationInputDialog.onYesOnclickListener() {
                @Override
                public void Confirm(String str) {
                    HdlAccountLogic.getInstance().updateMemberInfo_C("", str, "", "", "", "", new CloudCallBeak<Boolean>() {
                        @Override
                        public void onSuccess(Boolean obj) {
                            UserConfigManage.getInstance().setUserName(str);
                            UserConfigManage.getInstance().Save();
                            HdlThreadLogic.tipFlashingBox(_mActivity, true, getString(R.string.home_login_change_name_succeed), 0);
                        }
                        @Override
                        public void onFailure(HDLException e) {
                            HdlThreadLogic.tipFlashingBox(_mActivity, false, e.getMessage(), e.getCode());
                        }
                    });
                }
            });
            confirmationInputDialog.setNoOnclickListener(new ConfirmationInputDialog.onNoOnclickListener() {
                @Override
                public void Cancel() {
                    confirmationInputDialog.dismiss();
                }
            });
    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 30 && resultCode == 30) {
            String str = LocalManageUtil.getLanguage(UserConfigManage.getInstance().getCurrentAppLanguage()).getTitle();
            viewBinding.setLanguageIl.sllLlRlRightContentTv.setText(str);
        } else if (requestCode == 40 && resultCode == 40) {
            viewBinding.setTemperatureUnitIl.sllLlRlRightContentTv.setText(UserConfigManage.getInstance().getTemperature_unit());
        }
    }
    /**
     * 退出登录请求的方法
     */
    private void logoutRequest() {
        HDLLinkPMUser.getInstance().logout(0);
        // 二次确认提示框
        ConfirmationCancelDialog dialog = new ConfirmationCancelDialog(this);
        dialog.setTitle(getString(R.string.loading_title_tip));
        dialog.setContent(getString(R.string.loading_log_out));
        dialog.show();
        dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
            @Override
            public void Confirm() {
                HDLLinkPMUser.getInstance().logout(0);
            }
        });
        dialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() {
            @Override
            public void Cancel() {
                dialog.dismiss();
            }
        });
    }
}