From 8814f3f0828e6ac652a29cc9de9f971fd55bca5b Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 07 五月 2025 14:54:42 +0800
Subject: [PATCH] 2025年05月07日14:54:39

---
 app/src/main/java/com/hdl/photovoltaic/ui/me/TemperatureUnitActivity.java |  115 +++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 91 insertions(+), 24 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 8fdf369..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
@@ -5,11 +5,19 @@
 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.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;
@@ -22,7 +30,8 @@
     private ActivityTemperatureUnitBinding viewBinding;
     private LanguageAdapter languageAdapter;
 
-    private List<LanguageAdapter.ItemData> list;
+    private List<LanguageAdapter.ItemData> mList;
+
 
     @Override
     public Object getContentView() {
@@ -32,8 +41,8 @@
 
     @Override
     public void onBindView(Bundle savedInstanceState) {
-        setNotificationBarBackgroundColor(CustomColor.white);
-        setStatusBarTextColor();
+        setStatusBarTranslucent();
+        getWindow().setNavigationBarColor(getColor(R.color.text_FF000000));
         readData();
         //鍒濆鍖�
         initView();
@@ -44,34 +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));
         c.setUnit("鈩�");
-        list.add(c);
+        mList.add(c);
         LanguageAdapter.ItemData f = new LanguageAdapter.ItemData();
         f.setState(false);
         f.setTitle(getString(R.string.set_f));
         f.setUnit("鈩�");
-        list.add(f);
-
-        for (int i = 0; i < list.size(); i++) {
-            LanguageAdapter.ItemData itemData = list.get(i);
+        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) {
-                setResult(40);
+                backPressedData();
                 finish();
             }
         });
@@ -79,16 +89,21 @@
         languageAdapter.setNoOnclickListener(new LanguageAdapter.OnclickListener() {
             @Override
             public void onClick(int position, LanguageAdapter.ItemData itemData) {
+                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());
 
-
-                for (int i = 0; i < list.size(); i++) {
-                    LanguageAdapter.ItemData data = list.get(i);
-                    data.setState(false);
+                } catch (Exception e) {
+                    HdlLogLogic.print(e.getMessage(), false);
                 }
-                list.get(position).setState(true);
-                languageAdapter.notifyDataSetChanged();
-                UserConfigManage.getInstance().setTemperature_unit(itemData.getUnit());
-                UserConfigManage.getInstance().Save();
             }
         });
 
@@ -96,13 +111,65 @@
 
 
     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