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 | 118 +++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 91 insertions(+), 27 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 a51d6ef..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("鈩�"); - 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) { + backPressedData(); finish(); } }); @@ -82,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(); } }); @@ -99,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