修改上传图片逻辑
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -9,39 +9,53 @@
|
||||
</queries> <!-- 这个权限用于进行网络定位 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 这个权限用于访问GPS定位 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 获取运营商信息,用于支持提供运营商信息相关的接口 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据 -->
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 访问网络,网络定位需要上网 -->
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- The Agora SDK requires Bluetooth permissions in case users are using Bluetooth devices. -->
|
||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <!-- 控制呼吸灯,振动器等,用于新消息提醒 -->
|
||||
<uses-permission android:name="android.permission.FLASHLIGHT" />
|
||||
<uses-permission android:name="android.permission.VIBRATE" /> <!-- SDK 权限申明, 第三方 APP 接入时,请将 com.netease.nim.demo 替换为自己的包名 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 获取网络状态 -->
|
||||
<uses-permission android:name="android.permission.INTERNET" /> <!-- 网络通信 -->
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 获取设备信息 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 获取MAC地址 -->
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 读写sdcard,storage等等 -->
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" /> <!-- 允许程序录制音频 -->
|
||||
<uses-permission android:name="android.permission.GET_TASKS" />
|
||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
||||
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- Android 9 及以下 -->
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" /> <!-- Android 13+ 图片权限 -->
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" /> <!-- Android 13+ 视频权限 -->
|
||||
|
||||
|
||||
<uses-permission android:name="android.permission.NETWORK_PROVIDER" />
|
||||
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
||||
android:maxSdkVersion="28" />
|
||||
<!-- />-->
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<uses-permission android:name="android.permission.REORDER_TASKS" />
|
||||
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
|
||||
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO"/>
|
||||
<queries package="${applicationId}">
|
||||
<intent>
|
||||
<action android:name="android.media.action.IMAGE_CAPTURE">
|
||||
|
||||
</action>
|
||||
</intent>
|
||||
<intent>
|
||||
<action android:name="android.media.action.ACTION_VIDEO_CAPTURE">
|
||||
|
||||
</action>
|
||||
</intent>
|
||||
</queries>
|
||||
<!-- 基础权限 -->
|
||||
<application
|
||||
android:name="com.yuyin.lib_base.App"
|
||||
android:allowBackup="true"
|
||||
@@ -79,6 +93,8 @@
|
||||
android:name="design_height_in_dp"
|
||||
android:value="812" />
|
||||
|
||||
|
||||
|
||||
<activity
|
||||
android:name="com.yuyin.mier.module_my.set.BindPhoneActivity"
|
||||
android:exported="true" />
|
||||
|
||||
@@ -47,14 +47,14 @@ class ChongZhiActivity : BaseDataBindingActivity<ChongZhiViewModel, ViewDataBind
|
||||
val mWxApi = WXAPIFactory.createWXAPI(
|
||||
this,null)
|
||||
// 将该app注册到微信
|
||||
mWxApi.registerApp("wx3858bffeddfb91b8")
|
||||
mWxApi.registerApp("wx7b5c4e89e726a72c")
|
||||
// 判断是否安装客户端
|
||||
if (!mWxApi.isWXAppInstalled) {
|
||||
"请您先安装微信客户端!".showToast()
|
||||
return@observe
|
||||
}
|
||||
val req = PayReq()
|
||||
req.appId = "wx3858bffeddfb91b8" // 微信开放平台审核通过的应用APPID
|
||||
req.appId = "wx7b5c4e89e726a72c" // 微信开放平台审核通过的应用APPID
|
||||
|
||||
req.partnerId = it.partnerid // 微信支付分配的商户号
|
||||
|
||||
|
||||
@@ -2,50 +2,82 @@ package com.yuyin.mier.module_my.edituser
|
||||
|
||||
import android.Manifest
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.AlertDialog
|
||||
import android.content.Context
|
||||
import android.content.DialogInterface
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.provider.Settings
|
||||
import android.text.TextUtils
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import com.alibaba.android.arouter.facade.annotation.Route
|
||||
import com.baoyz.actionsheet.ActionSheet
|
||||
import com.baoyz.actionsheet.ActionSheet.ActionSheetListener
|
||||
import com.bigkoo.pickerview.builder.TimePickerBuilder
|
||||
import com.bumptech.glide.Glide
|
||||
import com.yuyin.lib_base.arouter.AroutUtil.MAIN_MY_USER_INFO
|
||||
import com.yuyin.lib_base.base.BaseActivity
|
||||
import com.yuyin.lib_base.util.showToast
|
||||
import com.bumptech.glide.Priority
|
||||
import com.bumptech.glide.request.RequestOptions
|
||||
import com.luck.picture.lib.basic.PictureSelector
|
||||
import com.luck.picture.lib.config.PictureConfig
|
||||
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.imsdk.v2.V2TIMManager
|
||||
import com.tencent.imsdk.v2.V2TIMUserFullInfo
|
||||
import com.tencent.qcloud.tuicore.component.imageEngine.impl.GlideEngine
|
||||
import com.yuyin.lib_base.arouter.AroutUtil.MAIN_MY_USER_INFO
|
||||
import com.yuyin.lib_base.base.BaseActivity
|
||||
import com.yuyin.lib_base.base.UserManager
|
||||
import com.yuyin.lib_base.model.Login
|
||||
import com.yuyin.lib_base.util.PermissionsChecker
|
||||
import com.yuyin.lib_base.util.showToast
|
||||
import com.yuyin.mier.R
|
||||
import com.yuyin.module_community.adapter.FBPicListAdapter
|
||||
import com.yuyin.module_community.adapter.FullyGridLayoutManager
|
||||
import com.yuyin.module_community.model.ImageItems
|
||||
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.*
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.birthday
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.birthday_btn
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.head_image
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.id
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.ll_quanxian
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.rl_sex
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.sex
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.sor_release_rv
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.textSend
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.tv_aihao
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.tv_baocun
|
||||
import kotlinx.android.synthetic.main.activity_modify_data.tv_qianming
|
||||
import okhttp3.MediaType.Companion.toMediaTypeOrNull
|
||||
import okhttp3.MultipartBody
|
||||
import okhttp3.RequestBody
|
||||
import org.litepal.LitePal
|
||||
import java.io.File
|
||||
import java.lang.Exception
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
import java.util.Calendar
|
||||
import java.util.Date
|
||||
import java.util.Locale
|
||||
import java.util.TimeZone
|
||||
|
||||
|
||||
@Route(path = MAIN_MY_USER_INFO)
|
||||
class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
||||
private var startDate: Calendar = Calendar.getInstance()
|
||||
private var endDate: Calendar = Calendar.getInstance()
|
||||
private var seleteDate: Calendar = Calendar.getInstance()
|
||||
var permissionListTmp = arrayOf<String>(Manifest.permission.CAMERA,
|
||||
var permissionListTmp = arrayOf<String>(
|
||||
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<ModifyDataViewModel>() {
|
||||
sexStr = "1"
|
||||
sex.text = "男"
|
||||
}
|
||||
|
||||
1 -> {
|
||||
sexStr = "2"
|
||||
sex.text = "女"
|
||||
@@ -167,7 +200,7 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
||||
"爱好不能为空".showToast()
|
||||
return@setOnClickListener
|
||||
}
|
||||
|
||||
// if (tempList.size == 0) {
|
||||
if (selImageList.size == 0) {
|
||||
viewModel.editUserInfo(
|
||||
imgString,
|
||||
@@ -180,9 +213,23 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
||||
} 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<ModifyDataViewModel>() {
|
||||
}
|
||||
|
||||
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<ModifyDataViewModel>() {
|
||||
} else {
|
||||
adapter.notifyDataSetChanged()
|
||||
}
|
||||
}catch (e:Exception){
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
|
||||
@@ -267,9 +342,72 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
||||
}
|
||||
}
|
||||
|
||||
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<MultipartBody.Part>()
|
||||
val listPos: MutableList<Int> = 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<ModifyDataViewModel>() {
|
||||
listPos.add(1)
|
||||
}
|
||||
if (parts.size != 0) {
|
||||
|
||||
viewModel.uploadImages(parts)
|
||||
}
|
||||
}
|
||||
@@ -291,24 +430,26 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
||||
.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<ModifyDataViewModel>() {
|
||||
REQUEST_CODE_SELECT
|
||||
)
|
||||
}
|
||||
|
||||
1 -> {
|
||||
// 跳转到相册
|
||||
// Always true pre-M
|
||||
@@ -347,8 +489,19 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
||||
}
|
||||
}
|
||||
|
||||
}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<ModifyDataViewModel>() {
|
||||
if (data == null) {
|
||||
return
|
||||
}
|
||||
val tempList: ArrayList<ImageItem>?
|
||||
if (resultCode == ImagePicker.RESULT_CODE_ITEMS) {
|
||||
// val tempList: ArrayList<ImageItem>?
|
||||
// if (resultCode == RESULT_OK && data != null) {
|
||||
// //添加图片返回
|
||||
// if (requestCode == REQUEST_CODE_SELECT) {
|
||||
//// tempList =
|
||||
//// data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>?
|
||||
// tempList = PictureSelector.obtainSelectorList(data) as ArrayList<ImageItem>?
|
||||
// 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<ImageItem>?
|
||||
// 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<ImageItem>?
|
||||
if (tempList == null) {
|
||||
return
|
||||
}
|
||||
// 处理 PictureSelector 返回的结果
|
||||
val localMediaList: ArrayList<LocalMedia> = 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<ImageItem>?
|
||||
if (tempList == null) {
|
||||
return
|
||||
}
|
||||
// 处理 ImagePicker 返回的结果
|
||||
val localMediaList: ArrayList<LocalMedia> = PictureSelector.obtainSelectorList(data)
|
||||
|
||||
// val tempList = data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>?
|
||||
// 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
|
||||
|
||||
@@ -118,7 +118,7 @@ class JinBiFragment : BaseDataBindingFragment<JinBiViewModel, FragmentJinbiBindi
|
||||
)
|
||||
|
||||
// 将该app注册到微信
|
||||
mWxApi.registerApp("wx3858bffeddfb91b8")
|
||||
mWxApi.registerApp("wx7b5c4e89e726a72c")
|
||||
// 判断是否安装客户端
|
||||
if (!mWxApi.isWXAppInstalled) {
|
||||
"请您先安装微信客户端!".showToast()
|
||||
@@ -126,7 +126,7 @@ class JinBiFragment : BaseDataBindingFragment<JinBiViewModel, FragmentJinbiBindi
|
||||
}
|
||||
val req = PayReq()
|
||||
// 微信开放平台审核通过的应用APPID
|
||||
req.appId = "wx3858bffeddfb91b8"
|
||||
req.appId = "wx7b5c4e89e726a72c"
|
||||
// 微信支付分配的商户号
|
||||
req.partnerId = it.partnerid
|
||||
// 预支付订单号,app服务器调用“统一下单”接口获取
|
||||
|
||||
@@ -63,7 +63,7 @@ class ChangeInviterActivity :
|
||||
)
|
||||
|
||||
// 将该app注册到微信
|
||||
mWxApi.registerApp("wx3858bffeddfb91b8")
|
||||
mWxApi.registerApp("wx7b5c4e89e726a72c")
|
||||
// 判断是否安装客户端
|
||||
if (!mWxApi.isWXAppInstalled) {
|
||||
"请您先安装微信客户端!".showToast()
|
||||
@@ -71,7 +71,7 @@ class ChangeInviterActivity :
|
||||
}
|
||||
val req = PayReq()
|
||||
// 微信开放平台审核通过的应用APPID
|
||||
req.appId = "wx3858bffeddfb91b8"
|
||||
req.appId = "wx7b5c4e89e726a72c"
|
||||
// 微信支付分配的商户号
|
||||
req.partnerId = it.partnerid
|
||||
// 预支付订单号,app服务器调用“统一下单”接口获取
|
||||
|
||||
@@ -20,7 +20,7 @@ public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler {
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
api = WXAPIFactory.createWXAPI(this, "wx3858bffeddfb91b8", true);
|
||||
api = WXAPIFactory.createWXAPI(this, "wx7b5c4e89e726a72c", true);
|
||||
api.handleIntent(getIntent(), this);
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<RoomSetViewModel, ActivityRoomSettingNewBinding>() {
|
||||
class RoomSetNewActivity :
|
||||
BaseDataBindingActivity<RoomSetViewModel, ActivityRoomSettingNewBinding>() {
|
||||
private var roomImgyAdapter: RoomImgyAdapter? = null
|
||||
lateinit var mEnterRoom: EnterRoomInfo
|
||||
// lateinit var categorRoomBeans: ArrayList<CategorRoomBean>
|
||||
private var roomType=""
|
||||
|
||||
// lateinit var categorRoomBeans: ArrayList<CategorRoomBean>
|
||||
private var roomType = ""
|
||||
|
||||
var room_background = ""
|
||||
override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
|
||||
@@ -62,26 +73,26 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
||||
}
|
||||
|
||||
override fun startObserve() {
|
||||
viewModel.roomCateBean.observe(this){
|
||||
viewModel.roomCateBean.observe(this) {
|
||||
for (item in it.indices) {
|
||||
if (mEnterRoom.cate_id == it[item].cate_id.toString()) {
|
||||
it[item].isSelect = true
|
||||
roomType=it[item].cate_id.toString()
|
||||
roomType = it[item].cate_id.toString()
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
mDataBinding.rvContainer.layoutManager =
|
||||
LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false)
|
||||
var tagAdapter=TagAdapter(it)
|
||||
var tagAdapter = TagAdapter(it)
|
||||
mDataBinding.rvContainer.adapter = tagAdapter
|
||||
tagAdapter.setOnItemClickListener { adapter, view, position ->
|
||||
val data: List<RoomCateBean> = 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<RoomSetViewModel, ActivityRoo
|
||||
map["room_intro"] = room_intro
|
||||
map["cate_id"] = roomType
|
||||
map["room_cover"] = it[0]
|
||||
if(!TextUtils.isEmpty(mDataBinding.etPass.text.toString().trim())){
|
||||
if (!TextUtils.isEmpty(mDataBinding.etPass.text.toString().trim())) {
|
||||
map["room_password"] = mDataBinding.etPass.text.toString().trim()
|
||||
}
|
||||
map["room_background_id"] = room_background
|
||||
@@ -139,8 +150,8 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
||||
EventBus.getDefault().post(FirstEvent("指定发送", Const.FANGJIANSHEZHI))
|
||||
backToRoom()
|
||||
})
|
||||
viewModel.roomInfo.observe(this){
|
||||
if(!TextUtils.isEmpty(it.room_password)){
|
||||
viewModel.roomInfo.observe(this) {
|
||||
if (!TextUtils.isEmpty(it.room_password)) {
|
||||
mDataBinding.etPass.setText(it.room_password)
|
||||
}
|
||||
|
||||
@@ -189,27 +200,90 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
||||
|
||||
override fun initEvent() {
|
||||
mDataBinding.llfjfcbl.setOnClickListener {
|
||||
var intent=Intent(this,RoomShareRatioActivity::class.java)
|
||||
intent.putExtra("rid",mEnterRoom.rid)
|
||||
var intent = Intent(this, RoomShareRatioActivity::class.java)
|
||||
intent.putExtra("rid", mEnterRoom.rid)
|
||||
startActivity(intent)
|
||||
}
|
||||
mDataBinding.ivBaseBack2.setOnClickListener {
|
||||
backToRoom()
|
||||
}
|
||||
mDataBinding.headImage.setOnClickListener {
|
||||
showImgPop()
|
||||
// showImgPop()
|
||||
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
|
||||
}
|
||||
mDataBinding.tvBaocun.setOnClickListener {
|
||||
baocun()
|
||||
}
|
||||
mDataBinding.llYyt.setOnClickListener {
|
||||
val intent = Intent(this, RoomSetTypeActivity::class.java)
|
||||
intent.putExtra("rid",mEnterRoom.rid)
|
||||
intent.putExtra("rid", mEnterRoom.rid)
|
||||
startActivity(intent)
|
||||
}
|
||||
}
|
||||
|
||||
private fun baocun(){
|
||||
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 baocun() {
|
||||
val nickname = mDataBinding.edtLoginName.text.toString().trim()
|
||||
if (TextUtils.isEmpty(nickname)) {
|
||||
"房间名称不能为空".showToast()
|
||||
@@ -238,7 +312,7 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
||||
map["cate_id"] = roomType
|
||||
map["room_cover"] = mEnterRoom.room_cover
|
||||
map["room_background_id"] = room_background
|
||||
if(!TextUtils.isEmpty(mDataBinding.etPass.text.toString().trim())){
|
||||
if (!TextUtils.isEmpty(mDataBinding.etPass.text.toString().trim())) {
|
||||
map["room_password"] = mDataBinding.etPass.text.toString().trim()
|
||||
}
|
||||
map["rid"] = mEnterRoom.rid
|
||||
@@ -304,6 +378,7 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
||||
REQUEST_CODE_SELECT
|
||||
)
|
||||
}
|
||||
|
||||
1 -> {
|
||||
// 跳转到相册
|
||||
// Always true pre-M
|
||||
@@ -339,29 +414,53 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
||||
return
|
||||
}
|
||||
val tempList: ArrayList<ImageItem>
|
||||
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<ImageItem>
|
||||
// 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<ImageItem>
|
||||
// 处理 PictureSelector 返回的结果
|
||||
val localMediaList: ArrayList<LocalMedia> = 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<RoomCateBean>) :
|
||||
BaseQuickAdapter<RoomCateBean, BaseViewHolder>(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<TextView>(R.id.tv_content).isSelected = item!!.isSelect
|
||||
class TagAdapter(data: List<RoomCateBean>) :
|
||||
BaseQuickAdapter<RoomCateBean, BaseViewHolder>(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<TextView>(R.id.tv_content).isSelected = item!!.isSelect
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -16,7 +16,7 @@
|
||||
<Tumblr Enable="false" />
|
||||
<Email Enable="false" />
|
||||
<ShortMessage Enable="false" />
|
||||
<Wechat AppId="wx3858bffeddfb91b8" AppSecret="0b59b165268b63ba6446d1dc55a21f38" />
|
||||
<Wechat AppId="wx7b5c4e89e726a72c" AppSecret="afc9860f4c670ac19f9efb0ab94927a3" />
|
||||
<WechatMoments Enable="false" />
|
||||
<QQ AppId="102046191" AppKey="dT8ZbR4TfdOuBF4e" />
|
||||
<Instapaper Enable="false" />
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DevInfor>
|
||||
<Wechat AppId="wx3858bffeddfb91b8" AppSecret="0b59b165268b63ba6446d1dc55a21f38" />
|
||||
<Wechat AppId="wx7b5c4e89e726a72c" AppSecret="afc9860f4c670ac19f9efb0ab94927a3" />
|
||||
<QQ AppId="102046191" AppKey="dT8ZbR4TfdOuBF4e" />
|
||||
</DevInfor>
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user