修复bug,修改低版本手机的权限问题。
This commit is contained in:
parent
93d0bb3236
commit
88b1b82c86
@ -155,7 +155,7 @@ class PdfViewActivity : BaseActivity(), OnLoadCompleteListener, OnPageChangeList
|
||||
|
||||
viewModel.fileActionEvent.observeEvent<FileActionEvent.SetPageFling>(this) { event ->
|
||||
val file = File(pdfDocument.filePath)
|
||||
loadPdfInternal(file, null)
|
||||
loadPdfInternal(file, currentPassword)
|
||||
}
|
||||
|
||||
viewModel.fileActionEvent.observeEvent<FileActionEvent.SetColorInversion>(this) { event ->
|
||||
@ -340,7 +340,6 @@ class PdfViewActivity : BaseActivity(), OnLoadCompleteListener, OnPageChangeList
|
||||
private fun showPasswordDialog(file: File) {
|
||||
PdfPasswordProtectionDialogFragment(file, onOkClick = { password ->
|
||||
tryLoadPdfWithPassword(file, password)
|
||||
currentPassword = password
|
||||
}, onCancelClick = {
|
||||
finish()
|
||||
}).show(supportFragmentManager, TAG)
|
||||
@ -348,6 +347,7 @@ class PdfViewActivity : BaseActivity(), OnLoadCompleteListener, OnPageChangeList
|
||||
|
||||
private fun tryLoadPdfWithPassword(file: File, password: String) {
|
||||
loadPdfInternal(file, password) // 传入密码
|
||||
currentPassword = password
|
||||
}
|
||||
|
||||
private fun loadPdfInternal(file: File, password: String?) {
|
||||
|
||||
@ -27,13 +27,21 @@ object StoragePermissionHelper {
|
||||
Manifest.permission.READ_MEDIA_VIDEO
|
||||
)
|
||||
}
|
||||
|
||||
Build.VERSION.SDK_INT >= Build.VERSION_CODES.R -> {
|
||||
// Android 11-12
|
||||
arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE)
|
||||
arrayOf(
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE
|
||||
)
|
||||
}
|
||||
|
||||
else -> {
|
||||
// Android 10及以下
|
||||
arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE)
|
||||
arrayOf(
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -47,7 +55,10 @@ object StoragePermissionHelper {
|
||||
// Android 10及以下检查基本存储权限
|
||||
val permissions = getRequiredPermissions()
|
||||
permissions.all { permission ->
|
||||
ContextCompat.checkSelfPermission(context, permission) == PackageManager.PERMISSION_GRANTED
|
||||
ContextCompat.checkSelfPermission(
|
||||
context,
|
||||
permission
|
||||
) == PackageManager.PERMISSION_GRANTED
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -44,7 +44,7 @@ class PdfViewModel : ViewModel() {
|
||||
|
||||
//触发修改文件名操作
|
||||
fun renamePdf(filePath: String, newName: String) {
|
||||
viewModelScope.launch {
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
val oldFile = File(filePath)
|
||||
val renameResult = FileUtils.renameFile(oldFile, newName)
|
||||
Log.d(
|
||||
@ -77,7 +77,7 @@ class PdfViewModel : ViewModel() {
|
||||
}
|
||||
|
||||
fun deleteFile(filePath: String) {
|
||||
viewModelScope.launch {
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
val file = File(filePath)
|
||||
val deleteResult = FileDeleteUtil.deleteFile(file)
|
||||
Log.d("ocean", "deleteFile->file: $file, deleteResult=$deleteResult")
|
||||
@ -128,7 +128,7 @@ class PdfViewModel : ViewModel() {
|
||||
}
|
||||
|
||||
fun duplicateFile(context: Context, filePath: String) {
|
||||
viewModelScope.launch {
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
val file = FileUtils.duplicateFile(File(filePath))
|
||||
Log.d("ocean", "duplicateFile->$file")
|
||||
if (file != null) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user