From c660f059d4e07a1b784442a1bbb4a5109b82e837 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期二, 25 六月 2024 09:51:45 +0800
Subject: [PATCH] Merge branch 'dev' of http://172.16.1.23:6688/r/~wjc/HDLPhotovoltaicDebugAPP into dev

---
 app/src/main/java/com/hdl/photovoltaic/ui/me/TemperatureUnitActivity.java |   75 ++++++++++++++++++++++++++++++++++---
 1 files changed, 69 insertions(+), 6 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 5ecd309..7550b57 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,12 +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;
@@ -24,6 +31,7 @@
     private LanguageAdapter languageAdapter;
 
     private List<LanguageAdapter.ItemData> mList;
+
 
     @Override
     public Object getContentView() {
@@ -45,6 +53,7 @@
     }
 
     private void readData() {
+
         mList = new ArrayList<>();
         LanguageAdapter.ItemData c = new LanguageAdapter.ItemData();
         c.setState(false);
@@ -56,7 +65,6 @@
         f.setTitle(getString(R.string.set_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())) {
@@ -65,14 +73,15 @@
             }
         }
 
+
     }
 
     private void initEvent() {
 
-        viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(new View.OnClickListener() {
+        viewBinding.toolbarTopFragmentHouseListRl.topBackLl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                setResult(40);
+                backPressedData();
                 finish();
             }
         });
@@ -90,8 +99,8 @@
                     }
                     mList.get(position).setState(true);
                     languageAdapter.notifyDataSetChanged();
-                    UserConfigManage.getInstance().setTemperature_unit(itemData.getUnit());
-                    UserConfigManage.getInstance().Save();
+                    setResidenceTemperatureUnit(itemData.getUnit());
+
                 } catch (Exception e) {
                     HdlLogLogic.print(e.getMessage(), false);
                 }
@@ -104,11 +113,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.topBackLl.setVisibility(View.VISIBLE);
         viewBinding.toolbarTopFragmentHouseListRl.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFFFFFFF, null));
         LinearLayoutManager linearLayout = new LinearLayoutManager(_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