mac
2023-12-21 78dbac2e8e7ad58d9e5d6a025de0d6fc58f69146
app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java
@@ -5,25 +5,34 @@
import android.view.View;
import androidx.annotation.Nullable;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
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.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlAccountLogic;
import com.hdl.photovoltaic.other.HdlCommonLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
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;
/**
 * 我的-界面
 */
public class MeFragment extends CustomBaseFragment {
    private FragmentMeBinding viewBinding;
    private CUserInfo mC_UserInfo;
    private BUserInfo mB_UserInfo;
    @Override
@@ -60,25 +69,41 @@
     */
    private void getCMemberInfo() {
        HdlAccountLogic.getInstance().getMemberInfo(new CloudCallBeak<CUserInfo>() {
        HdlAccountLogic.getInstance().getMemberInfo_C(new CloudCallBeak<CUserInfo>() {
            @Override
            public void onSuccess(CUserInfo cUserInfo) {
                if (cUserInfo == null) {
                    return;
                }
                mC_UserInfo = cUserInfo;
                UserConfigManage.getInstance().setBingPhone(cUserInfo.getMemberPhone());
                UserConfigManage.getInstance().setBingEmail(cUserInfo.getMemberEmail());
                UserConfigManage.getInstance().Save();
//                hideLoading();
                //获取用户头像路径
                if (cUserInfo.getMemberHeadIcon().contains("http")) {
                    updateView(null, cUserInfo);
                    //更新用户头像
                    setMemberHeadIcon(cUserInfo.getMemberHeadIcon());
                    //更新用户名称
                    setMemberName(cUserInfo.getMemberName());
                } else {
                    HdlAccountLogic.getInstance().getImageKey(cUserInfo.getMemberHeadIcon(), new CloudCallBeak<String>() {
                    HdlAccountLogic.getInstance().getImageKey_C(cUserInfo.getMemberHeadIcon(), new CloudCallBeak<String>() {
                        @Override
                        public void onSuccess(String url) {
                            cUserInfo.setMemberHeadIcon(url);
                            updateView(null, cUserInfo);
                            //更新用户头像
                            setMemberHeadIcon(cUserInfo.getMemberHeadIcon());
                            //更新用户名称
                            setMemberName(cUserInfo.getMemberName());
                        }
                        @Override
                        public void onFailure(HDLException e) {
                            updateView(null, cUserInfo);
                            HdlThreadLogic.toast(_mActivity, e);
//                            //更新用户头像
//                            setMemberHeadIcon(cUserInfo.getMemberHeadIcon());
                            //更新用户名称
                            setMemberName(cUserInfo.getMemberName());
//                            HdlThreadLogic.toast(_mActivity, e);
                        }
                    });
                }
@@ -99,11 +124,13 @@
     */
    private void getBUserInfo() {
        HdlAccountLogic.getInstance().getUserInfo(new CloudCallBeak<BUserInfo>() {
        HdlAccountLogic.getInstance().getUserInfo_B(new CloudCallBeak<BUserInfo>() {
            @Override
            public void onSuccess(BUserInfo bUserInfo) {
                mB_UserInfo = bUserInfo;
//                hideLoading();
                updateView(bUserInfo, null);
                setMemberName(bUserInfo.getUserName());
            }
            @Override
@@ -119,6 +146,16 @@
     * 注册监听器
     */
    private void initEvent() {
        viewBinding.fragmentMeIconParentCl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setClass(_mActivity, PersonalDataActivity.class);
                intent.putExtra("memberHeadIcon", mC_UserInfo.getMemberHeadIcon());
                startActivityForResult(intent, 10);
            }
        });
        viewBinding.fragmentMeLineSetIl.fragmentMeLineRightIconClickIv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
@@ -130,51 +167,33 @@
        viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineCl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(TestMainActivity.class);
                startActivity(AsRegardsActivity.class);
            }
        });
        final int[] count = {0};
        viewBinding.toolbarTopFragmentMeRl.topTitleTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                count[0] = count[0] + 1;
                if (count[0] > 3) {
                    count[0] = 0;
                    startActivity(TestMainActivity.class);
                }
            }
        });
    }
    /**
     * 更新ui
     *
     * @param bUserInfo B端个人信息
     * @param cUserInfo C端个人信息
     */
    private void updateView(BUserInfo bUserInfo, CUserInfo cUserInfo) {
        if (viewBinding == null) {
            return;
        }
        String userName = UserConfigManage.getInstance().getUserName();
        if (bUserInfo != null) {
            //B端
            userName = bUserInfo.getUserName();
        }
        if (cUserInfo != null) {
            //C端
            userName = cUserInfo.getMemberName();
            GlideUtils.getRoundedCornersImage(_mActivity, cUserInfo.getMemberHeadIcon(), viewBinding.fragmentMeIconIv, new RoundedCorners(4));
        }
        viewBinding.fragmentMeUserNameIv.setText(userName);
        UserConfigManage.getInstance().setUserName(userName);
        UserConfigManage.getInstance().Save();
    }
    @Override
    public void onResume() {
        super.onResume();
        //更新用户名称
        updateView(null, null);
    }
    /**
     * 初始化界面
     */
    private void initView() {
        viewBinding.toolbarTopFragmentMeRl.topTitleTv.setText(R.string.power_station_me);
        viewBinding.toolbarTopFragmentMeRl.topMoreIv.setVisibility(View.VISIBLE);
        viewBinding.toolbarTopFragmentMeRl.topMoreIv.setImageResource(R.drawable.message);
        viewBinding.toolbarTopFragmentMeRl.topTitleTv.setText(R.string.me);
//        viewBinding.toolbarTopFragmentMeRl.topMoreIv.setVisibility(View.VISIBLE);
//        viewBinding.toolbarTopFragmentMeRl.topMoreIv.setImageResource(R.drawable.message);
        viewBinding.fragmentMeLineSetIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.set);
@@ -183,6 +202,55 @@
        viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.asregards);
        viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineTitleIv.setText(R.string.me_regard);
    }
    public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 10 && resultCode == 10) {
            if (data != null) {
                String iconUrl = data.getStringExtra("memberHeadIcon");
                String memberName = data.getStringExtra("memberName");
                //更新用户头像
                setMemberHeadIcon(iconUrl);
                //更新用户名称
                setMemberName(memberName);
            }
        }
    }
    /**
     * 显示用户头像
     */
    private void setMemberHeadIcon(String memberHeadIconUrl) {
        if (mC_UserInfo != null) {
            mC_UserInfo.setMemberHeadIcon(memberHeadIconUrl);
        }
        GlideUtils.getRoundedCornersImage(_mActivity, memberHeadIconUrl, viewBinding.fragmentMeIconIv, new RoundedCorners(4));
    }
    /**
     * 显示用户名称
     */
    private void setMemberName(String userName) {
        viewBinding.fragmentMeUserNameIv.setText(userName);
        UserConfigManage.getInstance().setUserName(userName);
        UserConfigManage.getInstance().Save();
    }
    @Override
    public void onEventMessage(BaseEventBus eventBus) {
        super.onEventMessage(eventBus);
        //接收外部点击事件
        if (eventBus.getTopic().equals(ConstantManage.homepage_title_tab_switch)) {
            if (eventBus.getType().equals(HdlCommonLogic.HomepageTitleTabSwitch.me.toString())) {
                //
                HdlLogLogic.print("正在点击【我的】");
            }
        }
    }
}