From c740f3b8e9ede62b5fbcd2a8b03b834dd35fdec5 Mon Sep 17 00:00:00 2001 From: Runt <qingingrunt2010@qq.com> Date: Thu, 28 Aug 2025 15:19:21 +0000 Subject: [PATCH] 弹框bug修复,部分优化 --- libmvi/src/main/java/com/runt/open/mvi/base/BaseActivity.kt | 49 +++++++++++++++++++++++++++++++++++-------------- 1 files changed, 35 insertions(+), 14 deletions(-) diff --git a/libmvi/src/main/java/com/runt/open/mvi/base/BaseActivity.kt b/libmvi/src/main/java/com/runt/open/mvi/base/BaseActivity.kt index 91dae29..ff9677e 100644 --- a/libmvi/src/main/java/com/runt/open/mvi/base/BaseActivity.kt +++ b/libmvi/src/main/java/com/runt/open/mvi/base/BaseActivity.kt @@ -2,10 +2,14 @@ import android.Manifest import android.app.ActivityManager +import android.app.UiModeManager +import android.content.ClipData +import android.content.ClipboardManager import android.content.ContentResolver import android.content.Context import android.content.Intent import android.content.pm.PackageManager +import android.content.res.Configuration import android.net.Uri import android.os.Build import android.os.Bundle @@ -29,7 +33,6 @@ import androidx.activity.result.contract.ActivityResultContracts import androidx.annotation.ColorRes import androidx.annotation.StringRes -import androidx.collection.ArraySet import androidx.core.content.ContextCompat import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProvider @@ -398,22 +401,26 @@ var message = ""; if(permissions.contains(Manifest.permission.READ_EXTERNAL_STORAGE)){ title = "申请文件读取权限"; - message = "通过文件读取权限后,可无障碍使用图片、音乐、视频并添加到直播的音视频流中" + message = " 通过文件读取权限后,可无障碍使用图片类、音乐类、视频类文件,并将读取的文件数据添加到直播中的音视频流中。" }else if(permissions.contains(Manifest.permission.CAMERA)){ title = "申请相机权限"; - message = "通过相机权限后,可将相机画面添加到直播画面流中" + message = " 通过相机权限后,可无障碍使用相机及USB采集设备,并将设备采集的画面添加到直播中的视频流中。" }else if(permissions.contains(Manifest.permission.RECORD_AUDIO)){ title = "申请话筒权限"; - message = "通过话筒权限后,可将话筒声音添加到直播声音流中" - }else if(permissions.contains(Manifest.permission.READ_MEDIA_IMAGES)){ + message = " 通过话筒权限后,可无障碍使用话筒设备,并将话筒采集的音频数据添加到直播中的音频流中" + }else if(permissions.contains(Manifest.permission.READ_MEDIA_IMAGES) || + permissions.contains(Manifest.permission.READ_MEDIA_VIDEO)){ title = "申请图片和视频文件权限"; - message = "通过图片和视频文件权限后,可将图片和视频画面添加到直播画面流中" + message = " 通过图片类和视频类文件权限后,可将读取的图片和视频数据添加到直播中的音视频流中。" + }/*else if(permissions.contains(Manifest.permission.READ_MEDIA_IMAGES)){ + title = "申请图片文件权限"; + message = "通过图片类文件权限后,可将读取的图片数据添加到直播中的视频流中。" }else if(permissions.contains(Manifest.permission.READ_MEDIA_VIDEO)){ - title = "申请图片和视频文件权限"; - message = "通过图片和视频文件权限后,可将图片和视频画面添加到直播画面流中" - }else if(permissions.contains(Manifest.permission.READ_MEDIA_AUDIO)){ + title = "申请视频文件权限"; + message = "通过视频类文件权限后,可将读取的视频数据添加到直播中的音视频流中。" + }*/else if(permissions.contains(Manifest.permission.READ_MEDIA_AUDIO)){ title = "申请音频文件权限"; - message = "通过音频文件权限后,可将音频文件的声音添加到直播声音流中" + message = " 通过音频文件权限后,可将音频文件的声音添加到直播中的音频流中" }/*else if(permissions.contains(Manifest.permission.POST_NOTIFICATIONS)){ title = "申请通知栏权限"; message = "通过通知栏权限后,可开启后台服务,保证相机、话筒、截屏、扬声器等功能不被系统终止" @@ -468,6 +475,14 @@ showToast(getString(msg)) } + fun copyStr(str:String){ + // 获取系统剪贴板 + val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager + // 创建一个剪贴数据集,包含一个普通文本数据条目(需要复制的数据) + val clipData = ClipData.newPlainText(null ,str) + // 把数据集设置(复制)到剪贴板 + clipboard.setPrimaryClip(clipData) + } /** * 获取文件保存路径 sdcard根目录/download/文件名称 * @param fileUrl @@ -481,6 +496,12 @@ appDir.mkdirs() } return storePath + File.separator + fileName + } + + fun isTabletDevice(): Boolean { + val uiModeManager = getSystemService(Context.UI_MODE_SERVICE) as UiModeManager + return (uiModeManager.currentModeType == Configuration.UI_MODE_TYPE_TELEVISION).not() && + (resources.configuration.screenLayout and Configuration.SCREENLAYOUT_SIZE_MASK >= Configuration.SCREENLAYOUT_SIZE_LARGE) } //=========================================== @@ -498,7 +519,7 @@ } fun getBooleanProjectPrefrence(key : String,value : Boolean) : Boolean { - return PreferencesUtils.getBoolean(this , key , value , PreferencesUtils.USER) + return PreferencesUtils.getBoolean(this , key , value , PreferencesUtils.PROJECT) } fun getStringUserPrefrence(key : String) : String { @@ -506,7 +527,7 @@ } fun getStringUserPrefrence(key : String,value : String?) : String { - return PreferencesUtils.getString(this , key , value, PreferencesUtils.PROJECT) + return PreferencesUtils.getString(this , key , value, PreferencesUtils.USER) } fun getStringProjectPrefrence(key : String) : String { @@ -542,7 +563,7 @@ } fun getStringSetProjectPrefrence(key : String) : Set<*> { - return getStringSetProjectPrefrence(key, ArraySet<Any?>() ) + return getStringSetProjectPrefrence(key, HashSet<Any?>() ) } fun getStringSetProjectPrefrence(key : String,value : Set<*>?) : Set<*> { @@ -574,7 +595,7 @@ } fun getStringSetUserPrefrence(key : String) : Set<*> { - return getStringSetUserPrefrence(key,ArraySet<Any?>()) + return getStringSetUserPrefrence(key,HashSet<Any?>()) } fun getStringSetUserPrefrence(key : String,value : Set<*>) : Set<*> { -- Gitblit v1.9.1