From 5479c528b0ce8f210ef71898a026f662f4275f08 Mon Sep 17 00:00:00 2001
From: nilupeng <qingingrunt2010@qq.com>
Date: Thu, 11 Aug 2022 12:15:39 +0000
Subject: [PATCH] 签到 金币账户设置

---
 app/src/main/java/com/runt/open/mvvm/ui/main/mine/MineFragment.java |  105 ++++++++++++++++++++++++++--------------------------
 1 files changed, 53 insertions(+), 52 deletions(-)

diff --git a/app/src/main/java/com/runt/open/mvvm/ui/main/mine/MineFragment.java b/app/src/main/java/com/runt/open/mvvm/ui/main/mine/MineFragment.java
index d06e356..4eeb5fb 100644
--- a/app/src/main/java/com/runt/open/mvvm/ui/main/mine/MineFragment.java
+++ b/app/src/main/java/com/runt/open/mvvm/ui/main/mine/MineFragment.java
@@ -2,27 +2,34 @@
 
 import android.app.Activity;
 import android.content.Intent;
+import android.content.pm.ActivityInfo;
 import android.view.View;
-
+import android.widget.TextView;
+import androidx.activity.result.ActivityResultLauncher;
+import androidx.activity.result.contract.ActivityResultContracts;
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.request.RequestOptions;
-import com.permissionx.guolindev.PermissionX;
+import com.luck.picture.lib.PictureSelector;
+import com.luck.picture.lib.config.PictureConfig;
+import com.luck.picture.lib.config.PictureMimeType;
+import com.luck.picture.lib.entity.LocalMedia;
 import com.runt.open.mvvm.BuildConfig;
 import com.runt.open.mvvm.R;
 import com.runt.open.mvvm.base.fragments.BaseFragment;
 import com.runt.open.mvvm.databinding.FragmentMineBinding;
 import com.runt.open.mvvm.listener.ResPonse;
 import com.runt.open.mvvm.retrofit.observable.HttpObserver;
+import com.runt.open.mvvm.ui.coin.CoinSettingActivity;
+import com.runt.open.mvvm.ui.loadpage.PageActivitys;
 import com.runt.open.mvvm.ui.login.UserBean;
+import com.runt.open.mvvm.ui.sign.SignInActivity;
+import com.runt.open.mvvm.util.GlideEngine;
 import com.runt.open.mvvm.util.MyLog;
-import com.wildma.pictureselector.PictureSelector;
+import sakura.bottommenulibrary.bottompopfragmentmenu.BottomMenuFragment;
+import sakura.bottommenulibrary.bottompopfragmentmenu.MenuItem;
 
 import java.io.File;
-
-import okhttp3.ResponseBody;
-import retrofit2.Call;
-import retrofit2.Callback;
-import retrofit2.Response;
+import java.util.List;
 
 /**
  * My father is Object, ites purpose of
@@ -33,7 +40,9 @@
 public class MineFragment extends BaseFragment<FragmentMineBinding,MineViewModel> implements View.OnClickListener {
 
     private final  String TAG = "MineFragment";
+    ActivityResultLauncher<Intent> signLaunch = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> {
 
+    });
     @Override
     public void initViews() {
     }
@@ -66,16 +75,16 @@
                 openAlthum();
                 break;
             case R.id.txt_name://名称
-                mViewModel.updateName(new HttpObserver() {
+                mViewModel.updateName(new HttpObserver<String>() {
                     @Override
-                    protected void onSuccess(Object data) {
-                        UserBean.getUser().setUsername(data.toString());
-                        mBinding.txtName.setText(data.toString());
+                    protected void onSuccess(String data) {
+                        UserBean.getUser().setUsername(data);
+                        mBinding.txtName.setText(data);
 
                     }
                 });
                 break;
-           /* case R.id.lin_coin://金币
+            case R.id.lin_coin://金币
                 new BottomMenuFragment(getActivity())
                         .addMenuItems(new MenuItem("查看记录"))
                         .addMenuItems(new MenuItem("申请提现"))
@@ -83,7 +92,7 @@
                             @Override
                             public void onItemClick(TextView menu_item, int position) {
                                 if(position == 0){
-                                    startActivity(new Intent(mActivity, CoinRecordActivity.class) );
+                                    startActivity(new Intent(mActivity, PageActivitys.CoinRecordActivity.class) );
                                 }else {
                                     if(mActivity.isNull(UserBean.getUser().getAlipay())){
                                         mActivity.showDialog("设置支付宝", "您还没有设置支付宝账号", "设置", "取消", new ResPonse() {
@@ -100,7 +109,7 @@
                                             }
                                         });
                                     }else{
-                                        startActivityForResult(new Intent(mActivity, WithDrawActivity.class),REQUEST_CODE_WITHDRAW );
+                                        //startActivityForResult(new Intent(mActivity, WithDrawActivity.class),REQUEST_CODE_WITHDRAW );
                                     }
                                 }
                             }
@@ -108,8 +117,8 @@
                         .show();
                 break;
             case R.id.lin_sign://签到
-                startActivityForResult(new Intent(getContext(), SignInActivity.class),REQUEST_CODE_SIGN);
-                break;*/
+                signLaunch.launch(new Intent(getContext(), SignInActivity.class));
+                break;
         }
     }
 
