Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.1.0
-
None
Description
Looking at LocalFileSystemURL.java, lines 39~55
```java
public static LocalFilesystemURL parse(Uri uri) {
if (!FILESYSTEM_PROTOCOL.equals(uri.getScheme()))
String path = uri.getPath();
if (path.length() < 1) { return null; }
int firstSlashIdx = path.indexOf('/', 1);
if (firstSlashIdx < 0)
String fsName = path.substring(1, firstSlashIdx);
path = path.substring(firstSlashIdx);
boolean isDirectory = path.charAt(path.length() - 1) == '/';
return new LocalFilesystemURL(uri, fsName, path, isDirectory);
}
```
I found that operations on urls like cdvfile://localhost/persistent (without trailing slash) don't work because firstSlashIds < 0.
Looking at line 53, Plugin file relies on trailing slash to know in advance if uri is a directory.
I can't find any mention of that in the docs.
I find that relying on trailing slashes to identify a directory imposes a burden for client code that must normalize all paths before calling any Plugin File function.
Attachments
Issue Links
- is related to
-
CB-10577 Android plugin file: resolveLocalFileSystemURL produce incorrect value
- Closed