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/PersonalDataActivity.java | 117 +++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 94 insertions(+), 23 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 ab42849..8884874 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 @@ -4,12 +4,16 @@ import android.content.Intent; import android.os.Build; import android.os.Bundle; +import android.text.TextUtils; import android.view.Gravity; import android.view.View; + +import androidx.activity.result.ActivityResultLauncher; + + import com.bumptech.glide.load.resource.bitmap.RoundedCorners; import com.google.gson.JsonObject; -import com.hdl.linkpm.sdk.core.callback.IDefaultCallBack; import com.hdl.linkpm.sdk.core.callback.IResponseCallBack; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.linkpm.sdk.user.HDLLinkPMUser; @@ -21,8 +25,9 @@ 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.other.HdlUniLogic; +import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.utils.GlideUtils; import com.hdl.photovoltaic.utils.PermissionUtils; import com.hdl.photovoltaic.widget.ConfirmationInputDialog; @@ -40,6 +45,7 @@ private CameraAlbumPopWindow cameraAlbumPopWindow; //澶村儚鍦板潃 private String mMemberHeadIconUrl; + private ActivityResultLauncher<String[]> generalPermission; @Override @@ -52,7 +58,7 @@ public void onBindView(Bundle savedInstanceState) { setNotificationBarBackgroundColor(CustomColor.white); setStatusBarTextColor(); - mMemberHeadIconUrl = getIntent().getStringExtra("memberHeadIcon"); + mMemberHeadIconUrl = UserConfigManage.getInstance().getUserImageUrl(); //鍒濆鍖� initView(); //鍒濆鍖栫晫闈㈢洃鍚櫒 @@ -62,37 +68,54 @@ } private void initData() { +// 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() { + viewBinding.toolbarTopFragmentMeRl.topBackLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - //鏁版嵁鏄娇鐢↖ntent杩斿洖 - Intent intent = new Intent(); - //鎶婅繑鍥炴暟鎹瓨鍏ntent - intent.putExtra("memberHeadIcon", mMemberHeadIconUrl); - //璁剧疆杩斿洖鏁版嵁 - setResult(10, intent); +// backPressedData(); finish(); } }); viewBinding.personalDataUserPortraitIl.getRoot().setOnClickListener(new View.OnClickListener() { + @Override public void onClick(View v) { //Manifest.permission.WRITE_EXTERNAL_STORAGE 璇诲啓璁惧涓婄殑鐓х墖浠ュ強鏂囦欢 - PermissionUtils.applyForRight(_mActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE, new PermissionUtils.PermissionState() { + //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); +// HdlThreadLogic.toast(_mActivity, R.string.permission_open); return; } changedUserAvatar(); } - }); + }, true); } }); @@ -109,7 +132,7 @@ private void initView() { viewBinding.toolbarTopFragmentMeRl.topTitleTv.setText(R.string.me_personal_data); - viewBinding.toolbarTopFragmentMeRl.topBackBtn.setVisibility(View.VISIBLE); + 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.personalDataUserPortraitIl.sllLlRlNameTv.setText(R.string.me_personal_data_portrait); @@ -132,29 +155,35 @@ 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()); - HDLLinkPMUser.getInstance().updateMemberInfo(imageInfo, new IDefaultCallBack() { + //涓婁紶澶村儚鍦板潃 + HdlAccountLogic.getInstance().updateMemberHeadIcon_C(imageKey.getUrl(), new CloudCallBeak<Boolean>() { @Override - public void onSuccess() { + public void onSuccess(Boolean obj) { mMemberHeadIconUrl = imageKey.getUrl(); setMemberHeadIcon(); + backPressedData(); } @Override - public void onFailure(HDLException error) { - HdlLogLogic.print("uploadUserHeadImage error:" + error.getMsg()); + public void onFailure(HDLException e) { + + HdlThreadLogic.toast(_mActivity, e); +// HdlLogLogic.print("uploadUserHeadImage error:" + error.getMsg()); // hideLoading(); } }); } @Override - public void onFailure(HDLException error) { - HdlLogLogic.print("uploadUserHeadImage error:" + error.getMsg()); + public void onFailure(HDLException e) { +// HdlThreadLogic.tipFlashingBox(_mActivity, false, e.getMsg(), e.getCode()); + HdlThreadLogic.toast(_mActivity, e); } }); } @@ -180,7 +209,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); @@ -188,11 +217,12 @@ viewBinding.personalDataUserNameIl.sllLlRlRightContentTv.setText(UserConfigManage.getInstance().getUserName()); confirmationInputDialog.dismiss(); HdlThreadLogic.tipFlashingBox(_mActivity, true, getString(R.string.home_login_change_name_succeed), 0); + backPressedData(); } @Override public void onFailure(HDLException e) { - HdlThreadLogic.tipFlashingBox(_mActivity, false, e.getMessage(), e.getCode()); + HdlThreadLogic.tipFlashingBox(_mActivity, false, e.getMsg(), e.getCode()); } }); @@ -212,7 +242,12 @@ * 鏄剧ず鐢ㄦ埛澶村儚 */ private void setMemberHeadIcon() { - GlideUtils.getRoundedCornersImage(_mActivity, mMemberHeadIconUrl, viewBinding.personalDataUserPortraitIl.sllLlRlRightContentIv, new RoundedCorners(4)); + if (UserConfigManage.getInstance().isBAccount()) { + GlideUtils.getRoundedCornersImage(_mActivity, mMemberHeadIconUrl, viewBinding.personalDataUserPortraitIl.sllLlRlRightContentIv, new RoundedCorners(4), true); + } else { + GlideUtils.getCircleCropImage(_mActivity, mMemberHeadIconUrl, viewBinding.personalDataUserPortraitIl.sllLlRlRightContentIv, true); + + } } @@ -249,4 +284,40 @@ } } + /** + * 鐗╃悊鎸夐敭杩斿洖浜嬩欢 + */ + @Override + public void onBackPressed() { +// backPressedData(); + super.onBackPressed(); + } + + /** + * 杩斿洖缁欎笂涓�绾х晫闈㈡暟鎹� + */ + private void backPressedData() { + + if (UserConfigManage.getInstance().isBAccount()) { + Intent intent = new Intent(); + intent.putExtra("memberHeadIcon", mMemberHeadIconUrl); + intent.putExtra("memberName", UserConfigManage.getInstance().getUserName()); + setResult(10, intent); + } else { + //閫氱煡缁欏皬绋嬪簭鏇存柊澶村儚鎴栬�呯敤鎴峰悕 + HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean(); + JsonObject jsonObject = new JsonObject(); + if (!TextUtils.isEmpty(mMemberHeadIconUrl)) { + jsonObject.addProperty("memberHeadIcon", mMemberHeadIconUrl); + } + if (!TextUtils.isEmpty(UserConfigManage.getInstance().getUserName())) { + jsonObject.addProperty("memberName", UserConfigManage.getInstance().getUserName()); + } + uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_REFRESH_USERINFO); + uniCallBackBaseBean.setData(jsonObject); + HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean); + } + } + + } \ No newline at end of file -- Gitblit v1.8.0