[
https://issues.apache.org/jira/browse/CB-930?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13397490#comment-13397490
]
Simon MacDonald commented on CB-930:
------------------------------------
The FileUtils.java file is where the error PluginResult is returned. As you can
see in all error cases it returns a code for each error it runs into. You'll
need to look at the
https://git-wip-us.apache.org/repos/asf?p=incubator-cordova-js.git;a=blob;f=lib/common/plugin/FileError.js;h=7f538fe182b1c1867803cfb990026d04afd00867;hb=HEAD
file. As you can see the FileError constructor sets code equal to the returned
error or null. This is where I think we are getting the null value but it
should only be null if the error value is not set or is set to 0 but none of
our errors in FileUtils return a 0.
> DirectoryReader creates null error code for inaccessible directory
> ------------------------------------------------------------------
>
> Key: CB-930
> URL: https://issues.apache.org/jira/browse/CB-930
> Project: Apache Cordova
> Issue Type: Bug
> Components: Android
> Affects Versions: 1.8.1
> Reporter: Andreas Sommer
> Assignee: Simon MacDonald
>
> The error callback should follow the FileError specification which defines
> e.g. SECURITY_ERR=2 as error code. When I try to access
> file:///mnt/sdcard/.android_secure which is protected by the OS, I get the
> error code null.
> Example to reproduce (using Android 4.0 emulator):
> document.addEventListener("deviceready", function() {
> window.requestFileSystem(
> LocalFileSystem.PERSISTENT,
> 0,
> function(fileSystem) {
> var reader =
> fileSystem.root.createReader().readEntries(function(entries) {
> for(var i = 0; i < entries.length; ++i)
> if(/\.android_secure$/.test(entries[i].fullPath))
>
> entries[i].createReader().readEntries(function(entries) {
> for(var i = 0; i < entries.length; ++i) {
> if(entries[i].isDirectory)
> console.log("dir " + entries[i].fullPath)
> else
> console.log("file " + entries[i].fullPath)
> }
> }, function(err) {
> //////////////////////////////////////
> // The following error occurs and the JSON
> representation is {"code":null}
> //////////////////////////////////////
> console.log("Failed to read .android_secure
> directory (error code " + err.code +")")
> console.log("JSON error: " + Ext.JSON.encode(err))
> //////////////////////////////////////
> })
> }, function(err) {
> console.log("Failed to read directory entries of " +
> entry.fullPath + " (error code " + err.code +")")
> })
> },
> function(err) {
> alert("Failed to read file system (error code " + err.code +")")
> })
> }, false)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira