From 4598b51c90c695c9ccbe5350a84e4a46b9d8e587 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期三, 22 五月 2024 20:19:02 +0800 Subject: [PATCH] 2024年05月22日20:18:54 --- app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java | 224 ++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 163 insertions(+), 61 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java index e857999..65e4f84 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java @@ -2,22 +2,35 @@ import android.content.Intent; import android.os.Bundle; +import android.text.TextUtils; import android.view.View; -import com.bumptech.glide.load.resource.bitmap.RoundedCorners; +import androidx.annotation.Nullable; + +import com.alibaba.fastjson.JSONObject; +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; +import org.greenrobot.eventbus.Subscribe; +import org.greenrobot.eventbus.ThreadMode; /** * 鎴戠殑-鐣岄潰 @@ -43,6 +56,7 @@ initEvent(); //鍒濆鍖栨暟鎹� initData(); + } /** @@ -50,11 +64,13 @@ */ private void initData() { // showLoading(); - if (UserConfigManage.getInstance().isBAccount()) { - this.getBUserInfo(); - } else { - this.getCMemberInfo(); - } +// if (UserConfigManage.getInstance().isBAccount()) { +// this.getBUserInfo(); +// } else { +// this.getCMemberInfo(); +// } + //鍥犱负uni閭h竟闇�瑕侊紝鍚姩鐨勬椂鍊欏氨璇诲彇鍟� + this.getResidenceTemperatureUnit(); } @@ -66,23 +82,38 @@ 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_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); } }); } @@ -92,6 +123,8 @@ @Override public void onFailure(HDLException e) { + //鎬曞叾瀹冧笉鍒ゆ柇null + mC_UserInfo = new CUserInfo(); // hideLoading(); HdlThreadLogic.toast(_mActivity, e); } @@ -108,7 +141,7 @@ public void onSuccess(BUserInfo bUserInfo) { mB_UserInfo = bUserInfo; // hideLoading(); - updateView(bUserInfo, null); + setMemberName(bUserInfo.getUserName()); } @Override @@ -128,10 +161,18 @@ 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()); - startActivity(intent); + startActivityForResult(intent, 10); } }); viewBinding.fragmentMeLineSetIl.fragmentMeLineRightIconClickIv.setOnClickListener(new View.OnClickListener() { @@ -148,46 +189,19 @@ startActivity(AsRegardsActivity.class); } }); - viewBinding.toolbarTopFragmentMeRl.topTitleTv.setOnClickListener(new View.OnClickListener() { + final int[] count = {0}; + viewBinding.meTitleTv.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); + } } }); - } - - /** - * 鏇存柊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); } /** @@ -196,30 +210,118 @@ private void initView() { - viewBinding.toolbarTopFragmentMeRl.topTitleTv.setText(R.string.me); - 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); viewBinding.fragmentMeLineSetIl.fragmentMeLineV.setVisibility(View.VISIBLE); 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); + + } + + 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 (TextUtils.isEmpty(memberHeadIconUrl)) { + return; + } + if (mC_UserInfo != null) { + mC_UserInfo.setMemberHeadIcon(memberHeadIconUrl); + } + GlideUtils.getCircleCropImage(_mActivity, memberHeadIconUrl, viewBinding.fragmentMeIconIv, true); +// GlideUtils.getRoundedCornersImage(_mActivity, memberHeadIconUrl, viewBinding.fragmentMeIconIv, new RoundedCorners(4), true); + + } + + /** + * 鏄剧ず鐢ㄦ埛鍚嶇О + */ + private void setMemberName(String userName) { + if (TextUtils.isEmpty(userName)) { + return; + } + viewBinding.fragmentMeUserNameIv.setText(userName); + UserConfigManage.getInstance().setUserName(userName); + UserConfigManage.getInstance().Save(); + + } + + @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) + 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())) { + // 鍙栨秷绮樻�т簨浠� + EventBus.getDefault().removeStickyEvent(eventBus); + //璇诲彇澶村儚 + 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); + } + }); + } } -- Gitblit v1.8.0