mac
2024-03-21 316edc17322cd39ca9b9bd285ba63018cebfa2b4
app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java
@@ -2,24 +2,34 @@
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import androidx.annotation.Nullable;
import com.alibaba.fastjson.JSONObject;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.google.gson.Gson;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseFragment;
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.databinding.FragmentMeBinding;
import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlAccountLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
import com.hdl.photovoltaic.other.HdlResidenceLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.ui.bean.BUserInfo;
import com.hdl.photovoltaic.ui.bean.CUserInfo;
import com.hdl.photovoltaic.ui.test.TestMainActivity;
import com.hdl.photovoltaic.utils.GlideUtils;
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
import org.greenrobot.eventbus.EventBus;
/**
 * 我的-界面
@@ -45,6 +55,7 @@
        initEvent();
        //初始化数据
        initData();
    }
    /**
@@ -52,11 +63,13 @@
     */
    private void initData() {
//        showLoading();
        if (UserConfigManage.getInstance().isBAccount()) {
            this.getBUserInfo();
        } else {
            this.getCMemberInfo();
        }
//        if (UserConfigManage.getInstance().isBAccount()) {
//            this.getBUserInfo();
//        } else {
//            this.getCMemberInfo();
//        }
        //因为uni那边需要,启动的时候就读取啦
        this.getResidenceTemperatureUnit();
    }
@@ -99,7 +112,7 @@
//                            setMemberHeadIcon(cUserInfo.getMemberHeadIcon());
                            //更新用户名称
                            setMemberName(cUserInfo.getMemberName());
                            HdlThreadLogic.toast(_mActivity, e);
//                            HdlThreadLogic.toast(_mActivity, e);
                        }
                    });
                }
@@ -109,6 +122,8 @@
            @Override
            public void onFailure(HDLException e) {
                //怕其它不判断null
                mC_UserInfo = new CUserInfo();
//                hideLoading();
                HdlThreadLogic.toast(_mActivity, e);
            }
@@ -125,7 +140,6 @@
            public void onSuccess(BUserInfo bUserInfo) {
                mB_UserInfo = bUserInfo;
//                hideLoading();
                setMemberName(bUserInfo.getUserName());
            }
@@ -146,8 +160,16 @@
        viewBinding.fragmentMeIconParentCl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (UserConfigManage.getInstance().isBAccount()) {
                    //todo B端不支持更改昵称
                    HdlThreadLogic.toast(_mActivity, R.string.loading_not_supported);
                    return;
                }
                Intent intent = new Intent();
                intent.setClass(_mActivity, PersonalDataActivity.class);
                if (mC_UserInfo == null) {
                    mC_UserInfo = new CUserInfo();
                }
                intent.putExtra("memberHeadIcon", mC_UserInfo.getMemberHeadIcon());
                startActivityForResult(intent, 10);
            }
@@ -166,10 +188,15 @@
                startActivity(AsRegardsActivity.class);
            }
        });
        final int[] count = {0};
        viewBinding.toolbarTopFragmentMeRl.topTitleTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(TestMainActivity.class);
                count[0] = count[0] + 1;
                if (count[0] > 3) {
                    count[0] = 0;
                    startActivity(TestMainActivity.class);
                }
            }
        });
@@ -186,13 +213,6 @@
//        viewBinding.toolbarTopFragmentMeRl.topMoreIv.setVisibility(View.VISIBLE);
//        viewBinding.toolbarTopFragmentMeRl.topMoreIv.setImageResource(R.drawable.message);
        viewBinding.fragmentMeLineMessageCenterIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.message_center);
        viewBinding.fragmentMeLineMessageCenterIl.fragmentMeLineTitleIv.setText(R.string.set_message_center);
        viewBinding.fragmentMeLineMessageCenterIl.fragmentMeLineV.setVisibility(View.VISIBLE);
        viewBinding.fragmentMeLineUserManagementIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.user_management);
        viewBinding.fragmentMeLineUserManagementIl.fragmentMeLineTitleIv.setText(R.string.set_user_management);
        viewBinding.fragmentMeLineUserManagementIl.fragmentMeLineV.setVisibility(View.VISIBLE);
        viewBinding.fragmentMeLineSetIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.set);
        viewBinding.fragmentMeLineSetIl.fragmentMeLineTitleIv.setText(R.string.me_set);
