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