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