소스 검색

Merge branch 'fixFileUriSource' into 'master'

修正FileUriSource::getFileSize()閃退

See merge request kdanandroid/pdf/pdfreaderreadermodule!46
Wayne Huang 5 년 전
부모
커밋
a96c35c50c

+ 0 - 1
src/main/java/com/kdanmobile/reader/copyfile/CopyFileViewModel.kt

@@ -7,7 +7,6 @@ import android.content.Context
 import android.content.Intent
 import com.kdanmobile.reader.event.EventBroadcaster
 import com.kdanmobile.reader.event.EventManager
-import com.kdanmobile.reader.thumb.FileUtil
 import io.reactivex.android.schedulers.AndroidSchedulers
 import io.reactivex.disposables.Disposable
 import io.reactivex.schedulers.Schedulers

+ 7 - 4
src/main/java/com/kdanmobile/reader/copyfile/FileUriSource.kt

@@ -4,7 +4,6 @@ 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
@@ -13,7 +12,11 @@ import java.net.URLEncoder
 class FileUriSource(private val context: Context, private val uri: Uri): CopyFileSource {
 
     override fun getFileName(): String? {
-        return DocumentFile.fromSingleUri(context, uri)?.name ?: uri.lastPathSegment
+        return try {
+            DocumentFile.fromSingleUri(context, uri)?.name ?: uri.lastPathSegment
+        } catch (e: Exception) {
+            null
+        }
     }
 
     override fun getFilePath(): String? {
@@ -30,7 +33,7 @@ class FileUriSource(private val context: Context, private val uri: Uri): CopyFil
             val fileSize = assetFileDescriptor?.length
             assetFileDescriptor?.close()
             fileSize
-        } catch (e: FileNotFoundException) {
+        } catch (e: Exception) {
             null
         }
     }
@@ -38,7 +41,7 @@ class FileUriSource(private val context: Context, private val uri: Uri): CopyFil
     override fun getInputStream(): InputStream? {
         return try {
             context.contentResolver.openInputStream(uri)
-        } catch (e: FileNotFoundException) {
+        } catch (e: Exception) {
             null
         }
     }