[
https://issues.apache.org/jira/browse/CB-7522?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jason Ginchereau reassigned CB-7522:
------------------------------------
Assignee: Jason Ginchereau
> Wrong file path leads to error code 1000 due to NullPointerException on
> Android
> -------------------------------------------------------------------------------
>
> Key: CB-7522
> URL: https://issues.apache.org/jira/browse/CB-7522
> Project: Apache Cordova
> Issue Type: Bug
> Components: Plugin File
> Affects Versions: 3.5.0
> Environment: Android
> Reporter: Leon
> Assignee: Jason Ginchereau
> Priority: Minor
> Labels: Android
>
> Hi,
> I am using Cordova version 3.5.0-0.2.6 and version 1.3.0 of the File plugin
> on Ubuntu.
> Yesterday I got error code 1000 (corresponds to UNKNOWN_ERR as defined in
> android/FileUtils.java) when I tried the following JavaScript code on Samsung
> S2 (GT-I9100) with Android 4.1.2:
> {code:title=my.js|borderStyle=solid}
> var sFileLocation = '/Android/data/<package name>/assets/';
> sFileLocation += filesToRemove[nFile];
> fileSystem.root.getFile(
> sFileLocation,
> null,
> function(entry) {
> entry.remove( function() {
> console.log("file removed");
> }, onError);
> }, onGetFileError);
> {code}
> My investigation showed that the error code 1000 was caused by Java
> NullPointerException from implentation of the method
> fullPathForFilesystemPath in class *LocalFilesystem* because of the following
> code:
> {code:title=LocalFilesystem.java|borderStyle=solid}
> private String fullPathForFilesystemPath(String absolutePath) {
> if (absolutePath != null &&
> absolutePath.startsWith(this.fsRoot)) {
> return absolutePath.substring(this.fsRoot.length());
> }
> return null;
> }
> {code}
> The specified path at JavaScript snippet starts with / but its prefix does
> not match the root of dir so in Android the Java method
> fullPathForFilesystemPath returns *null* and leads to error *1000* at the
> JavaScript.
> The +JavaScript snippet works fine+ if the path is specified using any of the
> following formats: *"Android/data/<package name>/assets/"* or
> *"/storage/sdcard0/Android/data/<package name>/assets/"*.
> It is not exactly a bug but it is very inconvenient and not developer
> friendly. I did not find anything about this behaviour at the docuemntation
> of the plugin. It will be much better if error code such
> FileError.ENCODING_ERR (5) or even FileError.NOT_FOUND_ERR (1) is returned.
> May we modify the Java code and to update the documentation to make it more
> friendly for developers?
> Best regards,
> Leon
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]