From 636c4bb04e4fcd723766b82732990cdb4ae4ea2e Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期四, 22 二月 2024 15:48:23 +0800
Subject: [PATCH] 删除掉本地库
---
app/src/main/java/com/hdl/photovoltaic/ui/me/PersonalDataActivity.java | 196 ++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 184 insertions(+), 12 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/PersonalDataActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/PersonalDataActivity.java
index 1aa9e85..4a99cb1 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/me/PersonalDataActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/PersonalDataActivity.java
@@ -1,11 +1,23 @@
package com.hdl.photovoltaic.ui.me;
-import android.app.AppComponentFactory;
+import android.Manifest;
+import android.content.Intent;
+import android.os.Build;
import android.os.Bundle;
+import android.view.Gravity;
import android.view.View;
+
+import androidx.activity.result.ActivityResultLauncher;
+import androidx.core.app.ActivityCompat;
+
+
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
+import com.google.gson.JsonObject;
+import com.hdl.linkpm.sdk.core.callback.IResponseCallBack;
import com.hdl.linkpm.sdk.core.exception.HDLException;
+import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
+import com.hdl.linkpm.sdk.user.bean.ImageSubmitInfo;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
@@ -13,9 +25,14 @@
import com.hdl.photovoltaic.databinding.ActivityPersonalDataBinding;
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.utils.GlideUtils;
+import com.hdl.photovoltaic.utils.PermissionUtils;
import com.hdl.photovoltaic.widget.ConfirmationInputDialog;
+import com.hdl.photovoltaic.widget.popupview.CameraAlbumPopWindow;
+
+import java.io.File;
/**
@@ -23,8 +40,12 @@
*/
public class PersonalDataActivity extends CustomBaseActivity {
private ActivityPersonalDataBinding viewBinding;
+
+ private CameraAlbumPopWindow cameraAlbumPopWindow;
//澶村儚鍦板潃
- private String mMemberHeadIcon;
+ private String mMemberHeadIconUrl;
+ private ActivityResultLauncher<String[]> generalPermission;
+
@Override
public Object getContentView() {
@@ -36,7 +57,7 @@
public void onBindView(Bundle savedInstanceState) {
setNotificationBarBackgroundColor(CustomColor.white);
setStatusBarTextColor();
- mMemberHeadIcon = getIntent().getStringExtra("memberHeadIcon");
+ mMemberHeadIconUrl = getIntent().getStringExtra("memberHeadIcon");
//鍒濆鍖�
initView();
//鍒濆鍖栫晫闈㈢洃鍚櫒
@@ -46,16 +67,57 @@
}
private void initData() {
- viewBinding.toolbarTopFragmentMeRl.topBackBtn.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- finish();
- }
- });
+// generalPermission = registerForActivityResult(new ActivityResultContracts.RequestMultiplePermissions(), new ActivityResultCallback<Map<String, Boolean>>() {
+// @Override
+// public void onActivityResult(Map<String, Boolean> result) {
+//
+// }
+// });
+// generalPermission.launch(new String[]{});
+
+// generalPermission = registerForActivityResult(new ActivityResultContracts.RequestMultiplePermissions(), new ActivityResultCallback<Map<String, Boolean>>() {
+// @Override
+// public void onActivityResult(Map<String, Boolean> result) {
+//
+//// if (value == PermissionUtils.STATUS_REFUSE_PERMANENT) {
+//// HdlThreadLogic.toast(_mActivity, R.string.permission_open);
+//// return;
+//// }
+// changedUserAvatar();
+// }
+// });
+
}
private void initEvent() {
+ viewBinding.toolbarTopFragmentMeRl.topBackBtn.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) {
+// HdlThreadLogic.toast(_mActivity, R.string.permission_open);
+ return;
+ }
+ changedUserAvatar();
+ }
+ }, true);
+
+ }
+ });
viewBinding.personalDataUserNameIl.getRoot().setOnClickListener(new View.OnClickListener() {
@Override
@@ -63,6 +125,7 @@
changedNickname();
}
});
+
}
@@ -74,9 +137,55 @@
viewBinding.personalDataUserPortraitIl.sllLlRlNameTv.setText(R.string.me_personal_data_portrait);
viewBinding.personalDataUserNameIl.sllLlRlNameTv.setText(R.string.me_personal_data_user_name);
viewBinding.personalDataUserPortraitIl.sllLlRlRightContentIv.setVisibility(View.VISIBLE);
- GlideUtils.getRoundedCornersImage(_mActivity, this.mMemberHeadIcon, viewBinding.personalDataUserPortraitIl.sllLlRlRightContentIv, new RoundedCorners(4));
viewBinding.personalDataUserNameIl.sllLlRlRightContentTv.setVisibility(View.VISIBLE);
viewBinding.personalDataUserNameIl.sllLlRlRightContentTv.setText(UserConfigManage.getInstance().getUserName());
+ setMemberHeadIcon();
+ }
+
+
+ /**
+ * 鏇存敼鐢ㄦ埛澶村儚;
+ */
+ private void changedUserAvatar() {
+ if (UserConfigManage.getInstance().isBAccount()) {
+ //todo B绔笉鏀寔鏇存敼鏄电О
+ HdlThreadLogic.toast(_mActivity, R.string.loading_not_supported);
+ } else {
+ cameraAlbumPopWindow = new CameraAlbumPopWindow(_mActivity, new CameraAlbumPopWindow.CameraAlbumListener() {
+ @Override
+ public void successCallBack(final File a) {
+ //涓婁紶澶村儚鏂囦欢
+ HDLLinkPMUser.getInstance().uploadUserHeadImage(a, new IResponseCallBack<ImageSubmitInfo>() {
+ @Override
+ public void onSuccess(ImageSubmitInfo imageKey) {
+ JsonObject imageInfo = new JsonObject();
+ imageInfo.addProperty("memberHeadIcon", imageKey.getUrl());
+ //涓婁紶澶村儚鍦板潃
+ HdlAccountLogic.getInstance().updateMemberHeadIcon_C(imageKey.getUrl(), new CloudCallBeak<Boolean>() {
+ @Override
+ public void onSuccess(Boolean obj) {
+ mMemberHeadIconUrl = imageKey.getUrl();
+ setMemberHeadIcon();
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ HdlLogLogic.print("uploadUserHeadImage error:" + e.getMsg());
+// hideLoading();
+ }
+ });
+ }
+
+ @Override
+ public void onFailure(HDLException error) {
+ HdlLogLogic.print("uploadUserHeadImage error:" + error.getMsg());
+ }
+ });
+ }
+ });
+ cameraAlbumPopWindow.show(viewBinding.getRoot(), Gravity.BOTTOM, 0, 0);
+ }
+
}
@@ -86,6 +195,7 @@
private void changedNickname() {
if (UserConfigManage.getInstance().isBAccount()) {
//todo B绔笉鏀寔鏇存敼鏄电О
+ HdlThreadLogic.toast(_mActivity, R.string.loading_not_supported);
} else {
ConfirmationInputDialog confirmationInputDialog = new ConfirmationInputDialog(_mActivity);
confirmationInputDialog.setTitle(getString(R.string.set_nickname_modification));
@@ -94,7 +204,7 @@
confirmationInputDialog.setYesOnclickListener(new ConfirmationInputDialog.onYesOnclickListener() {
@Override
public void Confirm(String str) {
- HdlAccountLogic.getInstance().updateMemberInfo_C("", str, "", "", "", "", new CloudCallBeak<Boolean>() {
+ HdlAccountLogic.getInstance().updateMemberName_C(str, new CloudCallBeak<Boolean>() {
@Override
public void onSuccess(Boolean obj) {
UserConfigManage.getInstance().setUserName(str);
@@ -106,7 +216,7 @@
@Override
public void onFailure(HDLException e) {
- HdlThreadLogic.tipFlashingBox(_mActivity, false, e.getMessage(), e.getCode());
+ HdlThreadLogic.tipFlashingBox(_mActivity, false, e.getMsg(), e.getCode());
}
});
@@ -121,4 +231,66 @@
}
}
+
+ /**
+ * 鏄剧ず鐢ㄦ埛澶村儚
+ */
+ private void setMemberHeadIcon() {
+ GlideUtils.getRoundedCornersImage(_mActivity, mMemberHeadIconUrl, viewBinding.personalDataUserPortraitIl.sllLlRlRightContentIv, new RoundedCorners(4));
+ }
+
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (requestCode == CameraAlbumPopWindow.TAKE_PHOTO || requestCode == CameraAlbumPopWindow.SELECT_PHOTO) {
+ if (cameraAlbumPopWindow == null) {
+ return;
+ }
+ switch (requestCode) {
+ //鎵撳紑鐩告満鍚庤繑鍥�
+ case CameraAlbumPopWindow.TAKE_PHOTO:
+ if (resultCode == RESULT_OK) {
+ //杩欑鏂规硶鏄�氳繃鍐呭瓨鍗$殑璺緞杩涜璇诲彇鍥剧墖锛屾墍浠ョ殑鍒扮殑鍥剧墖鏄媿鎽勭殑鍘熷浘
+ cameraAlbumPopWindow.displayImage();
+ }
+ break;
+ //鎵撳紑鐩稿唽鍚庤繑鍥�
+ case CameraAlbumPopWindow.SELECT_PHOTO:
+ if (resultCode == RESULT_OK) {
+ //鍒ゆ柇鎵嬫満绯荤粺鐗堟湰鍙�
+ if (Build.VERSION.SDK_INT > 19) {
+ //4.4鍙婁互涓婄郴缁熶娇鐢ㄨ繖涓柟娉曞鐞嗗浘鐗�
+ cameraAlbumPopWindow.handleImgeOnKitKat(data);
+ } else {
+ cameraAlbumPopWindow.handleImageBeforeKitKat(data);
+ }
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ /**
+ * 鐗╃悊鎸夐敭杩斿洖浜嬩欢
+ */
+ @Override
+ public void onBackPressed() {
+ backPressedData();
+ super.onBackPressed();
+ }
+
+ /**
+ * 杩斿洖缁欎笂涓�绾х晫闈㈡暟鎹�
+ */
+ private void backPressedData() {
+ Intent intent = new Intent();
+ intent.putExtra("memberHeadIcon", mMemberHeadIconUrl);
+ intent.putExtra("memberName", UserConfigManage.getInstance().getUserName());
+ setResult(10, intent);
+ }
+
+
}
\ No newline at end of file
--
Gitblit v1.8.0