mac
2024-03-26 07fb950b0f6c460e4cc60c4e262bc5992074790e
app/src/main/java/com/hdl/photovoltaic/ui/me/languageSelectionActivity.java
@@ -6,6 +6,7 @@
import android.os.Bundle;
import android.view.View;
import com.hdl.linkpm.sdk.HDLLinkPMSdk;
import com.hdl.photovoltaic.HDLApp;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
@@ -13,6 +14,7 @@
import com.hdl.photovoltaic.databinding.ActivityLanguageSelectionBinding;
import com.hdl.photovoltaic.ui.StartActivity;
import com.hdl.photovoltaic.ui.adapter.LanguageAdapter;
import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
import com.hdl.photovoltaic.utils.AppManagerUtils;
import com.hdl.photovoltaic.utils.LocalManageUtil;
import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
@@ -68,6 +70,7 @@
        viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                setResult(30);
                finish();
            }
        });
@@ -75,12 +78,17 @@
        languageAdapter.setNoOnclickListener(new LanguageAdapter.OnclickListener() {
            @Override
            public void onClick(int position, LanguageAdapter.ItemData itemData) {
                for (int i = 0; i < list.size(); i++) {
                    LanguageAdapter.ItemData data = list.get(i);
                    data.setState(false);
                }
                list.get(position).setState(true);
                languageAdapter.notifyDataSetChanged();
                if (UserConfigManage.getInstance().getCurrentAppLanguage().equals(itemData.getLanguage())) {
                    //同一个不执行弹窗
                    return;
                }
                languageSelectionDialog(itemData);
            }
@@ -104,6 +112,17 @@
            public void Confirm() {
                UserConfigManage.getInstance().setCurrentAppLanguage(itemData.getLanguage());
                UserConfigManage.getInstance().Save();
                //配置接口请求语言
                HDLLinkPMSdk.setLanguage(UserConfigManage.getInstance().getCurrentAppLanguage());
                dialog.dismiss();
                if (!UserConfigManage.getInstance().isBAccount()) {
                    finish();
                    //因为C端主界面是uni写的,这里语言切换必须报uni关掉再重新启动,否则会收不到uni发过来的数据(接口为null)
                    if (null != HDLUniMPSDKManager.getInstance().getUniMP()) {
                        HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP();
                    }
                    HDLUniMPSDKManager.getInstance().initDCUniMPSDK(HDLApp.getInstance());
                }
                AppManagerUtils.getAppManager().finishAllActivity();
                Intent intent = new Intent();
                intent.setClass(HDLApp.getInstance(), StartActivity.class);
@@ -113,6 +132,15 @@
        dialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() {
            @Override
            public void Cancel() {
                //取消之后还原之前状态
                for (int i = 0; i < list.size(); i++) {
                    LanguageAdapter.ItemData data = list.get(i);
                    data.setState(false);
                    if (UserConfigManage.getInstance().getCurrentAppLanguage().equals(data.getLanguage())) {
                        data.setState(true);
                    }
                }
                languageAdapter.notifyDataSetChanged();
                dialog.dismiss();
            }
        });