From b9cc7390e8e8ce64c41c26fb369c98ce669d660c Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 07 五月 2025 15:02:30 +0800
Subject: [PATCH] Merge branch '1.2.0'

---
 app/src/main/java/com/hdl/photovoltaic/ui/me/TemperatureUnitActivity.java |  122 +++++++++++++++++++++++++++++++++-------
 1 files changed, 101 insertions(+), 21 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/TemperatureUnitActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/TemperatureUnitActivity.java
index 38f277b..9697ddf 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/me/TemperatureUnitActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/TemperatureUnitActivity.java
@@ -1,16 +1,23 @@
 package com.hdl.photovoltaic.ui.me;
 
-import androidx.appcompat.app.AppCompatActivity;
 import androidx.recyclerview.widget.LinearLayoutManager;
 
 import android.os.Bundle;
 import android.view.View;
 
+import com.google.gson.JsonObject;
+import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
-import com.hdl.photovoltaic.databinding.ActivityAccountAndSecurityBinding;
+import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.databinding.ActivityTemperatureUnitBinding;
+import com.hdl.photovoltaic.listener.CloudCallBeak;
+import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.other.HdlResidenceLogic;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
+import com.hdl.photovoltaic.other.HdlUniLogic;
 import com.hdl.photovoltaic.ui.adapter.LanguageAdapter;
+import com.hdl.photovoltaic.uni.HDLUniMP;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -23,7 +30,8 @@
     private ActivityTemperatureUnitBinding viewBinding;
     private LanguageAdapter languageAdapter;
 
-    private List<LanguageAdapter.ItemData> list;
+    private List<LanguageAdapter.ItemData> mList;
+
 
     @Override
     public Object getContentView() {
@@ -33,8 +41,8 @@
 
     @Override
     public void onBindView(Bundle savedInstanceState) {
-        setNotificationBarBackgroundColor(CustomColor.white);
-        setStatusBarTextColor();
+        setStatusBarTranslucent();
+        getWindow().setNavigationBarColor(getColor(R.color.text_FF000000));
         readData();
         //鍒濆鍖�
         initView();
@@ -45,23 +53,35 @@
     }
 
     private void readData() {
-        list = new ArrayList<>();
+
+        mList = new ArrayList<>();
         LanguageAdapter.ItemData c = new LanguageAdapter.ItemData();
         c.setState(false);
         c.setTitle(getString(R.string.set_c));
-        list.add(c);
+        c.setUnit("鈩�");
+        mList.add(c);
         LanguageAdapter.ItemData f = new LanguageAdapter.ItemData();
         f.setState(false);
         f.setTitle(getString(R.string.set_f));
-        list.add(f);
+        f.setUnit("鈩�");
+        mList.add(f);
+        for (int i = 0; i < mList.size(); i++) {
+            LanguageAdapter.ItemData itemData = mList.get(i);
+            if (itemData.getUnit().equals(UserConfigManage.getInstance().getTemperature_unit())) {
+                //鍒濆鍖栦箣鍓嶇姸鎬�
+                itemData.setState(true);
+            }
+        }
+
 
     }
 
     private void initEvent() {
 
-        viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(new View.OnClickListener() {
+        viewBinding.toolbarTopRl.topBackLl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                backPressedData();
                 finish();
             }
         });
@@ -69,27 +89,87 @@
         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);
+                try {
+                    if (position < 0 || position > mList.size()) {
+                        return;
+                    }
+                    for (int i = 0; i < mList.size(); i++) {
+                        LanguageAdapter.ItemData data = mList.get(i);
+                        data.setState(false);
+                    }
+                    mList.get(position).setState(true);
+                    languageAdapter.notifyDataSetChanged();
+                    setResidenceTemperatureUnit(itemData.getUnit());
+
+                } catch (Exception e) {
+                    HdlLogLogic.print(e.getMessage(), false);
                 }
-                list.get(position).setState(true);
-                languageAdapter.notifyDataSetChanged();
-
-
             }
         });
 
     }
 
+
     private void initView() {
-        viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setText(R.string.set_temperature_unit);
-        viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setTextColor(getResources().getColor(R.color.text_030D1C, null));
-        viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setVisibility(View.VISIBLE);
-        viewBinding.toolbarTopFragmentHouseListRl.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFFFFFFF, null));
+        viewBinding.toolbarTopRl.topTitleTv.setText(R.string.set_temperature_unit);
+        viewBinding.toolbarTopRl.topBackLl.setVisibility(View.VISIBLE);
         LinearLayoutManager linearLayout = new LinearLayoutManager(_mActivity);
-        languageAdapter = new LanguageAdapter(this.list, _mActivity);
+        languageAdapter = new LanguageAdapter(this.mList, _mActivity);
         viewBinding.languageRc.setLayoutManager(linearLayout);
         viewBinding.languageRc.setAdapter(languageAdapter);
     }
+
+    /**
+     * 閰嶇疆浣忓畢娓╁害鍗曚綅
+     *
+     * @param unit 鍗曚綅
+     */
+    private void setResidenceTemperatureUnit(String unit) {
+        if (UserConfigManage.getInstance().getTemperature_unit().equals(unit)) {
+            return;
+        }
+        String tempType = "C";
+        if (unit.contains("鈩�")) {
+            tempType = "C";
+        } else {
+            tempType = "F";
+        }
+        HdlResidenceLogic.getInstance().setResidenceTemperatureUnit(tempType, new CloudCallBeak<Boolean>() {
+            @Override
+            public void onSuccess(Boolean obj) {
+                UserConfigManage.getInstance().setTemperature_unit(unit);
+                UserConfigManage.getInstance().Save();
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+                HdlThreadLogic.toast(_mActivity, e);
+            }
+        });
+    }
+
+    /**
+     * 鐗╃悊鎸夐敭杩斿洖浜嬩欢
+     */
+    @Override
+    public void onBackPressed() {
+        backPressedData();
+        super.onBackPressed();
+    }
+
+    /**
+     * 杩斿洖缁欎笂涓�绾х晫闈㈡暟鎹�
+     */
+    private void backPressedData() {
+        setResult(40);
+        //閫氱煡缁欏皬绋嬪簭鏇存柊娓╁害鍗曚綅
+        HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
+        JsonObject jsonObject = new JsonObject();
+        jsonObject.addProperty("temperature_unit", UserConfigManage.getInstance().getTemperature_unit());
+        uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_REFRESH_TEMPERATURE);
+        uniCallBackBaseBean.setData(jsonObject);
+        HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean);
+    }
+
+
 }
\ No newline at end of file

--
Gitblit v1.8.0