From d1ebb94e1a17b7c25d4fcf73d85345d92cc86b5c Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 02 一月 2024 18:41:34 +0800
Subject: [PATCH] 2024年01月02日18:41:32

---
 app/src/main/java/com/hdl/photovoltaic/ui/me/languageSelectionActivity.java |   78 ++++++++++++++++++++++++++++++++------
 1 files changed, 65 insertions(+), 13 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/languageSelectionActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/languageSelectionActivity.java
index e35dad7..205f34e 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/me/languageSelectionActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/languageSelectionActivity.java
@@ -2,22 +2,30 @@
 
 import androidx.recyclerview.widget.LinearLayoutManager;
 
+import android.content.Intent;
 import android.os.Bundle;
 import android.view.View;
 
+import com.hdl.photovoltaic.HDLApp;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
+import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.databinding.ActivityLanguageSelectionBinding;
+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 java.util.ArrayList;
 import java.util.List;
 
+
+/**
+ * 璇█閫夋嫨鐨勭晫闈�
+ */
 public class languageSelectionActivity extends CustomBaseActivity {
 
-    /**
-     * 璇█閫夋嫨鐨勭晫闈�
-     */
     private ActivityLanguageSelectionBinding viewBinding;
 
     private LanguageAdapter languageAdapter;
@@ -44,15 +52,14 @@
     }
 
     private void readData() {
-        list = new ArrayList<>();
-        LanguageAdapter.ItemData zh = new LanguageAdapter.ItemData();
-        zh.setState(false);
-        zh.setTitle("绠�浣撲腑鏂�");
-        list.add(zh);
-        LanguageAdapter.ItemData en = new LanguageAdapter.ItemData();
-        en.setState(false);
-        en.setTitle("English");
-        list.add(en);
+        list = LocalManageUtil.getLanguageList();
+        for (int i = 0; i < list.size(); i++) {
+            LanguageAdapter.ItemData itemData = list.get(i);
+            if (itemData.getLanguage().equals(UserConfigManage.getInstance().getCurrentAppLanguage())) {
+                //鍒濆鍖栦箣鍓嶇姸鎬�
+                itemData.setState(true);
+            }
+        }
 
     }
 
@@ -61,6 +68,7 @@
         viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                setResult(30);
                 finish();
             }
         });
@@ -68,17 +76,61 @@
         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);
 
             }
         });
 
+
+    }
+
+    /**
+     * 浜屾纭鎻愮ず妗�
+     *
+     * @param itemData 閫変腑鏁版嵁
+     */
+    private void languageSelectionDialog(LanguageAdapter.ItemData itemData) {
+        ConfirmationCancelDialog dialog = new ConfirmationCancelDialog(this);
+        dialog.setTitle(getString(R.string.loading_title_tip));
+        dialog.setContent(getString(R.string.loading_app_restart));
+        dialog.show();
+        dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
+            @Override
+            public void Confirm() {
+                UserConfigManage.getInstance().setCurrentAppLanguage(itemData.getLanguage());
+                UserConfigManage.getInstance().Save();
+                AppManagerUtils.getAppManager().finishAllActivity();
+                Intent intent = new Intent();
+                intent.setClass(HDLApp.getInstance(), StartActivity.class);
+                startActivity(intent);
+            }
+        });
+        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();
+            }
+        });
     }
 
     private void initView() {

--
Gitblit v1.8.0