From 87cd5df70918e6ba1af849c5f026d3719bfdb1ac Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 09 四月 2025 09:06:29 +0800
Subject: [PATCH] Merge branch '1.5.2' into dev

---
 app/src/main/java/com/hdl/photovoltaic/ui/me/CPersonalDataActivity.java |  112 ++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 93 insertions(+), 19 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/CPersonalDataActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/CPersonalDataActivity.java
index ef7d919..638eab9 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/me/CPersonalDataActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/CPersonalDataActivity.java
@@ -1,5 +1,6 @@
 package com.hdl.photovoltaic.ui.me;
 
+
 import android.Manifest;
 import android.content.Intent;
 import android.os.Build;
@@ -10,9 +11,12 @@
 
 
 import androidx.activity.result.ActivityResultLauncher;
+import androidx.annotation.Nullable;
+import androidx.appcompat.content.res.AppCompatResources;
 
 
 import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
+import com.google.gson.Gson;
 import com.google.gson.JsonObject;
 import com.hdl.linkpm.sdk.core.callback.IResponseCallBack;
 import com.hdl.linkpm.sdk.core.exception.HDLException;
@@ -27,13 +31,16 @@
 import com.hdl.photovoltaic.other.HdlAccountLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hdl.photovoltaic.other.HdlUniLogic;
+import com.hdl.photovoltaic.ui.bean.QrCodeBean;
 import com.hdl.photovoltaic.uni.HDLUniMP;
 import com.hdl.photovoltaic.utils.GlideUtils;
 import com.hdl.photovoltaic.utils.PermissionUtils;
 import com.hdl.photovoltaic.widget.ConfirmationInputDialog;
+import com.hdl.photovoltaic.widget.PermissionExplanationDialog;
 import com.hdl.photovoltaic.widget.popupview.CameraAlbumPopWindow;
 
 import java.io.File;
