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