mac
2024-01-02 d1ebb94e1a17b7c25d4fcf73d85345d92cc86b5c
app/src/main/java/com/hdl/photovoltaic/ui/me/PersonalDataActivity.java
@@ -7,9 +7,13 @@
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.IDefaultCallBack;
import com.hdl.linkpm.sdk.core.callback.IResponseCallBack;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
@@ -40,6 +44,7 @@
    private CameraAlbumPopWindow cameraAlbumPopWindow;
    //头像地址
    private String mMemberHeadIconUrl;
    private ActivityResultLauncher<String[]> generalPermission;
    @Override
@@ -62,6 +67,25 @@
    }
    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();
//            }
//        });
    }
@@ -70,29 +94,27 @@
        viewBinding.toolbarTopFragmentMeRl.topBackBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //数据是使用Intent返回
                Intent intent = new Intent();
                //把返回数据存入Intent
                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);
            }
        });
@@ -132,21 +154,23 @@
            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();
                                }
                                @Override
                                public void onFailure(HDLException error) {
                                    HdlLogLogic.print("uploadUserHeadImage error:" + error.getMsg());
                                public void onFailure(HDLException e) {
                                    HdlLogLogic.print("uploadUserHeadImage error:" + e.getMsg());
//                                    hideLoading();
                                }
                            });
@@ -180,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);
@@ -192,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());
                        }
                    });
@@ -249,4 +273,24 @@
        }
    }
    /**
     * 物理按键返回事件
     */
    @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);
    }
}