feat : 房间外不飘屏 , MyUriUtil try carsh 处理

This commit is contained in:
eggmanQQQ
2024-11-01 10:16:30 +08:00
parent 4d56026d03
commit a8c62182c3
4 changed files with 129 additions and 99 deletions

View File

@@ -11,8 +11,32 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.lifecycle.MutableLiveData;
import com.chwl.core.DemoCache;
import com.chwl.core.R;
import com.chwl.core.XConstants;
import com.chwl.core.auth.AuthModel;
import com.chwl.core.bean.RoomQueueInfo;
import com.chwl.core.im.custom.bean.RoomPkBean;
import com.chwl.core.room.bean.BoxSwitchVo;
import com.chwl.core.room.bean.FindLoveSwitchVo;
import com.chwl.core.room.bean.RightBottomIconConfig;
import com.chwl.core.room.bean.RoomInfo;
import com.chwl.core.room.bean.RoomModeType;
import com.chwl.core.room.bean.SeizeTreasureSwitchVo;
import com.chwl.core.room.bean.SimplePartyRoomInfo;
import com.chwl.core.room.event.RoomClearScreenEvent;
import com.chwl.core.room.game.GameStatus;
import com.chwl.core.room.giftvalue.helper.GiftValueMrg;
import com.chwl.core.super_admin.SuperAdminDataMrg;
import com.chwl.core.super_admin.util.SuperAdminUtil;
import com.chwl.core.support.room.AudioRoomContext;
import com.chwl.core.support.room.RoomContext;
import com.chwl.core.user.UserModel;
import com.chwl.core.utils.CurrentTimeUtils;
import com.chwl.core.utils.LogUtils;
import com.chwl.core.utils.StringFormatUtils;
import com.chwl.library.utils.ListUtils;
import com.chwl.library.utils.ResUtil;
import com.netease.nimlib.sdk.NIMChatRoomSDK;
import com.netease.nimlib.sdk.RequestCallback;
import com.netease.nimlib.sdk.chatroom.constant.MemberType;
@@ -24,30 +48,6 @@ import com.netease.nimlib.sdk.chatroom.model.EnterChatRoomResultData;
import com.netease.nimlib.sdk.msg.attachment.NotificationAttachment;
import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum;
import com.netease.nimlib.sdk.msg.constant.NotificationType;
import com.chwl.core.R;
import com.chwl.core.XConstants;
import com.chwl.core.DemoCache;
import com.chwl.core.auth.AuthModel;
import com.chwl.core.bean.RoomQueueInfo;
import com.chwl.core.im.custom.bean.RoomPkBean;
import com.chwl.core.room.bean.BoxSwitchVo;
import com.chwl.core.room.bean.FindLoveSwitchVo;
import com.chwl.core.room.bean.RoomInfo;
import com.chwl.core.room.bean.RoomModeType;
import com.chwl.core.room.bean.SeizeTreasureSwitchVo;
import com.chwl.core.room.bean.SimplePartyRoomInfo;
import com.chwl.core.room.event.RoomClearScreenEvent;
import com.chwl.core.room.game.GameStatus;
import com.chwl.core.room.giftvalue.helper.GiftValueMrg;
import com.chwl.core.super_admin.SuperAdminDataMrg;
import com.chwl.core.super_admin.util.SuperAdminUtil;
import com.chwl.core.support.room.RoomContext;
import com.chwl.core.user.UserModel;
import com.chwl.core.utils.CurrentTimeUtils;
import com.chwl.core.utils.LogUtils;
import com.chwl.core.utils.StringFormatUtils;
import com.chwl.library.utils.ListUtils;
import com.chwl.library.utils.ResUtil;
import org.greenrobot.eventbus.EventBus;
@@ -239,6 +239,8 @@ public final class AvRoomDataManager {
public RightBottomIconConfig rightBottomIconConfig;
public boolean hasAvRoomAct = false;
private AvRoomDataManager() {
mRoomManagerList = new ArrayList<>();
mRoomFixedMemberList = new ArrayList<>();

View File

@@ -35,59 +35,74 @@ object MyUriUtils {
}
fun copyFile(context: Context, uri: Uri ): File? {
val fileName = getName(context, uri) ?: "defName_${System.currentTimeMillis()}.jpg"
try {
val fileName = getName(context, uri) ?: "defName_${System.currentTimeMillis()}.jpg"
val outPutDir = context.getExternalFilesDir(null) ?: return null
val outPutDir = context.getExternalFilesDir(null) ?: return null
val outPutFile = File(outPutDir, fileName)
val outPutFile = File(outPutDir, fileName)
if (!outPutDir.exists()) {
outPutDir.mkdirs()
}
context.contentResolver.openInputStream(uri)?.use { inS ->
FileOutputStream(outPutFile).use { outS ->
inS.copyTo(outS)
if (!outPutDir.exists()) {
outPutDir.mkdirs()
}
return outPutFile
} ?: return null
context.contentResolver.openInputStream(uri)?.use { inS ->
FileOutputStream(outPutFile).use { outS ->
inS.copyTo(outS)
}
return outPutFile
} ?: return null
}catch (e:Exception){
return null
}
}
fun needCopy(context: Context, uri: Uri,end:String = ".jpg"): Boolean {
val fileName = getName(context, uri) ?: "defName_${System.currentTimeMillis()}$end"
try {
val fileName = getName(context, uri) ?: "defName_${System.currentTimeMillis()}$end"
val outPutDir = context.getExternalFilesDir(null) ?: return false
val outPutDir = context.getExternalFilesDir(null) ?: return false
val outPutFile = File(outPutDir, fileName)
val outPutFile = File(outPutDir, fileName)
return !outPutFile.exists()
return !outPutFile.exists()
}catch (e:Exception){
return false
}
}
fun copyFile(context: Context, uri: Uri ,end:String = ".jpg"): File? {
val fileName = getName(context, uri) ?: "defName_${System.currentTimeMillis()}$end"
try {
val fileName = getName(context, uri) ?: "defName_${System.currentTimeMillis()}$end"
val outPutDir = context.getExternalFilesDir(null) ?: return null
val outPutDir = context.getExternalFilesDir(null) ?: return null
val outPutFile = File(outPutDir, fileName)
val outPutFile = File(outPutDir, fileName)
if (!outPutDir.exists()) {
outPutDir.mkdirs()
}
context.contentResolver.openInputStream(uri)?.use { inS ->
FileOutputStream(outPutFile).use { outS ->
inS.copyTo(outS)
if (!outPutDir.exists()) {
outPutDir.mkdirs()
}
return outPutFile
} ?: return null
context.contentResolver.openInputStream(uri)?.use { inS ->
FileOutputStream(outPutFile).use { outS ->
inS.copyTo(outS)
}
return outPutFile
} ?: return null
}catch (e:Exception){
return null
}
}
fun getFileType(context: Context, uri: Uri): String {
var type = ""
context.contentResolver?.let {
type = it.getType(uri).toString()
}
try {
context.contentResolver?.let {
type = it.getType(uri).toString()
}
}catch (e:Exception){
}
return type
}
@@ -117,12 +132,16 @@ object MyUriUtils {
}
fun copyFileToUrl(context: Context, uri: Uri, outUri: Uri): Boolean {
val contentResolver = context.contentResolver
contentResolver?.openInputStream(uri)?.use { uriStream ->
contentResolver?.openOutputStream(outUri, "wt")?.use { outStream ->
uriStream.copyTo(outStream)
return true
try {
val contentResolver = context.contentResolver
contentResolver?.openInputStream(uri)?.use { uriStream ->
contentResolver?.openOutputStream(outUri, "wt")?.use { outStream ->
uriStream.copyTo(outStream)
return true
}
}
}catch (e:Exception){
}
return false
}
@@ -133,23 +152,30 @@ object MyUriUtils {
var minType = "image/jpeg"
var data: MutableList<String>? = null
BitmapFactory.Options().apply {
inJustDecodeBounds = true
BitmapFactory.decodeFile(file.absolutePath, this)
width = outWidth
height = outHeight
minType = outMimeType
}.let {
data = mutableListOf(width.toString(), height.toString(), minType)
try {
BitmapFactory.Options().apply {
inJustDecodeBounds = true
BitmapFactory.decodeFile(file.absolutePath, this)
width = outWidth
height = outHeight
minType = outMimeType
}.let {
data = mutableListOf(width.toString(), height.toString(), minType)
}
} catch (e: Exception) {
}
return data
}
fun copyFile(file: File, dir: File) {
if (!dir.exists()) {
dir.mkdirs()
try {
if (!dir.exists()) {
dir.mkdirs()
}
file.copyTo(dir, true)
}catch (e:Exception){
}
file.copyTo(dir, true)
}