From a8dcdf8b4be02eb14599f2dd67de961b3305c1fa Mon Sep 17 00:00:00 2001 From: liangxiaojiang <461355754@qq.com> Date: Sat, 9 Aug 2025 16:02:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=8A=E4=BC=A0=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 10 +- app/src/main/AndroidManifest.xml | 48 ++- .../module_my/chongzhi/ChongZhiActivity.kt | 4 +- .../module_my/edituser/ModifyDataActivity.kt | 326 ++++++++++++++---- .../mier/module_my/money/bi/JinBiFragment.kt | 4 +- .../module_my/vip/ChangeInviterActivity.kt | 4 +- .../yuyin/mier/wxapi/WXPayEntryActivity.java | 2 +- module_community/build.gradle | 1 + .../ui/fabu/SocialReleaseActivity.kt | 169 +++++++-- .../ui/roomset/RoomSetNewActivity.kt | 159 +++++++-- tmpmob/ShareSDK/assets/ShareSDK.xml | 2 +- tmpmob/assets/ShareSDK.xml | 2 +- .../imageEngine/impl/GlideEngine.java | 11 + 13 files changed, 586 insertions(+), 156 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 28c9819..43e8b46 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ MobSDK { loopShare true devInfo { Wechat { - appId "wx3858bffeddfb91b8" - appSecret "0b59b165268b63ba6446d1dc55a21f38" + appId "wx7b5c4e89e726a72c" + appSecret "afc9860f4c670ac19f9efb0ab94927a3" } QQ { appId "102046191" @@ -33,10 +33,10 @@ android { defaultConfig { applicationId "com.yuyin.mier" minSdkVersion 22 - targetSdkVersion 33 + targetSdkVersion 31 - versionCode 42 - versionName "1.3.3" + versionCode 46 + versionName "1.3.6" dataBinding { //noinspection DataBindingWithoutKapt enabled = true diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a3cf948..2455392 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,39 +9,53 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/java/com/yuyin/mier/module_my/chongzhi/ChongZhiActivity.kt b/app/src/main/java/com/yuyin/mier/module_my/chongzhi/ChongZhiActivity.kt index 3cbda78..19b5035 100644 --- a/app/src/main/java/com/yuyin/mier/module_my/chongzhi/ChongZhiActivity.kt +++ b/app/src/main/java/com/yuyin/mier/module_my/chongzhi/ChongZhiActivity.kt @@ -47,14 +47,14 @@ class ChongZhiActivity : BaseDataBindingActivity() { private var startDate: Calendar = Calendar.getInstance() private var endDate: Calendar = Calendar.getInstance() private var seleteDate: Calendar = Calendar.getInstance() - var permissionListTmp = arrayOf(Manifest.permission.CAMERA, + var permissionListTmp = arrayOf( + Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE, - Manifest.permission.READ_EXTERNAL_STORAGE) + Manifest.permission.READ_EXTERNAL_STORAGE + ) + //图片 val REQUEST_CODE_SELECT = 100 val REQUEST_CODE_SELEC2 = 101 @@ -138,6 +170,7 @@ class ModifyDataActivity : BaseActivity() { sexStr = "1" sex.text = "男" } + 1 -> { sexStr = "2" sex.text = "女" @@ -167,7 +200,7 @@ class ModifyDataActivity : BaseActivity() { "爱好不能为空".showToast() return@setOnClickListener } - +// if (tempList.size == 0) { if (selImageList.size == 0) { viewModel.editUserInfo( imgString, @@ -180,9 +213,23 @@ class ModifyDataActivity : BaseActivity() { } else { uploadFile(selImageList[0].path) } +// }else{ +// uploadFile(tempList[0].path) +// } } head_image.setOnClickListener { - showImgPop() +// showImgPop() +// var my :GlideEngine + PictureSelector.create(this) + .openGallery(1) + .setImageEngine(TUIEngine()) + .setSelectorUIStyle(PictureSelectorStyle()) + .isGif(false) + .setMaxSelectNum(1) + .isPreviewImage(true) + .isDisplayCamera(true) + .isOriginalSkipCompress(true) + .forResult(REQUEST_CODE_SELECT) //结果回调onActivityResult code } birthday_btn.setOnClickListener { val string = birthday.text.toString() @@ -215,33 +262,61 @@ class ModifyDataActivity : BaseActivity() { } adapter.setOnItemClickListener { adapter2, view, position -> - var mPermissionsChecker= PermissionsChecker(this@ModifyDataActivity) - if (mPermissionsChecker!!.lacksPermissions(*permissionListTmp)) { - ll_quanxian.visibility= View.VISIBLE - }else{ - ll_quanxian.visibility= View.GONE - } +// var mPermissionsChecker = PermissionsChecker(this@ModifyDataActivity) +// if (mPermissionsChecker!!.lacksPermissions(*permissionListTmp)) { +// ll_quanxian.visibility = View.VISIBLE +// } else { +// ll_quanxian.visibility = View.GONE +// } + if (adapter.data[position].type == 2) { - var numss = 9 - (adapter.data.size - 1) - if (numss > 3) numss = 3 - val rxPermissions = RxPermissions(this) - val finalNumss = numss - rxPermissions - .request(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE) - .subscribe { granted: Boolean -> - if (granted) { // Always true pre-M - // 跳转到相册 - ll_quanxian.visibility= View.GONE - ImagePicker.getInstance().selectLimit = finalNumss - ImagePicker.getInstance().isMultiMode = true - ImagePicker.getInstance().isCrop = false - val intent = Intent(this, ImageGridActivity::class.java) - //显示选中的图片 - startActivityForResult(intent, REQUEST_CODE_SELEC2) - }else{ - ll_quanxian.visibility= View.GONE - } - } + + PictureSelector.create(this) + .openGallery(1) + .setImageEngine(TUIEngine()) + .setSelectorUIStyle(PictureSelectorStyle()) + .isGif(false) + .setMaxSelectNum(9) + .isPreviewImage(true) + .isDisplayCamera(true) + .isOriginalSkipCompress(true) + .forResult(REQUEST_CODE_SELEC2) //结果回调onActivityResult code + +// var numss = 9 - (adapter.data.size - 1) +// if (numss > 3) numss = 3 +// val rxPermissions = RxPermissions(this) +// val finalNumss = numss +// rxPermissions +// .request( +// Manifest.permission.CAMERA, +// Manifest.permission.WRITE_EXTERNAL_STORAGE, +// Manifest.permission.READ_MEDIA_IMAGES +// ) +// .subscribe { granted: Boolean -> +// if (granted) { // Always true pre-M +// // 跳转到相册 +// ll_quanxian.visibility = View.GONE +// ImagePicker.getInstance().selectLimit = finalNumss +// ImagePicker.getInstance().isMultiMode = true +// ImagePicker.getInstance().isCrop = false +// val intent = Intent(this, ImageGridActivity::class.java) +// //显示选中的图片 +// startActivityForResult(intent, REQUEST_CODE_SELEC2) +// } else { +// ll_quanxian.visibility = View.GONE +// AlertDialog.Builder(this@ModifyDataActivity) +// .setMessage("需要存储权限来访问相册") +// .setPositiveButton("去设置") { dialog, which -> +// val intent: Intent = +// Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS) +// val uri = Uri.fromParts("package", packageName, null) +// intent.setData(uri) +// startActivity(intent) +// } +// .setNegativeButton("取消", null) +// .show() +// } +// } } } adapter.setOnItemChildClickListener { adapter, view, position -> @@ -257,7 +332,7 @@ class ModifyDataActivity : BaseActivity() { } else { adapter.notifyDataSetChanged() } - }catch (e:Exception){ + } catch (e: Exception) { e.printStackTrace() } @@ -267,9 +342,72 @@ class ModifyDataActivity : BaseActivity() { } } + class TUIEngine : ImageEngine { + override fun loadImage(context: Context, url: String, imageView: ImageView) { + GlideEngine.loadImage(imageView, url) + } + + override fun loadImage( + context: Context?, + imageView: ImageView?, + url: String?, + maxWidth: Int, + maxHeight: Int + ) { + if (imageView != null) { + Glide.with(context!!) + .load(url) + .apply( + RequestOptions() + .override(maxWidth, maxHeight) + .priority(Priority.HIGH) + .fitCenter() + ) + .into(imageView) + } + } + + override fun loadAlbumCover(context: Context, url: String, imageView: ImageView) { + GlideEngine.loadImage(imageView, url) + } + + override fun loadGridImage(context: Context, url: String, imageView: ImageView) { + GlideEngine.loadImage(imageView, url) + } + + override fun pauseRequests(context: Context) { + // GlideEngine中没有对应方法,可以留空 + } + + override fun resumeRequests(context: Context) { + // GlideEngine中没有对应方法,可以留空 + } + + fun clearMemory(context: Context) { + // 可以调用Glide的清理方法 + Glide.get(context).clearMemory() + } + + fun loadPreImage(context: Context, url: String, imageView: ImageView) { + GlideEngine.loadImage(imageView, url) + } + + + } + private fun uploadFile(pic: String) { val parts = ArrayList() val listPos: MutableList = ArrayList() +// if (tempList.size != 0){ +// for (i in tempList.indices) { +// val file = File(tempList[i].path) +// val requestFile = +// RequestBody.create("multipart/form-data".toMediaTypeOrNull(), file) +// val body = MultipartBody.Part.createFormData("file[]", file.name, requestFile) +// parts.add(body) +// listPos.add(i) +// } +// } if (!TextUtils.isEmpty(pic)) { val file2 = File(pic) val requestFile2 = RequestBody.create("multipart/form-data".toMediaTypeOrNull(), file2) @@ -278,6 +416,7 @@ class ModifyDataActivity : BaseActivity() { listPos.add(1) } if (parts.size != 0) { + viewModel.uploadImages(parts) } } @@ -291,24 +430,26 @@ class ModifyDataActivity : BaseActivity() { .setListener(object : ActionSheetListener { override fun onDismiss(actionSheet: ActionSheet, isCancel: Boolean) {} + @RequiresApi(Build.VERSION_CODES.TIRAMISU) @SuppressLint("CheckResult") override fun onOtherButtonClick(actionSheet: ActionSheet, index: Int) { - var mPermissionsChecker= PermissionsChecker(this@ModifyDataActivity) + var mPermissionsChecker = PermissionsChecker(this@ModifyDataActivity) if (mPermissionsChecker!!.lacksPermissions(*permissionListTmp)) { - ll_quanxian.visibility= View.VISIBLE - }else{ - ll_quanxian.visibility= View.GONE + ll_quanxian.visibility = View.VISIBLE + } else { + ll_quanxian.visibility = View.GONE } val rxPermissions = RxPermissions(this@ModifyDataActivity) rxPermissions .request( Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE, - Manifest.permission.READ_EXTERNAL_STORAGE + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.READ_MEDIA_IMAGES ) .subscribe { granted: Boolean -> if (granted) { // Always true pre-M - ll_quanxian.visibility= View.GONE + ll_quanxian.visibility = View.GONE when (index) { 0 -> { //相机 @@ -326,6 +467,7 @@ class ModifyDataActivity : BaseActivity() { REQUEST_CODE_SELECT ) } + 1 -> { // 跳转到相册 // Always true pre-M @@ -347,8 +489,19 @@ class ModifyDataActivity : BaseActivity() { } } - }else{ - ll_quanxian.visibility= View.GONE + } else { + ll_quanxian.visibility = View.GONE + AlertDialog.Builder(this@ModifyDataActivity) + .setMessage("需要存储权限来访问相册") + .setPositiveButton("去设置") { dialog: DialogInterface?, which: Int -> + val intent = + Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS) + val uri = Uri.fromParts("package", packageName, null) + intent.setData(uri) + startActivity(intent) + } + .setNegativeButton("取消", null) + .show() } } @@ -389,30 +542,81 @@ class ModifyDataActivity : BaseActivity() { if (data == null) { return } - val tempList: ArrayList? - if (resultCode == ImagePicker.RESULT_CODE_ITEMS) { +// val tempList: ArrayList? +// if (resultCode == RESULT_OK && data != null) { +// //添加图片返回 +// if (requestCode == REQUEST_CODE_SELECT) { +//// tempList = +//// data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList? +// tempList = PictureSelector.obtainSelectorList(data) as ArrayList? +// if (tempList == null) { +// return +// } +// selImageList.clear() +// selImageList.addAll(tempList) +// if (selImageList.size > 0) { +// Glide.with(this).load(selImageList[0].path).into(head_image) +// } +// } else if (requestCode == REQUEST_CODE_SELEC2) { +// tempList = +// data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList? +// if (tempList == null) { +// return +// } +// +// adapter.data.clear() +// for (i in tempList.indices) { +// imageListAll1.add(ImageItems(1, tempList[i])) +// } +// +// imageListAll2 = imageListAll1 +// if (imageListAll2.size < maxSelectNum) { +// imageListAll2.add(ImageItems(2, ImageItem())) +// } +// +// adapter.setNewData(imageListAll2) +// } +// } + if (resultCode == RESULT_OK && data != null) { //添加图片返回 if (requestCode == REQUEST_CODE_SELECT) { - tempList = - data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList? - if (tempList == null) { - return - } + // 处理 PictureSelector 返回的结果 + val localMediaList: ArrayList = PictureSelector.obtainSelectorList(data) + + // 清空原有选择 selImageList.clear() - selImageList.addAll(tempList) + + // 将 LocalMedia 转换为 ImageItem + for (localMedia in localMediaList) { + val imageItem = ImageItem() + imageItem.path = localMedia.realPath // 或者使用 localMedia.compressPath + + selImageList.add(imageItem) + } + if (selImageList.size > 0) { Glide.with(this).load(selImageList[0].path).into(head_image) } } else if (requestCode == REQUEST_CODE_SELEC2) { - tempList = - data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList? - if (tempList == null) { - return - } + // 处理 ImagePicker 返回的结果 + val localMediaList: ArrayList = PictureSelector.obtainSelectorList(data) + +// val tempList = data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList? +// if (tempList == null) { +// return +// } + adapter.data.clear() - for (i in tempList.indices) { - imageListAll1.add(ImageItems(1, tempList[i])) +// for (i in tempList.indices) { +// imageListAll1.add(ImageItems(1, tempList[i])) +// } + tempList.clear() + for (localMedia in localMediaList) { + val imageItem = ImageItem() + imageItem.path = localMedia.realPath + tempList.add(imageItem) + imageListAll1.add(ImageItems(1, imageItem)) } imageListAll2 = imageListAll1 diff --git a/app/src/main/java/com/yuyin/mier/module_my/money/bi/JinBiFragment.kt b/app/src/main/java/com/yuyin/mier/module_my/money/bi/JinBiFragment.kt index c9fc65c..48a76ca 100644 --- a/app/src/main/java/com/yuyin/mier/module_my/money/bi/JinBiFragment.kt +++ b/app/src/main/java/com/yuyin/mier/module_my/money/bi/JinBiFragment.kt @@ -118,7 +118,7 @@ class JinBiFragment : BaseDataBindingFragment - var mPermissionsChecker = PermissionsChecker(this@SocialReleaseActivity) - if (mPermissionsChecker!!.lacksPermissions(*permissionListTmp)) { - ll_quanxian.visibility = View.VISIBLE - } else { - ll_quanxian.visibility = View.GONE - } +// var mPermissionsChecker = PermissionsChecker(this@SocialReleaseActivity) +// if (mPermissionsChecker!!.lacksPermissions(*permissionListTmp)) { +// ll_quanxian.visibility = View.VISIBLE +// } else { +// ll_quanxian.visibility = View.GONE +// } if (adapter.data[position].type == 2) { - var numss = 9 - (adapter.data.size - 1) - if (numss > 3) numss = 3 - val rxPermissions = RxPermissions(this) - val finalNumss = numss - rxPermissions - .request(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE) - .subscribe { granted: Boolean -> - if (granted) { // Always true pre-M - // 跳转到相册 - ll_quanxian.visibility = View.GONE - ImagePicker.getInstance().selectLimit = finalNumss - ImagePicker.getInstance().isMultiMode = true - ImagePicker.getInstance().isCrop = false - val intent = Intent(this, ImageGridActivity::class.java) - //显示选中的图片 - startActivityForResult(intent, REQUEST_CODE_SELECT) - } else { - ll_quanxian.visibility = View.GONE - } - } + + PictureSelector.create(this) + .openGallery(1) + .setImageEngine(TUIEngine()) + .setSelectorUIStyle(PictureSelectorStyle()) + .isGif(false) + .setMaxSelectNum(9) + .isPreviewImage(true) + .isDisplayCamera(true) + .isOriginalSkipCompress(true) + .forResult(REQUEST_CODE_SELECT) //结果回调onActivityResult code + +// var numss = 9 - (adapter.data.size - 1) +// if (numss > 3) numss = 3 +// val rxPermissions = RxPermissions(this) +// val finalNumss = numss +// rxPermissions +// .request(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE) +// .subscribe { granted: Boolean -> +// if (granted) { // Always true pre-M +// // 跳转到相册 +// ll_quanxian.visibility = View.GONE +// ImagePicker.getInstance().selectLimit = finalNumss +// ImagePicker.getInstance().isMultiMode = true +// ImagePicker.getInstance().isCrop = false +// val intent = Intent(this, ImageGridActivity::class.java) +// //显示选中的图片 +// startActivityForResult(intent, REQUEST_CODE_SELECT) +// } else { +// ll_quanxian.visibility = View.GONE +// } +// } } } adapter.setOnItemChildClickListener { adapter, view, position -> @@ -106,6 +128,58 @@ class SocialReleaseActivity : } } } + class TUIEngine : ImageEngine { + override fun loadImage(context: Context, url: String, imageView: ImageView) { + GlideEngine.loadImage(imageView, url) + } + + override fun loadImage( + context: Context?, + imageView: ImageView?, + url: String?, + maxWidth: Int, + maxHeight: Int + ) { + if (imageView != null) { + Glide.with(context!!) + .load(url) + .apply( + RequestOptions() + .override(maxWidth, maxHeight) + .priority(Priority.HIGH) + .fitCenter() + ) + .into(imageView) + } + } + + override fun loadAlbumCover(context: Context, url: String, imageView: ImageView) { + GlideEngine.loadImage(imageView, url) + } + + override fun loadGridImage(context: Context, url: String, imageView: ImageView) { + GlideEngine.loadImage(imageView, url) + } + + override fun pauseRequests(context: Context) { + // GlideEngine中没有对应方法,可以留空 + } + + override fun resumeRequests(context: Context) { + // GlideEngine中没有对应方法,可以留空 + } + + fun clearMemory(context: Context) { + // 可以调用Glide的清理方法 + Glide.get(context).clearMemory() + } + + fun loadPreImage(context: Context, url: String, imageView: ImageView) { + GlideEngine.loadImage(imageView, url) + } + + + } private fun uploadFile() { val parts = java.util.ArrayList() @@ -248,18 +322,41 @@ class SocialReleaseActivity : if (data == null) { return } - if (resultCode == ImagePicker.RESULT_CODE_ITEMS) { + if (resultCode == RESULT_OK && data != null) { //添加图片返回 if (requestCode == REQUEST_CODE_SELECT) { - tempList.addAll(data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList) - imageSize = tempList.size - if (tempList == null) { - return - } - adapter.data.clear() +// tempList.addAll(data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList) +// imageSize = tempList.size +// if (tempList == null) { +// return +// } +// adapter.data.clear() +// +// for (i in tempList.indices) { +// imageListAll1.add(ImageItems(1, tempList[i])) +// } +// +// imageListAll2 = imageListAll1 +// if (imageListAll2.size < maxSelectNum) { +// imageListAll2.add(ImageItems(2, ImageItem())) +// } +// +// adapter.setNewData(imageListAll2) - for (i in tempList.indices) { - imageListAll1.add(ImageItems(1, tempList[i])) + + + val localMediaList: ArrayList = PictureSelector.obtainSelectorList(data) + imageSize = localMediaList.size + adapter.data.clear() +// for (i in tempList.indices) { +// imageListAll1.add(ImageItems(1, tempList[i])) +// } + tempList.clear() + for (localMedia in localMediaList) { + val imageItem = ImageItem() + imageItem.path = localMedia.realPath + tempList.add(imageItem) + imageListAll1.add(ImageItems(1, imageItem)) } imageListAll2 = imageListAll1 @@ -268,6 +365,8 @@ class SocialReleaseActivity : } adapter.setNewData(imageListAll2) + + } } } diff --git a/module_live/src/main/java/com/yuyin/module_live/ui/roomset/RoomSetNewActivity.kt b/module_live/src/main/java/com/yuyin/module_live/ui/roomset/RoomSetNewActivity.kt index 5e98247..d3499eb 100644 --- a/module_live/src/main/java/com/yuyin/module_live/ui/roomset/RoomSetNewActivity.kt +++ b/module_live/src/main/java/com/yuyin/module_live/ui/roomset/RoomSetNewActivity.kt @@ -2,10 +2,12 @@ package com.yuyin.module_live.ui.roomset import android.Manifest import android.annotation.SuppressLint +import android.content.Context import android.content.Intent import android.text.TextUtils import android.view.KeyEvent import android.view.View +import android.widget.ImageView import android.widget.RelativeLayout import android.widget.TextView import androidx.recyclerview.widget.GridLayoutManager @@ -13,14 +15,21 @@ import androidx.recyclerview.widget.LinearLayoutManager import com.alibaba.android.arouter.facade.annotation.Route import com.baoyz.actionsheet.ActionSheet import com.bumptech.glide.Glide +import com.bumptech.glide.Priority +import com.bumptech.glide.request.RequestOptions import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.BaseViewHolder import com.kongzue.dialog.util.BaseDialog import com.kongzue.dialog.v3.CustomDialog +import com.luck.picture.lib.basic.PictureSelector +import com.luck.picture.lib.engine.ImageEngine +import com.luck.picture.lib.entity.LocalMedia +import com.luck.picture.lib.style.PictureSelectorStyle import com.lzy.imagepicker.ImagePicker import com.lzy.imagepicker.bean.ImageItem import com.lzy.imagepicker.ui.ImageGridActivity import com.tbruyelle.rxpermissions2.RxPermissions +import com.tencent.qcloud.tuicore.component.imageEngine.impl.GlideEngine import com.yuyin.lib_base.Const import com.yuyin.lib_base.arouter.AroutUtil.LIVE_LIVESETNEW import com.yuyin.lib_base.base.BaseDataBindingActivity @@ -46,11 +55,13 @@ import kotlin.collections.set @Route(path = LIVE_LIVESETNEW) -class RoomSetNewActivity : BaseDataBindingActivity() { +class RoomSetNewActivity : + BaseDataBindingActivity() { private var roomImgyAdapter: RoomImgyAdapter? = null lateinit var mEnterRoom: EnterRoomInfo -// lateinit var categorRoomBeans: ArrayList - private var roomType="" + + // lateinit var categorRoomBeans: ArrayList + private var roomType = "" var room_background = "" override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean { @@ -62,26 +73,26 @@ class RoomSetNewActivity : BaseDataBindingActivity val data: List = tagAdapter!!.data - for(list in data){ + for (list in data) { list.isSelect = false } - tagAdapter.data[position].isSelect=true - roomType= tagAdapter.data[position].cate_id.toString() + tagAdapter.data[position].isSelect = true + roomType = tagAdapter.data[position].cate_id.toString() tagAdapter.notifyDataSetChanged() } } @@ -126,7 +137,7 @@ class RoomSetNewActivity : BaseDataBindingActivity { // 跳转到相册 // Always true pre-M @@ -339,29 +414,53 @@ class RoomSetNewActivity : BaseDataBindingActivity - if (resultCode == ImagePicker.RESULT_CODE_ITEMS) { +// if (resultCode == ImagePicker.RESULT_CODE_ITEMS) { +// //添加图片返回 +// if (requestCode == REQUEST_CODE_SELECT) { +// tempList = +// data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList +// selImageList.clear() +// selImageList.addAll(tempList) +// if (selImageList.size > 0) { +// Glide.with(this).load(selImageList[0].path).into(head_image) +// } +// } +// } + + if (resultCode == RESULT_OK && data != null) { //添加图片返回 if (requestCode == REQUEST_CODE_SELECT) { - tempList = - data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList + // 处理 PictureSelector 返回的结果 + val localMediaList: ArrayList = PictureSelector.obtainSelectorList(data) + + // 清空原有选择 selImageList.clear() - selImageList.addAll(tempList) + + // 将 LocalMedia 转换为 ImageItem + for (localMedia in localMediaList) { + val imageItem = ImageItem() + imageItem.path = localMedia.realPath // 或者使用 localMedia.compressPath + + selImageList.add(imageItem) + } + if (selImageList.size > 0) { Glide.with(this).load(selImageList[0].path).into(head_image) } + } } } - class TagAdapter(data: List) : - BaseQuickAdapter(R.layout.item_tag_room_type, data) { - override fun convert(helper: BaseViewHolder, item: RoomCateBean?) { - helper.setText(R.id.tv_content, item?.category_name) - helper.getView(R.id.tv_content).isSelected = item!!.isSelect + class TagAdapter(data: List) : + BaseQuickAdapter(R.layout.item_tag_room_type, data) { + override fun convert(helper: BaseViewHolder, item: RoomCateBean?) { + helper.setText(R.id.tv_content, item?.category_name) + helper.getView(R.id.tv_content).isSelected = item!!.isSelect - } + } - } + } -} \ No newline at end of file + } \ No newline at end of file diff --git a/tmpmob/ShareSDK/assets/ShareSDK.xml b/tmpmob/ShareSDK/assets/ShareSDK.xml index 14d7b3e..87032b3 100644 --- a/tmpmob/ShareSDK/assets/ShareSDK.xml +++ b/tmpmob/ShareSDK/assets/ShareSDK.xml @@ -16,7 +16,7 @@ - + diff --git a/tmpmob/assets/ShareSDK.xml b/tmpmob/assets/ShareSDK.xml index 5db62e0..5502f72 100644 --- a/tmpmob/assets/ShareSDK.xml +++ b/tmpmob/assets/ShareSDK.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/tuicore/src/main/java/com/tencent/qcloud/tuicore/component/imageEngine/impl/GlideEngine.java b/tuicore/src/main/java/com/tencent/qcloud/tuicore/component/imageEngine/impl/GlideEngine.java index a42a361..5a97a7f 100644 --- a/tuicore/src/main/java/com/tencent/qcloud/tuicore/component/imageEngine/impl/GlideEngine.java +++ b/tuicore/src/main/java/com/tencent/qcloud/tuicore/component/imageEngine/impl/GlideEngine.java @@ -152,5 +152,16 @@ public class GlideEngine { .apply(new RequestOptions().centerCrop().error(defaultResId)) .into(imageView); } + private static GlideEngine instance; + public static GlideEngine createGlideEngine() { + if (null == instance) { + synchronized (GlideEngine.class) { + if (null == instance) { + instance = new GlideEngine(); + } + } + } + return instance; + } }