@@ -200,11 +220,9 @@
        viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.asregards);
        viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineTitleIv.setText(R.string.me_regard);
        setMemberName(UserConfigManage.getInstance().getUserName());
//        setMemberHeadIcon(UserConfigManage.getInstance().getUserImageUrl());
        if (!UserConfigManage.getInstance().isBAccount()) {
            viewBinding.fragmentMeLineMessageCenterIl.getRoot().setVisibility(View.GONE);
            viewBinding.fragmentMeLineUserManagementIl.getRoot().setVisibility(View.GONE);
        }
    }
@@ -227,10 +245,14 @@
     * 显示用户头像
     */
    private void setMemberHeadIcon(String memberHeadIconUrl) {
        if (TextUtils.isEmpty(memberHeadIconUrl)) {
            return;
        }
        if (mC_UserInfo != null) {
            mC_UserInfo.setMemberHeadIcon(memberHeadIconUrl);
        }
        GlideUtils.getRoundedCornersImage(_mActivity, memberHeadIconUrl, viewBinding.fragmentMeIconIv, new RoundedCorners(4));
        GlideUtils.getCircleCropImage(_mActivity, memberHeadIconUrl, viewBinding.fragmentMeIconIv, true);
//        GlideUtils.getRoundedCornersImage(_mActivity, memberHeadIconUrl, viewBinding.fragmentMeIconIv, new RoundedCorners(4), true);
    }
@@ -238,9 +260,70 @@
     * 显示用户名称
     */
    private void setMemberName(String userName) {
        if (TextUtils.isEmpty(userName)) {
            return;
        }
        viewBinding.fragmentMeUserNameIv.setText(userName);
        UserConfigManage.getInstance().setUserName(userName);
        UserConfigManage.getInstance().Save();
    }
    @Override
    public void onEventMessage(BaseEventBus eventBus) {
        super.onEventMessage(eventBus);
        if (eventBus == null) {
            return;
        }
        //接收外部点击事件
        if (eventBus.getTopic().equals(ConstantManage.homepage_title_tab_switch)) {
            if (eventBus.getType().equals(HomepageTitleTabSwitch.me.toString())) {
                //读取头像
                if (UserConfigManage.getInstance().isBAccount()) {
                    this.getBUserInfo();
                } else {
                    this.getCMemberInfo();
                }
                // 取消粘性事件
                EventBus.getDefault().removeStickyEvent(eventBus);
            }
        }
    }
    /**
     * 获取用户自定义配置温度单位详情(app启动的时候要获取)
     */
    private void getResidenceTemperatureUnit() {
        HdlResidenceLogic.getInstance().getResidenceTemperatureUnit(new CloudCallBeak<String>() {
            @Override
            public void onSuccess(String json) {
                try {
                    if (TextUtils.isEmpty(json) || json.equals("{}")) {
                        return;
                    }
                    JSONObject jsonObject = new Gson().fromJson(json, JSONObject.class);
                    if (jsonObject.containsKey("tempType")) {
                        String unit = jsonObject.getString("tempType");
                        if (unit.contains("C")) {
                            unit = "℃";
                        } else {
                            unit = "℉";
                        }
                        UserConfigManage.getInstance().setTemperature_unit(unit);
                        UserConfigManage.getInstance().Save();
                    }
                } catch (Exception ignored) {
                }
            }
            @Override
            public void onFailure(HDLException e) {
                HdlLogLogic.print("获取用户自定义配置温度单位详情--->" + e.getMsg() + "(" + e.getCode() + ")", true);
//                HdlThreadLogic.toast(_mActivity, e);
            }
        });
    }
}