|
@@ -26,15 +26,17 @@ class CopyFileInfoFactory {
|
|
|
if (null == uri) return null
|
|
|
var filePath = UriToPathUtil.getInstance().getPath(applicationContext, uri)
|
|
|
// workaround
|
|
|
- if (filePath.isNullOrEmpty() && null != uri.path) {
|
|
|
- val folderName = kdanPdfReaderFolder.name
|
|
|
- val pattern = Pattern.compile("$folderName/.*\\.(([Pp][Dd][Ff])|([Ee][Pp][Uu][Bb]))")
|
|
|
- val matcher = pattern.matcher(uri.path)
|
|
|
- if (matcher.find()) {
|
|
|
- val path = "${kdanPdfReaderFolder.absolutePath}/${matcher.group().substring(folderName.length)}"
|
|
|
- val file = File(path)
|
|
|
- if (file.exists()) {
|
|
|
- filePath = file.absolutePath
|
|
|
+ if (filePath.isNullOrEmpty()) {
|
|
|
+ val folderName = if (kdanPdfReaderFolder.name.last() == File.separatorChar) kdanPdfReaderFolder.name else (kdanPdfReaderFolder.name + File.separatorChar)
|
|
|
+ uri.path?.also {
|
|
|
+ val index = it.indexOf(folderName)
|
|
|
+ if (index != -1) {
|
|
|
+ val filename = it.substring(index + folderName.length)
|
|
|
+ val path = "${kdanPdfReaderFolder.absolutePath}/$filename"
|
|
|
+ val file = File(path)
|
|
|
+ if (file.exists()) {
|
|
|
+ filePath = file.absolutePath
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|