Adriano Di Giovanni created CB-9282:
---------------------------------------

             Summary: Plugin File for Android seems to require trailing slash 
to identify a directory
                 Key: CB-9282
                 URL: https://issues.apache.org/jira/browse/CB-9282
             Project: Apache Cordova
          Issue Type: Bug
          Components: Android, Plugin File
    Affects Versions: 2.1.0
            Reporter: Adriano Di Giovanni


Looking at LocalFileSystemURL.java, lines 39~55

```java
    public static LocalFilesystemURL parse(Uri uri) {
        if (!FILESYSTEM_PROTOCOL.equals(uri.getScheme())) {
            return null;
        }
        String path = uri.getPath();
        if (path.length() < 1) {
            return null;
        }
        int firstSlashIdx = path.indexOf('/', 1);
        if (firstSlashIdx < 0) {
            return null;
        }
        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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to