From 44ba605a4e850efa757020da5fb4cf02bdf6e3ab Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 08 九月 2025 10:55:18 +0800
Subject: [PATCH] 2025年09月08日10:55:15
---
app/src/main/java/com/hdl/photovoltaic/ui/me/TemperatureUnitActivity.java | 122 +++++++++++++++++++++++++++++++---------
1 files changed, 94 insertions(+), 28 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 bf45236..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,19 +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.config.UserConfigManage;
-import com.hdl.photovoltaic.databinding.ActivityAccountAndSecurityBinding;
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.utils.AppManagerUtils;
-import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
+import com.hdl.photovoltaic.uni.HDLUniMP;
import java.util.ArrayList;
import java.util.List;
@@ -26,7 +30,8 @@
private ActivityTemperatureUnitBinding viewBinding;
private LanguageAdapter languageAdapter;
- private List<LanguageAdapter.ItemData> list;
+ private List<LanguageAdapter.ItemData> mList;
+
@Override
public Object getContentView() {
@@ -36,8 +41,8 @@
@Override
public void onBindView(Bundle savedInstanceState) {
- setNotificationBarBackgroundColor(CustomColor.white);
- setStatusBarTextColor();
+ setStatusBarTranslucent();
+ getWindow().setNavigationBarColor(getColor(R.color.text_FF000000));
readData();
//鍒濆鍖�
initView();
@@ -48,33 +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("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));
- f.setUnit("F");
- list.add(f);
-
- for (int i = 0; i < list.size(); i++) {
- LanguageAdapter.ItemData itemData = list.get(i);
+ 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();
}
});
@@ -82,14 +89,21 @@
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();
- UserConfigManage.getInstance().setTemperature_unit(itemData.getUnit());
- UserConfigManage.getInstance().Save();
}
});
@@ -97,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