kunfei 4 лет назад
Родитель
Сommit
a4cd1070aa

+ 8 - 2
app/src/main/java/io/legado/app/ui/association/FileAssociationActivity.kt

@@ -18,6 +18,7 @@ import io.legado.app.utils.viewbindingdelegate.viewBinding
 import kotlinx.coroutines.Dispatchers.IO
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
+import timber.log.Timber
 import java.io.File
 import java.io.FileOutputStream
 
@@ -108,7 +109,8 @@ class FileAssociationActivity :
                         var doc = treeDoc!!.findFile(name)
                         if (doc == null || bookDoc.lastModified() > doc.lastModified()) {
                             if (doc == null) {
-                                doc = treeDoc.createFile(FileUtils.getMimeType(name), name)!!
+                                doc = treeDoc.createFile(FileUtils.getMimeType(name), name)
+                                    ?: throw SecurityException("Permission Denial")
                             }
                             contentResolver.openOutputStream(doc.uri)!!.use { oStream ->
                                 contentResolver.openInputStream(bookDoc.uri)!!.use { iStream ->
@@ -142,7 +144,11 @@ class FileAssociationActivity :
                         title = "选择保存书籍的文件夹"
                         mode = HandleFileContract.DIR_SYS
                     }
-                    else -> toastOnUi(it.localizedMessage)
+                    else -> {
+                        Timber.e(it, "导入书籍失败")
+                        toastOnUi(it.localizedMessage)
+                        finish()
+                    }
                 }
             }
         }