+import java.util.Objects;
 
 
 /**
@@ -56,8 +63,8 @@
 
     @Override
     public void onBindView(Bundle savedInstanceState) {
-        setNotificationBarBackgroundColor(CustomColor.white);
-        setStatusBarTextColor();
+        setStatusBarTranslucent();
+        getWindow().setNavigationBarColor(getColor(R.color.text_FF000000));
         mMemberHeadIconUrl = UserConfigManage.getInstance().getUserImageUrl();
         //鍒濆鍖�
         initView();
@@ -68,6 +75,7 @@
     }
 
     private void initData() {
+
 //        generalPermission = registerForActivityResult(new ActivityResultContracts.RequestMultiplePermissions(), new ActivityResultCallback<Map<String, Boolean>>() {
 //            @Override
 //            public void onActivityResult(Map<String, Boolean> result) {
@@ -92,31 +100,47 @@
 
     private void initEvent() {
 
-        viewBinding.toolbarTopFragmentMeRl.topBackLl.setOnClickListener(new View.OnClickListener() {
+        viewBinding.toolbarTopRl.topBackLl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
 //                backPressedData();
                 finish();
             }
         });
+
         viewBinding.personalDataUserPortraitIl.getRoot().setOnClickListener(new View.OnClickListener() {
 
             @Override
             public void onClick(View v) {
                 //Manifest.permission.WRITE_EXTERNAL_STORAGE 璇诲啓璁惧涓婄殑鐓х墖浠ュ強鏂囦欢
-                //generalPermission.launch(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE});
-
-                PermissionUtils.requestPermissionsResultCallback(_mActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE, new PermissionUtils.PermissionState() {
-                    @Override
-                    public void Success(int value) {
-                        if (value == PermissionUtils.STATUS_REFUSE_PERMANENT) {
+//                generalPermission.launch(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE});
+//                Android 13浠ヤ笂鐢ㄥ埆鐨勬潈闄�
+                if (Build.VERSION.SDK_INT >= 33) {
+//                    PermissionUtils.requestPermissionsResultCallback(_mActivity, Manifest.permission.READ_MEDIA_IMAGES, new PermissionUtils.PermissionState() {
+//                        @Override
+//                        public void Success(int value) {
+//                            if (value == PermissionUtils.STATUS_REFUSE_PERMANENT) {
 //                            HdlThreadLogic.toast(_mActivity, R.string.permission_open);
-                            return;
+//                                return;
+//                            }
+                    changedUserAvatar();
+//                        }
+//                    }, true);
+                } else {
+                    // 鏈巿鏉� 濡傛灉搴旂敤绋嬪簭娌℃湁鎵�闇�鐨勬潈闄愶紝鍒欐樉绀鸿В閲婅鏄�
+                    PermissionExplanationDialog.getInstance().showPortConflictPdDialog(_mActivity, getString(R.string.camera_storage_instructions), getString(R.string.camera_storage_purpose));
+                    PermissionUtils.requestPermissionsResultCallback(_mActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE, new PermissionUtils.PermissionState() {
+                        @Override
+                        public void Success(int value) {
+                            PermissionExplanationDialog.getInstance().dismiss();
+                            if (value == PermissionUtils.STATUS_REFUSE_PERMANENT | value == PermissionUtils.STATUS_REFUSE) {
+//                            HdlThreadLogic.toast(_mActivity, R.string.permission_open);
+                                return;
+                            }
+                            changedUserAvatar();
                         }
-                        changedUserAvatar();
-                    }
-                }, true);
-
+                    }, true);
+                }
             }
         });
 
@@ -126,21 +150,56 @@
                 changedNickname();
             }
         });
+        viewBinding.personalDataPhoneIl.getRoot().setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Intent intent = new Intent();
+                intent.setClass(_mActivity, BindPhoneActivity.class);
+                startActivityForResult(intent, 20);
+            }
+        });
+        viewBinding.personalDataMailIl.getRoot().setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Intent intent = new Intent();
+                intent.setClass(_mActivity, BindMailActivity.class);
+                startActivityForResult(intent, 20);
+            }
+        });
+        viewBinding.personalDataQrCodeIl.getRoot().setOnClickListener(new View.OnClickListener() {
+
+            @Override
+            public void onClick(View v) {
+
+                startActivity(QrCodeMainActivity.class);
+
+            }
+        });
 
 
     }
 
     private void initView() {
-        viewBinding.toolbarTopFragmentMeRl.topTitleTv.setText(R.string.me_personal_data);
-        viewBinding.toolbarTopFragmentMeRl.topBackLl.setVisibility(View.VISIBLE);
-        viewBinding.toolbarTopFragmentMeRl.topTitleTv.setTextColor(getResources().getColor(R.color.text_030D1C, null));
-        viewBinding.toolbarTopFragmentMeRl.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFFFFFFF, null));
+        viewBinding.toolbarTopRl.topTitleTv.setText(R.string.me_personal_data);
+        viewBinding.toolbarTopRl.topBackLl.setVisibility(View.VISIBLE);
         viewBinding.personalDataUserPortraitIl.sllLlRlNameTv.setText(R.string.me_personal_data_portrait);
         viewBinding.personalDataUserNameIl.sllLlRlNameTv.setText(R.string.me_personal_data_user_name);
+        viewBinding.personalDataMailIl.sllLlRlNameTv.setText(R.string.home_login_email);
+        viewBinding.personalDataPhoneIl.sllLlRlNameTv.setText(R.string.home_login_phone);
+        viewBinding.personalDataQrCodeIl.sllLlRlNameTv.setText(R.string.qr_code_business_card);
         viewBinding.personalDataUserPortraitIl.sllLlRlRightContentIv.setVisibility(View.VISIBLE);
+        viewBinding.personalDataUserPortraitIl.lineV.setVisibility(View.VISIBLE);
         viewBinding.personalDataUserNameIl.sllLlRlRightContentTv.setVisibility(View.VISIBLE);
+        viewBinding.personalDataUserNameIl.lineV.setVisibility(View.VISIBLE);
+        viewBinding.personalDataMailIl.sllLlRlRightContentTv.setVisibility(View.VISIBLE);
+        viewBinding.personalDataMailIl.lineV.setVisibility(View.VISIBLE);
+        viewBinding.personalDataPhoneIl.sllLlRlRightContentTv.setVisibility(View.VISIBLE);
+        viewBinding.personalDataPhoneIl.lineV.setVisibility(View.VISIBLE);
+        viewBinding.personalDataQrCodeIl.sllLlRlRightContentIv.setVisibility(View.VISIBLE);
         viewBinding.personalDataUserNameIl.sllLlRlRightContentTv.setText(UserConfigManage.getInstance().getUserName());
+        viewBinding.personalDataQrCodeIl.sllLlRlRightContentIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.qr_code));
         setMemberHeadIcon();
+        updateStyle();
     }
 
 
@@ -150,7 +209,9 @@
     private void changedUserAvatar() {
         if (UserConfigManage.getInstance().isBAccount()) {
             //todo B绔笉鏀寔鏇存敼鏄电О
-            HdlThreadLogic.toast(_mActivity, R.string.loading_not_supported);
+//            HdlThreadLogic.toast(_mActivity, R.string.loading_not_supported);
+
+
         } else {
             cameraAlbumPopWindow = new CameraAlbumPopWindow(_mActivity, new CameraAlbumPopWindow.CameraAlbumListener() {
                 @Override
@@ -281,6 +342,8 @@
                 default:
                     break;
             }
+        } else if (requestCode == 20 && resultCode == 20) {
+            updateStyle();
         }
     }
 
@@ -319,5 +382,16 @@
         }
     }
 
+    /**
+     * 鍒锋柊缁戝畾鎵嬫満鍙峰拰閭
+     */
+    private void updateStyle() {
+        String phoneStr = TextUtils.isEmpty(UserConfigManage.getInstance().getBingPhone()) ? getString(R.string.set_not_bind) : UserConfigManage.getInstance().getBingPhone();
+        String emailStr = TextUtils.isEmpty(UserConfigManage.getInstance().getBingEmail()) ? getString(R.string.set_not_bind) : UserConfigManage.getInstance().getBingEmail();
+        viewBinding.personalDataPhoneIl.sllLlRlRightContentTv.setText(phoneStr);
+        viewBinding.personalDataMailIl.sllLlRlRightContentTv.setText(emailStr);
+
+    }
+
 
 }
\ No newline at end of file

--
Gitblit v1.8.0