@@ -118,27 +127,25 @@
      * 打开相册
      */
     public void openAlthum(){
-        PermissionX.init(this)
-                .permissions(mActivity.CAMERA_PERMISSIONS)
-                .request((allGranted, grantedList, deniedList) -> {
-                    if(allGranted){
-                        PictureSelector
-                                .create(this, PictureSelector.SELECT_REQUEST_CODE)
-                                .selectPicture(true, 300, 300, 20, 20);
-                    }else{
-                        mActivity.showDialog("警告", "软件需要权限才能运行", "申请权限", "取消", new ResPonse() {
-                            @Override
-                            public void doSuccess(Object obj) {
-                                openAlthum();
-                            }
-
-                            @Override
-                            public void doError(Object obj) {
-                            }
-                        });
-                    }
-
-                });
+        PictureSelector.create(this)
+                .openGallery(PictureMimeType.ofImage()) // 全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()、音频.ofAudio()
+                .imageEngine(GlideEngine.Companion.getInstance()) // 外部传入图片加载引擎,必传项
+                .maxSelectNum(1) // 最大图片选择数量
+                .minSelectNum(1) // 最小选择数量
+                .imageSpanCount(3) // 每行显示个数
+                .isReturnEmpty(true) // 未选择数据时点击按钮是否可以返回
+                .isAndroidQTransform(false) // 是否需要处理Android Q 拷贝至应用沙盒的操作,只针对compress(false); && .isEnableCrop(false);有效,默认处理
+                .setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) // 设置相册Activity方向,不设置默认使用系统
+                .isSingleDirectReturn(true) // 单选模式下是否直接返回,PictureConfig.SINGLE模式下有效
+                .isPreviewImage(true) // 是否可预览图片
+                .isCamera(true) // 是否显示拍照按钮
+                .isZoomAnim(false) // 图片列表点击 缩放效果 默认true
+                .isEnableCrop(true) // 是否裁剪
+                .withAspectRatio(1, 1) // 裁剪比例 如16:9 3:2 3:4 1:1 可自定义
+                .isCompress(false) // 是否压缩
+                .cutOutQuality(100) // 裁剪输出质量 默认100
+                .selectionMode(PictureConfig.SINGLE)
+                .forResult(PictureConfig.CHOOSE_REQUEST);//结果回调onActivityResult code
     }
 
 
@@ -147,24 +154,18 @@
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
         /*结果回调*/
-        if (requestCode == PictureSelector.SELECT_REQUEST_CODE) {
+        if (requestCode == PictureConfig.CHOOSE_REQUEST) {
             if (data != null) {
-                String picturePath = data.getStringExtra(PictureSelector.PICTURE_PATH);
-                MyLog.i("mineActivity","picturePath:"+picturePath);
-                final  File file = new File(picturePath);
-                mViewModel.updateHead(file).enqueue(new Callback<ResponseBody>() {
+                List<LocalMedia> selectList = PictureSelector.obtainMultipleResult(data);
+                final  File file = new File(selectList.get(0).getCutPath());
+                MyLog.i("mineActivity","picturePath:"+selectList.get(0).getCutPath()+" exists:"+file.exists());
+                mViewModel.updateHead(file, new HttpObserver<String>() {
                     @Override
-                    public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
-                        /*UserBean.getUser().setHead(obj.toString());
-                        file.delete();
-                        Glide.with(getContext()).load(BuildConfig.HOST_IP_ADDR+UserBean.getUser().getHead()) .into(mBinding.img); //获取选取的图片*/
-
+                    protected void onSuccess(String data) {
+                        UserBean.getUser().setHead(data);
+                        Glide.with(getContext()).load(BuildConfig.HOST_IP_ADDR+UserBean.getUser().getHead()) .into(mBinding.img); //获取选取的图片
                     }
 
-                    @Override
-                    public void onFailure(Call<ResponseBody> call, Throwable t) {
-                        file.delete();
-                    }
                 });
             }
         }else if(requestCode == REQUEST_CODE_SIGN && resultCode == Activity.RESULT_OK){

--
Gitblit v1.9.1