Explorar el Código

Merge branch 'hotfixFileUriSourceFileNotFoundException' into 'master'

處理FileUriSource拋出的FileNotFoundException

See merge request kdanandroid/pdf/pdfreaderreadermodule!40
Wayne Huang hace 5 años
padre
commit
e09875f283
Se han modificado 1 ficheros con 14 adiciones y 5 borrados
  1. 14 5
      src/main/java/com/kdanmobile/reader/copyfile/FileUriSource.kt

+ 14 - 5
src/main/java/com/kdanmobile/reader/copyfile/FileUriSource.kt

@@ -4,6 +4,7 @@ import android.content.Context
 import android.net.Uri
 import android.support.v4.provider.DocumentFile
 import java.io.File
+import java.io.FileNotFoundException
 import java.io.InputStream
 import java.lang.Exception
 import java.net.URI
@@ -24,13 +25,21 @@ class FileUriSource(private val context: Context, private val uri: Uri): CopyFil
     }
 
     override fun getFileSize(): Long? {
-        val assetFileDescriptor = context.contentResolver.openAssetFileDescriptor(uri, "r")
-        val fileSize = assetFileDescriptor?.length
-        assetFileDescriptor?.close()
-        return fileSize
+        return try {
+            val assetFileDescriptor = context.contentResolver.openAssetFileDescriptor(uri, "r")
+            val fileSize = assetFileDescriptor?.length
+            assetFileDescriptor?.close()
+            fileSize
+        } catch (e: FileNotFoundException) {
+            null
+        }
     }
 
     override fun getInputStream(): InputStream? {
-        return context.contentResolver.openInputStream(uri)
+        return try {
+            context.contentResolver.openInputStream(uri)
+        } catch (e: FileNotFoundException) {
+            null
+        }
     }
 }