修改上传图片逻辑
This commit is contained in:
@@ -10,8 +10,8 @@ MobSDK {
|
|||||||
loopShare true
|
loopShare true
|
||||||
devInfo {
|
devInfo {
|
||||||
Wechat {
|
Wechat {
|
||||||
appId "wx3858bffeddfb91b8"
|
appId "wx7b5c4e89e726a72c"
|
||||||
appSecret "0b59b165268b63ba6446d1dc55a21f38"
|
appSecret "afc9860f4c670ac19f9efb0ab94927a3"
|
||||||
}
|
}
|
||||||
QQ {
|
QQ {
|
||||||
appId "102046191"
|
appId "102046191"
|
||||||
@@ -33,10 +33,10 @@ android {
|
|||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "com.yuyin.mier"
|
applicationId "com.yuyin.mier"
|
||||||
minSdkVersion 22
|
minSdkVersion 22
|
||||||
targetSdkVersion 33
|
targetSdkVersion 31
|
||||||
|
|
||||||
versionCode 42
|
versionCode 46
|
||||||
versionName "1.3.3"
|
versionName "1.3.6"
|
||||||
dataBinding {
|
dataBinding {
|
||||||
//noinspection DataBindingWithoutKapt
|
//noinspection DataBindingWithoutKapt
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|||||||
@@ -9,39 +9,53 @@
|
|||||||
</queries> <!-- 这个权限用于进行网络定位 -->
|
</queries> <!-- 这个权限用于进行网络定位 -->
|
||||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 这个权限用于访问GPS定位 -->
|
<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_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.ACCESS_NETWORK_STATE" /> <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->
|
||||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据 -->
|
<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.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.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.BLUETOOTH" />
|
||||||
<uses-permission android:name="android.permission.CAMERA" />
|
<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.SYSTEM_ALERT_WINDOW" />
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <!-- 控制呼吸灯,振动器等,用于新消息提醒 -->
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <!-- 控制呼吸灯,振动器等,用于新消息提醒 -->
|
||||||
<uses-permission android:name="android.permission.FLASHLIGHT" />
|
<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.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.INTERNET" /> <!-- 网络通信 -->
|
||||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 获取设备信息 -->
|
<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.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.RECORD_AUDIO" /> <!-- 允许程序录制音频 -->
|
||||||
<uses-permission android:name="android.permission.GET_TASKS" />
|
<uses-permission android:name="android.permission.GET_TASKS" />
|
||||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
<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
|
<application
|
||||||
android:name="com.yuyin.lib_base.App"
|
android:name="com.yuyin.lib_base.App"
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
@@ -79,6 +93,8 @@
|
|||||||
android:name="design_height_in_dp"
|
android:name="design_height_in_dp"
|
||||||
android:value="812" />
|
android:value="812" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.yuyin.mier.module_my.set.BindPhoneActivity"
|
android:name="com.yuyin.mier.module_my.set.BindPhoneActivity"
|
||||||
android:exported="true" />
|
android:exported="true" />
|
||||||
|
|||||||
@@ -47,14 +47,14 @@ class ChongZhiActivity : BaseDataBindingActivity<ChongZhiViewModel, ViewDataBind
|
|||||||
val mWxApi = WXAPIFactory.createWXAPI(
|
val mWxApi = WXAPIFactory.createWXAPI(
|
||||||
this,null)
|
this,null)
|
||||||
// 将该app注册到微信
|
// 将该app注册到微信
|
||||||
mWxApi.registerApp("wx3858bffeddfb91b8")
|
mWxApi.registerApp("wx7b5c4e89e726a72c")
|
||||||
// 判断是否安装客户端
|
// 判断是否安装客户端
|
||||||
if (!mWxApi.isWXAppInstalled) {
|
if (!mWxApi.isWXAppInstalled) {
|
||||||
"请您先安装微信客户端!".showToast()
|
"请您先安装微信客户端!".showToast()
|
||||||
return@observe
|
return@observe
|
||||||
}
|
}
|
||||||
val req = PayReq()
|
val req = PayReq()
|
||||||
req.appId = "wx3858bffeddfb91b8" // 微信开放平台审核通过的应用APPID
|
req.appId = "wx7b5c4e89e726a72c" // 微信开放平台审核通过的应用APPID
|
||||||
|
|
||||||
req.partnerId = it.partnerid // 微信支付分配的商户号
|
req.partnerId = it.partnerid // 微信支付分配的商户号
|
||||||
|
|
||||||
|
|||||||
@@ -2,50 +2,82 @@ package com.yuyin.mier.module_my.edituser
|
|||||||
|
|
||||||
import android.Manifest
|
import android.Manifest
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
|
import android.app.AlertDialog
|
||||||
|
import android.content.Context
|
||||||
|
import android.content.DialogInterface
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.net.Uri
|
||||||
|
import android.os.Build
|
||||||
|
import android.provider.Settings
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import android.widget.ImageView
|
||||||
|
import androidx.annotation.RequiresApi
|
||||||
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.recyclerview.widget.GridLayoutManager
|
||||||
import com.alibaba.android.arouter.facade.annotation.Route
|
import com.alibaba.android.arouter.facade.annotation.Route
|
||||||
import com.baoyz.actionsheet.ActionSheet
|
import com.baoyz.actionsheet.ActionSheet
|
||||||
import com.baoyz.actionsheet.ActionSheet.ActionSheetListener
|
import com.baoyz.actionsheet.ActionSheet.ActionSheetListener
|
||||||
import com.bigkoo.pickerview.builder.TimePickerBuilder
|
import com.bigkoo.pickerview.builder.TimePickerBuilder
|
||||||
import com.bumptech.glide.Glide
|
import com.bumptech.glide.Glide
|
||||||
import com.yuyin.lib_base.arouter.AroutUtil.MAIN_MY_USER_INFO
|
import com.bumptech.glide.Priority
|
||||||
import com.yuyin.lib_base.base.BaseActivity
|
import com.bumptech.glide.request.RequestOptions
|
||||||
import com.yuyin.lib_base.util.showToast
|
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.ImagePicker
|
||||||
import com.lzy.imagepicker.bean.ImageItem
|
import com.lzy.imagepicker.bean.ImageItem
|
||||||
import com.lzy.imagepicker.ui.ImageGridActivity
|
import com.lzy.imagepicker.ui.ImageGridActivity
|
||||||
import com.tbruyelle.rxpermissions2.RxPermissions
|
import com.tbruyelle.rxpermissions2.RxPermissions
|
||||||
import com.tencent.imsdk.v2.V2TIMManager
|
import com.tencent.imsdk.v2.V2TIMManager
|
||||||
import com.tencent.imsdk.v2.V2TIMUserFullInfo
|
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.base.UserManager
|
||||||
import com.yuyin.lib_base.model.Login
|
import com.yuyin.lib_base.model.Login
|
||||||
import com.yuyin.lib_base.util.PermissionsChecker
|
import com.yuyin.lib_base.util.PermissionsChecker
|
||||||
|
import com.yuyin.lib_base.util.showToast
|
||||||
import com.yuyin.mier.R
|
import com.yuyin.mier.R
|
||||||
import com.yuyin.module_community.adapter.FBPicListAdapter
|
import com.yuyin.module_community.adapter.FBPicListAdapter
|
||||||
import com.yuyin.module_community.adapter.FullyGridLayoutManager
|
import com.yuyin.module_community.adapter.FullyGridLayoutManager
|
||||||
import com.yuyin.module_community.model.ImageItems
|
import com.yuyin.module_community.model.ImageItems
|
||||||
|
import kotlinx.android.synthetic.main.activity_modify_data.birthday
|
||||||
import kotlinx.android.synthetic.main.activity_modify_data.*
|
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.MediaType.Companion.toMediaTypeOrNull
|
||||||
import okhttp3.MultipartBody
|
import okhttp3.MultipartBody
|
||||||
import okhttp3.RequestBody
|
import okhttp3.RequestBody
|
||||||
import org.litepal.LitePal
|
import org.litepal.LitePal
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.lang.Exception
|
|
||||||
import java.text.SimpleDateFormat
|
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)
|
@Route(path = MAIN_MY_USER_INFO)
|
||||||
class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
||||||
private var startDate: Calendar = Calendar.getInstance()
|
private var startDate: Calendar = Calendar.getInstance()
|
||||||
private var endDate: Calendar = Calendar.getInstance()
|
private var endDate: Calendar = Calendar.getInstance()
|
||||||
private var seleteDate: 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.WRITE_EXTERNAL_STORAGE,
|
||||||
Manifest.permission.READ_EXTERNAL_STORAGE)
|
Manifest.permission.READ_EXTERNAL_STORAGE
|
||||||
|
)
|
||||||
|
|
||||||
//图片
|
//图片
|
||||||
val REQUEST_CODE_SELECT = 100
|
val REQUEST_CODE_SELECT = 100
|
||||||
val REQUEST_CODE_SELEC2 = 101
|
val REQUEST_CODE_SELEC2 = 101
|
||||||
@@ -138,6 +170,7 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
|||||||
sexStr = "1"
|
sexStr = "1"
|
||||||
sex.text = "男"
|
sex.text = "男"
|
||||||
}
|
}
|
||||||
|
|
||||||
1 -> {
|
1 -> {
|
||||||
sexStr = "2"
|
sexStr = "2"
|
||||||
sex.text = "女"
|
sex.text = "女"
|
||||||
@@ -167,7 +200,7 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
|||||||
"爱好不能为空".showToast()
|
"爱好不能为空".showToast()
|
||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
}
|
}
|
||||||
|
// if (tempList.size == 0) {
|
||||||
if (selImageList.size == 0) {
|
if (selImageList.size == 0) {
|
||||||
viewModel.editUserInfo(
|
viewModel.editUserInfo(
|
||||||
imgString,
|
imgString,
|
||||||
@@ -180,9 +213,23 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
|||||||
} else {
|
} else {
|
||||||
uploadFile(selImageList[0].path)
|
uploadFile(selImageList[0].path)
|
||||||
}
|
}
|
||||||
|
// }else{
|
||||||
|
// uploadFile(tempList[0].path)
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
head_image.setOnClickListener {
|
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 {
|
birthday_btn.setOnClickListener {
|
||||||
val string = birthday.text.toString()
|
val string = birthday.text.toString()
|
||||||
@@ -215,33 +262,61 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
adapter.setOnItemClickListener { adapter2, view, position ->
|
adapter.setOnItemClickListener { adapter2, view, position ->
|
||||||
var mPermissionsChecker= PermissionsChecker(this@ModifyDataActivity)
|
// var mPermissionsChecker = PermissionsChecker(this@ModifyDataActivity)
|
||||||
if (mPermissionsChecker!!.lacksPermissions(*permissionListTmp)) {
|
// if (mPermissionsChecker!!.lacksPermissions(*permissionListTmp)) {
|
||||||
ll_quanxian.visibility= View.VISIBLE
|
// ll_quanxian.visibility = View.VISIBLE
|
||||||
}else{
|
// } else {
|
||||||
ll_quanxian.visibility= View.GONE
|
// ll_quanxian.visibility = View.GONE
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (adapter.data[position].type == 2) {
|
if (adapter.data[position].type == 2) {
|
||||||
var numss = 9 - (adapter.data.size - 1)
|
|
||||||
if (numss > 3) numss = 3
|
PictureSelector.create(this)
|
||||||
val rxPermissions = RxPermissions(this)
|
.openGallery(1)
|
||||||
val finalNumss = numss
|
.setImageEngine(TUIEngine())
|
||||||
rxPermissions
|
.setSelectorUIStyle(PictureSelectorStyle())
|
||||||
.request(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE)
|
.isGif(false)
|
||||||
.subscribe { granted: Boolean ->
|
.setMaxSelectNum(9)
|
||||||
if (granted) { // Always true pre-M
|
.isPreviewImage(true)
|
||||||
// 跳转到相册
|
.isDisplayCamera(true)
|
||||||
ll_quanxian.visibility= View.GONE
|
.isOriginalSkipCompress(true)
|
||||||
ImagePicker.getInstance().selectLimit = finalNumss
|
.forResult(REQUEST_CODE_SELEC2) //结果回调onActivityResult code
|
||||||
ImagePicker.getInstance().isMultiMode = true
|
|
||||||
ImagePicker.getInstance().isCrop = false
|
// var numss = 9 - (adapter.data.size - 1)
|
||||||
val intent = Intent(this, ImageGridActivity::class.java)
|
// if (numss > 3) numss = 3
|
||||||
//显示选中的图片
|
// val rxPermissions = RxPermissions(this)
|
||||||
startActivityForResult(intent, REQUEST_CODE_SELEC2)
|
// val finalNumss = numss
|
||||||
}else{
|
// rxPermissions
|
||||||
ll_quanxian.visibility= View.GONE
|
// .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 ->
|
adapter.setOnItemChildClickListener { adapter, view, position ->
|
||||||
@@ -257,7 +332,7 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
|||||||
} else {
|
} else {
|
||||||
adapter.notifyDataSetChanged()
|
adapter.notifyDataSetChanged()
|
||||||
}
|
}
|
||||||
}catch (e:Exception){
|
} catch (e: Exception) {
|
||||||
e.printStackTrace()
|
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) {
|
private fun uploadFile(pic: String) {
|
||||||
val parts = ArrayList<MultipartBody.Part>()
|
val parts = ArrayList<MultipartBody.Part>()
|
||||||
val listPos: MutableList<Int> = ArrayList()
|
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)) {
|
if (!TextUtils.isEmpty(pic)) {
|
||||||
val file2 = File(pic)
|
val file2 = File(pic)
|
||||||
val requestFile2 = RequestBody.create("multipart/form-data".toMediaTypeOrNull(), file2)
|
val requestFile2 = RequestBody.create("multipart/form-data".toMediaTypeOrNull(), file2)
|
||||||
@@ -278,6 +416,7 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
|||||||
listPos.add(1)
|
listPos.add(1)
|
||||||
}
|
}
|
||||||
if (parts.size != 0) {
|
if (parts.size != 0) {
|
||||||
|
|
||||||
viewModel.uploadImages(parts)
|
viewModel.uploadImages(parts)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -291,24 +430,26 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
|||||||
.setListener(object : ActionSheetListener {
|
.setListener(object : ActionSheetListener {
|
||||||
override fun onDismiss(actionSheet: ActionSheet, isCancel: Boolean) {}
|
override fun onDismiss(actionSheet: ActionSheet, isCancel: Boolean) {}
|
||||||
|
|
||||||
|
@RequiresApi(Build.VERSION_CODES.TIRAMISU)
|
||||||
@SuppressLint("CheckResult")
|
@SuppressLint("CheckResult")
|
||||||
override fun onOtherButtonClick(actionSheet: ActionSheet, index: Int) {
|
override fun onOtherButtonClick(actionSheet: ActionSheet, index: Int) {
|
||||||
var mPermissionsChecker= PermissionsChecker(this@ModifyDataActivity)
|
var mPermissionsChecker = PermissionsChecker(this@ModifyDataActivity)
|
||||||
if (mPermissionsChecker!!.lacksPermissions(*permissionListTmp)) {
|
if (mPermissionsChecker!!.lacksPermissions(*permissionListTmp)) {
|
||||||
ll_quanxian.visibility= View.VISIBLE
|
ll_quanxian.visibility = View.VISIBLE
|
||||||
}else{
|
} else {
|
||||||
ll_quanxian.visibility= View.GONE
|
ll_quanxian.visibility = View.GONE
|
||||||
}
|
}
|
||||||
val rxPermissions = RxPermissions(this@ModifyDataActivity)
|
val rxPermissions = RxPermissions(this@ModifyDataActivity)
|
||||||
rxPermissions
|
rxPermissions
|
||||||
.request(
|
.request(
|
||||||
Manifest.permission.CAMERA,
|
Manifest.permission.CAMERA,
|
||||||
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||||
Manifest.permission.READ_EXTERNAL_STORAGE
|
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||||
|
Manifest.permission.READ_MEDIA_IMAGES
|
||||||
)
|
)
|
||||||
.subscribe { granted: Boolean ->
|
.subscribe { granted: Boolean ->
|
||||||
if (granted) { // Always true pre-M
|
if (granted) { // Always true pre-M
|
||||||
ll_quanxian.visibility= View.GONE
|
ll_quanxian.visibility = View.GONE
|
||||||
when (index) {
|
when (index) {
|
||||||
0 -> {
|
0 -> {
|
||||||
//相机
|
//相机
|
||||||
@@ -326,6 +467,7 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
|||||||
REQUEST_CODE_SELECT
|
REQUEST_CODE_SELECT
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
1 -> {
|
1 -> {
|
||||||
// 跳转到相册
|
// 跳转到相册
|
||||||
// Always true pre-M
|
// Always true pre-M
|
||||||
@@ -347,8 +489,19 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
} else {
|
||||||
ll_quanxian.visibility= View.GONE
|
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) {
|
if (data == null) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
val tempList: ArrayList<ImageItem>?
|
// val tempList: ArrayList<ImageItem>?
|
||||||
if (resultCode == ImagePicker.RESULT_CODE_ITEMS) {
|
// 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) {
|
if (requestCode == REQUEST_CODE_SELECT) {
|
||||||
tempList =
|
// 处理 PictureSelector 返回的结果
|
||||||
data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>?
|
val localMediaList: ArrayList<LocalMedia> = PictureSelector.obtainSelectorList(data)
|
||||||
if (tempList == null) {
|
|
||||||
return
|
// 清空原有选择
|
||||||
}
|
|
||||||
selImageList.clear()
|
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) {
|
if (selImageList.size > 0) {
|
||||||
Glide.with(this).load(selImageList[0].path).into(head_image)
|
Glide.with(this).load(selImageList[0].path).into(head_image)
|
||||||
}
|
}
|
||||||
} else if (requestCode == REQUEST_CODE_SELEC2) {
|
} else if (requestCode == REQUEST_CODE_SELEC2) {
|
||||||
tempList =
|
// 处理 ImagePicker 返回的结果
|
||||||
data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>?
|
val localMediaList: ArrayList<LocalMedia> = PictureSelector.obtainSelectorList(data)
|
||||||
if (tempList == null) {
|
|
||||||
return
|
// val tempList = data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>?
|
||||||
}
|
// if (tempList == null) {
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
adapter.data.clear()
|
adapter.data.clear()
|
||||||
for (i in tempList.indices) {
|
// for (i in tempList.indices) {
|
||||||
imageListAll1.add(ImageItems(1, tempList[i]))
|
// 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
|
imageListAll2 = imageListAll1
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ class JinBiFragment : BaseDataBindingFragment<JinBiViewModel, FragmentJinbiBindi
|
|||||||
)
|
)
|
||||||
|
|
||||||
// 将该app注册到微信
|
// 将该app注册到微信
|
||||||
mWxApi.registerApp("wx3858bffeddfb91b8")
|
mWxApi.registerApp("wx7b5c4e89e726a72c")
|
||||||
// 判断是否安装客户端
|
// 判断是否安装客户端
|
||||||
if (!mWxApi.isWXAppInstalled) {
|
if (!mWxApi.isWXAppInstalled) {
|
||||||
"请您先安装微信客户端!".showToast()
|
"请您先安装微信客户端!".showToast()
|
||||||
@@ -126,7 +126,7 @@ class JinBiFragment : BaseDataBindingFragment<JinBiViewModel, FragmentJinbiBindi
|
|||||||
}
|
}
|
||||||
val req = PayReq()
|
val req = PayReq()
|
||||||
// 微信开放平台审核通过的应用APPID
|
// 微信开放平台审核通过的应用APPID
|
||||||
req.appId = "wx3858bffeddfb91b8"
|
req.appId = "wx7b5c4e89e726a72c"
|
||||||
// 微信支付分配的商户号
|
// 微信支付分配的商户号
|
||||||
req.partnerId = it.partnerid
|
req.partnerId = it.partnerid
|
||||||
// 预支付订单号,app服务器调用“统一下单”接口获取
|
// 预支付订单号,app服务器调用“统一下单”接口获取
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ class ChangeInviterActivity :
|
|||||||
)
|
)
|
||||||
|
|
||||||
// 将该app注册到微信
|
// 将该app注册到微信
|
||||||
mWxApi.registerApp("wx3858bffeddfb91b8")
|
mWxApi.registerApp("wx7b5c4e89e726a72c")
|
||||||
// 判断是否安装客户端
|
// 判断是否安装客户端
|
||||||
if (!mWxApi.isWXAppInstalled) {
|
if (!mWxApi.isWXAppInstalled) {
|
||||||
"请您先安装微信客户端!".showToast()
|
"请您先安装微信客户端!".showToast()
|
||||||
@@ -71,7 +71,7 @@ class ChangeInviterActivity :
|
|||||||
}
|
}
|
||||||
val req = PayReq()
|
val req = PayReq()
|
||||||
// 微信开放平台审核通过的应用APPID
|
// 微信开放平台审核通过的应用APPID
|
||||||
req.appId = "wx3858bffeddfb91b8"
|
req.appId = "wx7b5c4e89e726a72c"
|
||||||
// 微信支付分配的商户号
|
// 微信支付分配的商户号
|
||||||
req.partnerId = it.partnerid
|
req.partnerId = it.partnerid
|
||||||
// 预支付订单号,app服务器调用“统一下单”接口获取
|
// 预支付订单号,app服务器调用“统一下单”接口获取
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler {
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
api = WXAPIFactory.createWXAPI(this, "wx3858bffeddfb91b8", true);
|
api = WXAPIFactory.createWXAPI(this, "wx7b5c4e89e726a72c", true);
|
||||||
api.handleIntent(getIntent(), this);
|
api.handleIntent(getIntent(), this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ dependencies {
|
|||||||
|
|
||||||
api 'com.alibaba:arouter-api:1.4.1'
|
api 'com.alibaba:arouter-api:1.4.1'
|
||||||
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'
|
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'
|
||||||
|
implementation project(':tuicore')
|
||||||
kapt'com.alibaba:arouter-compiler:1.2.2'
|
kapt'com.alibaba:arouter-compiler:1.2.2'
|
||||||
|
|
||||||
api project(':lib_base')
|
api project(':lib_base')
|
||||||
|
|||||||
@@ -1,18 +1,28 @@
|
|||||||
package com.yuyin.module_community.ui.fabu
|
package com.yuyin.module_community.ui.fabu
|
||||||
|
|
||||||
import android.Manifest
|
import android.Manifest
|
||||||
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.text.Editable
|
import android.text.Editable
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import android.text.TextWatcher
|
import android.text.TextWatcher
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import android.widget.ImageView
|
||||||
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.recyclerview.widget.GridLayoutManager
|
||||||
import com.alibaba.android.arouter.facade.annotation.Route
|
import com.alibaba.android.arouter.facade.annotation.Route
|
||||||
import com.baoyz.actionsheet.ActionSheet
|
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.ImagePicker
|
||||||
import com.lzy.imagepicker.bean.ImageItem
|
import com.lzy.imagepicker.bean.ImageItem
|
||||||
import com.lzy.imagepicker.ui.ImageGridActivity
|
import com.lzy.imagepicker.ui.ImageGridActivity
|
||||||
import com.tbruyelle.rxpermissions2.RxPermissions
|
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.App
|
||||||
import com.yuyin.lib_base.arouter.AroutUtil.COMMUNITY_FABU
|
import com.yuyin.lib_base.arouter.AroutUtil.COMMUNITY_FABU
|
||||||
import com.yuyin.lib_base.base.BaseDataBindingActivity
|
import com.yuyin.lib_base.base.BaseDataBindingActivity
|
||||||
@@ -61,33 +71,45 @@ class SocialReleaseActivity :
|
|||||||
|
|
||||||
override fun initView() {
|
override fun initView() {
|
||||||
adapter.setOnItemClickListener { adapter2, view, position ->
|
adapter.setOnItemClickListener { adapter2, view, position ->
|
||||||
var mPermissionsChecker = PermissionsChecker(this@SocialReleaseActivity)
|
// var mPermissionsChecker = PermissionsChecker(this@SocialReleaseActivity)
|
||||||
if (mPermissionsChecker!!.lacksPermissions(*permissionListTmp)) {
|
// if (mPermissionsChecker!!.lacksPermissions(*permissionListTmp)) {
|
||||||
ll_quanxian.visibility = View.VISIBLE
|
// ll_quanxian.visibility = View.VISIBLE
|
||||||
} else {
|
// } else {
|
||||||
ll_quanxian.visibility = View.GONE
|
// ll_quanxian.visibility = View.GONE
|
||||||
}
|
// }
|
||||||
if (adapter.data[position].type == 2) {
|
if (adapter.data[position].type == 2) {
|
||||||
var numss = 9 - (adapter.data.size - 1)
|
|
||||||
if (numss > 3) numss = 3
|
PictureSelector.create(this)
|
||||||
val rxPermissions = RxPermissions(this)
|
.openGallery(1)
|
||||||
val finalNumss = numss
|
.setImageEngine(TUIEngine())
|
||||||
rxPermissions
|
.setSelectorUIStyle(PictureSelectorStyle())
|
||||||
.request(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE)
|
.isGif(false)
|
||||||
.subscribe { granted: Boolean ->
|
.setMaxSelectNum(9)
|
||||||
if (granted) { // Always true pre-M
|
.isPreviewImage(true)
|
||||||
// 跳转到相册
|
.isDisplayCamera(true)
|
||||||
ll_quanxian.visibility = View.GONE
|
.isOriginalSkipCompress(true)
|
||||||
ImagePicker.getInstance().selectLimit = finalNumss
|
.forResult(REQUEST_CODE_SELECT) //结果回调onActivityResult code
|
||||||
ImagePicker.getInstance().isMultiMode = true
|
|
||||||
ImagePicker.getInstance().isCrop = false
|
// var numss = 9 - (adapter.data.size - 1)
|
||||||
val intent = Intent(this, ImageGridActivity::class.java)
|
// if (numss > 3) numss = 3
|
||||||
//显示选中的图片
|
// val rxPermissions = RxPermissions(this)
|
||||||
startActivityForResult(intent, REQUEST_CODE_SELECT)
|
// val finalNumss = numss
|
||||||
} else {
|
// rxPermissions
|
||||||
ll_quanxian.visibility = View.GONE
|
// .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 ->
|
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() {
|
private fun uploadFile() {
|
||||||
val parts = java.util.ArrayList<MultipartBody.Part>()
|
val parts = java.util.ArrayList<MultipartBody.Part>()
|
||||||
@@ -248,18 +322,41 @@ class SocialReleaseActivity :
|
|||||||
if (data == null) {
|
if (data == null) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (resultCode == ImagePicker.RESULT_CODE_ITEMS) {
|
if (resultCode == RESULT_OK && data != null) {
|
||||||
//添加图片返回
|
//添加图片返回
|
||||||
if (requestCode == REQUEST_CODE_SELECT) {
|
if (requestCode == REQUEST_CODE_SELECT) {
|
||||||
tempList.addAll(data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>)
|
// tempList.addAll(data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>)
|
||||||
imageSize = tempList.size
|
// imageSize = tempList.size
|
||||||
if (tempList == null) {
|
// if (tempList == null) {
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
adapter.data.clear()
|
// 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
|
imageListAll2 = imageListAll1
|
||||||
@@ -268,6 +365,8 @@ class SocialReleaseActivity :
|
|||||||
}
|
}
|
||||||
|
|
||||||
adapter.setNewData(imageListAll2)
|
adapter.setNewData(imageListAll2)
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,10 +2,12 @@ package com.yuyin.module_live.ui.roomset
|
|||||||
|
|
||||||
import android.Manifest
|
import android.Manifest
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import android.view.KeyEvent
|
import android.view.KeyEvent
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import android.widget.ImageView
|
||||||
import android.widget.RelativeLayout
|
import android.widget.RelativeLayout
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.recyclerview.widget.GridLayoutManager
|
||||||
@@ -13,14 +15,21 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
|||||||
import com.alibaba.android.arouter.facade.annotation.Route
|
import com.alibaba.android.arouter.facade.annotation.Route
|
||||||
import com.baoyz.actionsheet.ActionSheet
|
import com.baoyz.actionsheet.ActionSheet
|
||||||
import com.bumptech.glide.Glide
|
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.BaseQuickAdapter
|
||||||
import com.chad.library.adapter.base.BaseViewHolder
|
import com.chad.library.adapter.base.BaseViewHolder
|
||||||
import com.kongzue.dialog.util.BaseDialog
|
import com.kongzue.dialog.util.BaseDialog
|
||||||
import com.kongzue.dialog.v3.CustomDialog
|
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.ImagePicker
|
||||||
import com.lzy.imagepicker.bean.ImageItem
|
import com.lzy.imagepicker.bean.ImageItem
|
||||||
import com.lzy.imagepicker.ui.ImageGridActivity
|
import com.lzy.imagepicker.ui.ImageGridActivity
|
||||||
import com.tbruyelle.rxpermissions2.RxPermissions
|
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.Const
|
||||||
import com.yuyin.lib_base.arouter.AroutUtil.LIVE_LIVESETNEW
|
import com.yuyin.lib_base.arouter.AroutUtil.LIVE_LIVESETNEW
|
||||||
import com.yuyin.lib_base.base.BaseDataBindingActivity
|
import com.yuyin.lib_base.base.BaseDataBindingActivity
|
||||||
@@ -46,11 +55,13 @@ import kotlin.collections.set
|
|||||||
|
|
||||||
|
|
||||||
@Route(path = LIVE_LIVESETNEW)
|
@Route(path = LIVE_LIVESETNEW)
|
||||||
class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoomSettingNewBinding>() {
|
class RoomSetNewActivity :
|
||||||
|
BaseDataBindingActivity<RoomSetViewModel, ActivityRoomSettingNewBinding>() {
|
||||||
private var roomImgyAdapter: RoomImgyAdapter? = null
|
private var roomImgyAdapter: RoomImgyAdapter? = null
|
||||||
lateinit var mEnterRoom: EnterRoomInfo
|
lateinit var mEnterRoom: EnterRoomInfo
|
||||||
// lateinit var categorRoomBeans: ArrayList<CategorRoomBean>
|
|
||||||
private var roomType=""
|
// lateinit var categorRoomBeans: ArrayList<CategorRoomBean>
|
||||||
|
private var roomType = ""
|
||||||
|
|
||||||
var room_background = ""
|
var room_background = ""
|
||||||
override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
|
override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
|
||||||
@@ -62,26 +73,26 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun startObserve() {
|
override fun startObserve() {
|
||||||
viewModel.roomCateBean.observe(this){
|
viewModel.roomCateBean.observe(this) {
|
||||||
for (item in it.indices) {
|
for (item in it.indices) {
|
||||||
if (mEnterRoom.cate_id == it[item].cate_id.toString()) {
|
if (mEnterRoom.cate_id == it[item].cate_id.toString()) {
|
||||||
it[item].isSelect = true
|
it[item].isSelect = true
|
||||||
roomType=it[item].cate_id.toString()
|
roomType = it[item].cate_id.toString()
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mDataBinding.rvContainer.layoutManager =
|
mDataBinding.rvContainer.layoutManager =
|
||||||
LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false)
|
LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false)
|
||||||
var tagAdapter=TagAdapter(it)
|
var tagAdapter = TagAdapter(it)
|
||||||
mDataBinding.rvContainer.adapter = tagAdapter
|
mDataBinding.rvContainer.adapter = tagAdapter
|
||||||
tagAdapter.setOnItemClickListener { adapter, view, position ->
|
tagAdapter.setOnItemClickListener { adapter, view, position ->
|
||||||
val data: List<RoomCateBean> = tagAdapter!!.data
|
val data: List<RoomCateBean> = tagAdapter!!.data
|
||||||
for(list in data){
|
for (list in data) {
|
||||||
list.isSelect = false
|
list.isSelect = false
|
||||||
}
|
}
|
||||||
tagAdapter.data[position].isSelect=true
|
tagAdapter.data[position].isSelect = true
|
||||||
roomType= tagAdapter.data[position].cate_id.toString()
|
roomType = tagAdapter.data[position].cate_id.toString()
|
||||||
tagAdapter.notifyDataSetChanged()
|
tagAdapter.notifyDataSetChanged()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -126,7 +137,7 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
|||||||
map["room_intro"] = room_intro
|
map["room_intro"] = room_intro
|
||||||
map["cate_id"] = roomType
|
map["cate_id"] = roomType
|
||||||
map["room_cover"] = it[0]
|
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_password"] = mDataBinding.etPass.text.toString().trim()
|
||||||
}
|
}
|
||||||
map["room_background_id"] = room_background
|
map["room_background_id"] = room_background
|
||||||
@@ -139,8 +150,8 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
|||||||
EventBus.getDefault().post(FirstEvent("指定发送", Const.FANGJIANSHEZHI))
|
EventBus.getDefault().post(FirstEvent("指定发送", Const.FANGJIANSHEZHI))
|
||||||
backToRoom()
|
backToRoom()
|
||||||
})
|
})
|
||||||
viewModel.roomInfo.observe(this){
|
viewModel.roomInfo.observe(this) {
|
||||||
if(!TextUtils.isEmpty(it.room_password)){
|
if (!TextUtils.isEmpty(it.room_password)) {
|
||||||
mDataBinding.etPass.setText(it.room_password)
|
mDataBinding.etPass.setText(it.room_password)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -189,27 +200,90 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
|||||||
|
|
||||||
override fun initEvent() {
|
override fun initEvent() {
|
||||||
mDataBinding.llfjfcbl.setOnClickListener {
|
mDataBinding.llfjfcbl.setOnClickListener {
|
||||||
var intent=Intent(this,RoomShareRatioActivity::class.java)
|
var intent = Intent(this, RoomShareRatioActivity::class.java)
|
||||||
intent.putExtra("rid",mEnterRoom.rid)
|
intent.putExtra("rid", mEnterRoom.rid)
|
||||||
startActivity(intent)
|
startActivity(intent)
|
||||||
}
|
}
|
||||||
mDataBinding.ivBaseBack2.setOnClickListener {
|
mDataBinding.ivBaseBack2.setOnClickListener {
|
||||||
backToRoom()
|
backToRoom()
|
||||||
}
|
}
|
||||||
mDataBinding.headImage.setOnClickListener {
|
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 {
|
mDataBinding.tvBaocun.setOnClickListener {
|
||||||
baocun()
|
baocun()
|
||||||
}
|
}
|
||||||
mDataBinding.llYyt.setOnClickListener {
|
mDataBinding.llYyt.setOnClickListener {
|
||||||
val intent = Intent(this, RoomSetTypeActivity::class.java)
|
val intent = Intent(this, RoomSetTypeActivity::class.java)
|
||||||
intent.putExtra("rid",mEnterRoom.rid)
|
intent.putExtra("rid", mEnterRoom.rid)
|
||||||
startActivity(intent)
|
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()
|
val nickname = mDataBinding.edtLoginName.text.toString().trim()
|
||||||
if (TextUtils.isEmpty(nickname)) {
|
if (TextUtils.isEmpty(nickname)) {
|
||||||
"房间名称不能为空".showToast()
|
"房间名称不能为空".showToast()
|
||||||
@@ -238,7 +312,7 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
|||||||
map["cate_id"] = roomType
|
map["cate_id"] = roomType
|
||||||
map["room_cover"] = mEnterRoom.room_cover
|
map["room_cover"] = mEnterRoom.room_cover
|
||||||
map["room_background_id"] = room_background
|
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["room_password"] = mDataBinding.etPass.text.toString().trim()
|
||||||
}
|
}
|
||||||
map["rid"] = mEnterRoom.rid
|
map["rid"] = mEnterRoom.rid
|
||||||
@@ -304,6 +378,7 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
|||||||
REQUEST_CODE_SELECT
|
REQUEST_CODE_SELECT
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
1 -> {
|
1 -> {
|
||||||
// 跳转到相册
|
// 跳转到相册
|
||||||
// Always true pre-M
|
// Always true pre-M
|
||||||
@@ -339,29 +414,53 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
val tempList: ArrayList<ImageItem>
|
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) {
|
if (requestCode == REQUEST_CODE_SELECT) {
|
||||||
tempList =
|
// 处理 PictureSelector 返回的结果
|
||||||
data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>
|
val localMediaList: ArrayList<LocalMedia> = PictureSelector.obtainSelectorList(data)
|
||||||
|
|
||||||
|
// 清空原有选择
|
||||||
selImageList.clear()
|
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) {
|
if (selImageList.size > 0) {
|
||||||
Glide.with(this).load(selImageList[0].path).into(head_image)
|
Glide.with(this).load(selImageList[0].path).into(head_image)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class TagAdapter(data: List<RoomCateBean>) :
|
class TagAdapter(data: List<RoomCateBean>) :
|
||||||
BaseQuickAdapter<RoomCateBean, BaseViewHolder>(R.layout.item_tag_room_type, data) {
|
BaseQuickAdapter<RoomCateBean, BaseViewHolder>(R.layout.item_tag_room_type, data) {
|
||||||
override fun convert(helper: BaseViewHolder, item: RoomCateBean?) {
|
override fun convert(helper: BaseViewHolder, item: RoomCateBean?) {
|
||||||
helper.setText(R.id.tv_content, item?.category_name)
|
helper.setText(R.id.tv_content, item?.category_name)
|
||||||
helper.getView<TextView>(R.id.tv_content).isSelected = item!!.isSelect
|
helper.getView<TextView>(R.id.tv_content).isSelected = item!!.isSelect
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
<Tumblr Enable="false" />
|
<Tumblr Enable="false" />
|
||||||
<Email Enable="false" />
|
<Email Enable="false" />
|
||||||
<ShortMessage Enable="false" />
|
<ShortMessage Enable="false" />
|
||||||
<Wechat AppId="wx3858bffeddfb91b8" AppSecret="0b59b165268b63ba6446d1dc55a21f38" />
|
<Wechat AppId="wx7b5c4e89e726a72c" AppSecret="afc9860f4c670ac19f9efb0ab94927a3" />
|
||||||
<WechatMoments Enable="false" />
|
<WechatMoments Enable="false" />
|
||||||
<QQ AppId="102046191" AppKey="dT8ZbR4TfdOuBF4e" />
|
<QQ AppId="102046191" AppKey="dT8ZbR4TfdOuBF4e" />
|
||||||
<Instapaper Enable="false" />
|
<Instapaper Enable="false" />
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<DevInfor>
|
<DevInfor>
|
||||||
<Wechat AppId="wx3858bffeddfb91b8" AppSecret="0b59b165268b63ba6446d1dc55a21f38" />
|
<Wechat AppId="wx7b5c4e89e726a72c" AppSecret="afc9860f4c670ac19f9efb0ab94927a3" />
|
||||||
<QQ AppId="102046191" AppKey="dT8ZbR4TfdOuBF4e" />
|
<QQ AppId="102046191" AppKey="dT8ZbR4TfdOuBF4e" />
|
||||||
</DevInfor>
|
</DevInfor>
|
||||||
@@ -152,5 +152,16 @@ public class GlideEngine {
|
|||||||
.apply(new RequestOptions().centerCrop().error(defaultResId))
|
.apply(new RequestOptions().centerCrop().error(defaultResId))
|
||||||
.into(imageView);
|
.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