From b75795836a851a13e54cc4efb597262fb448217c Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期三, 08 五月 2024 15:22:01 +0800
Subject: [PATCH] 2024年05月08日15:21:54

---
 app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java |  217 ++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 160 insertions(+), 57 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..bde7be6 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,33 @@
 
 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;
 
 /**
  * 鎴戠殑-鐣岄潰
@@ -43,6 +54,7 @@
         initEvent();
         //鍒濆鍖栨暟鎹�
         initData();
+
     }
 
     /**
@@ -50,11 +62,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 +80,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 +121,8 @@
 
             @Override
             public void onFailure(HDLException e) {
+                //鎬曞叾瀹冧笉鍒ゆ柇null
+                mC_UserInfo = new CUserInfo();
 //                hideLoading();
                 HdlThreadLogic.toast(_mActivity, e);
             }
@@ -108,7 +139,7 @@
             public void onSuccess(BUserInfo bUserInfo) {
                 mB_UserInfo = bUserInfo;
 //                hideLoading();
-                updateView(bUserInfo, null);
+                setMemberName(bUserInfo.getUserName());
             }
 
             @Override
@@ -128,10 +159,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 +187,19 @@
                 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);
+                }
             }
         });
 
 
-    }
-
-    /**
-     * 鏇存柊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);
     }
 
     /**
@@ -197,16 +209,9 @@
 
 
         viewBinding.toolbarTopFragmentMeRl.topTitleTv.setText(R.string.me);
-        viewBinding.toolbarTopFragmentMeRl.topMoreIv.setVisibility(View.VISIBLE);
-        viewBinding.toolbarTopFragmentMeRl.topMoreIv.setImageResource(R.drawable.message);
+//        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);
@@ -214,12 +219,110 @@
 
         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();
+
+    }
+
+    @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);
+            }
+        });
+    }
 }

--
Gitblit v1.8.0