mac
2023-12-29 ecaff4ffd05c630ac32e49daf3b9b8904052b0fe
app/src/main/java/com/hdl/photovoltaic/ui/me/TemperatureUnitActivity.java
@@ -3,13 +3,18 @@
import androidx.recyclerview.widget.LinearLayoutManager;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
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.ui.adapter.LanguageAdapter;
import java.util.ArrayList;
@@ -24,6 +29,7 @@
    private LanguageAdapter languageAdapter;
    private List<LanguageAdapter.ItemData> mList;
    @Override
    public Object getContentView() {
@@ -45,6 +51,7 @@
    }
    private void readData() {
        mList = new ArrayList<>();
        LanguageAdapter.ItemData c = new LanguageAdapter.ItemData();
        c.setState(false);
@@ -56,7 +63,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())) {
@@ -64,6 +70,7 @@
                itemData.setState(true);
            }
        }
    }
@@ -90,8 +97,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);
                }
@@ -111,4 +118,35 @@
        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);
            }
        });
    }
}