feat : 房间外不飘屏 , MyUriUtil try carsh 处理
This commit is contained in:
@@ -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<>();
|
||||
|
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user