package com.hdl.photovoltaic.ui.me; import android.content.Intent; import android.os.Bundle; 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.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.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 public Object getContentView() { viewBinding = FragmentMeBinding.inflate(getLayoutInflater()); return viewBinding.getRoot(); } @Override public void onBindView(Bundle savedInstanceState) { //初始化 initView(); //初始化界面监听器 initEvent(); //初始化数据 initData(); } /** * 初始化数据 */ private void initData() { // showLoading(); if (UserConfigManage.getInstance().isBAccount()) { this.getBUserInfo(); } else { this.getCMemberInfo(); } } /** * 获取C端个人信息 */ private void getCMemberInfo() { HdlAccountLogic.getInstance().getMemberInfo_C(new CloudCallBeak() { @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")) { //更新用户头像 setMemberHeadIcon(cUserInfo.getMemberHeadIcon()); //更新用户名称 setMemberName(cUserInfo.getMemberName()); } else { HdlAccountLogic.getInstance().getImageKey_C(cUserInfo.getMemberHeadIcon(), new CloudCallBeak() { @Override public void onSuccess(String url) { cUserInfo.setMemberHeadIcon(url); //更新用户头像 setMemberHeadIcon(cUserInfo.getMemberHeadIcon()); //更新用户名称 setMemberName(cUserInfo.getMemberName()); } @Override public void onFailure(HDLException e) { // //更新用户头像 // setMemberHeadIcon(cUserInfo.getMemberHeadIcon()); //更新用户名称 setMemberName(cUserInfo.getMemberName()); // HdlThreadLogic.toast(_mActivity, e); } }); } } @Override public void onFailure(HDLException e) { //怕其它不判断null mC_UserInfo = new CUserInfo(); // hideLoading(); HdlThreadLogic.toast(_mActivity, e); } }); } /** * 获取B端个人信息 */ private void getBUserInfo() { HdlAccountLogic.getInstance().getUserInfo_B(new CloudCallBeak() { @Override public void onSuccess(BUserInfo bUserInfo) { mB_UserInfo = bUserInfo; // hideLoading(); setMemberName(bUserInfo.getUserName()); } @Override public void onFailure(HDLException e) { // hideLoading(); HdlThreadLogic.toast(_mActivity, e); } }); } /** * 注册监听器 */ private void initEvent() { viewBinding.fragmentMeIconParentCl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { 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); } }); viewBinding.fragmentMeLineSetIl.fragmentMeLineRightIconClickIv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setClass(_mActivity, SetActivity.class); startActivity(intent); } }); viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineCl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { 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); } } }); } /** * 初始化界面 */ private void initView() { 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); viewBinding.fragmentMeLineSetIl.fragmentMeLineTitleIv.setText(R.string.me_set); viewBinding.fragmentMeLineSetIl.fragmentMeLineV.setVisibility(View.VISIBLE); 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(HomepageTitleTabSwitch.me.toString())) { // HdlLogLogic.print("正在点击【我的】"); } } } }