修改上传图片逻辑
This commit is contained in:
@@ -58,6 +58,7 @@ dependencies {
|
||||
|
||||
api 'com.alibaba:arouter-api:1.4.1'
|
||||
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'
|
||||
implementation project(':tuicore')
|
||||
kapt'com.alibaba:arouter-compiler:1.2.2'
|
||||
|
||||
api project(':lib_base')
|
||||
|
||||
@@ -1,18 +1,28 @@
|
||||
package com.yuyin.module_community.ui.fabu
|
||||
|
||||
import android.Manifest
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.text.Editable
|
||||
import android.text.TextUtils
|
||||
import android.text.TextWatcher
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
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.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.App
|
||||
import com.yuyin.lib_base.arouter.AroutUtil.COMMUNITY_FABU
|
||||
import com.yuyin.lib_base.base.BaseDataBindingActivity
|
||||
@@ -61,33 +71,45 @@ class SocialReleaseActivity :
|
||||
|
||||
override fun initView() {
|
||||
adapter.setOnItemClickListener { adapter2, view, position ->
|
||||
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<MultipartBody.Part>()
|
||||
@@ -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<ImageItem>)
|
||||
imageSize = tempList.size
|
||||
if (tempList == null) {
|
||||
return
|
||||
}
|
||||
adapter.data.clear()
|
||||
// tempList.addAll(data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>)
|
||||
// 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<LocalMedia> = 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)
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user