[
https://issues.apache.org/jira/browse/CB-5974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13892949#comment-13892949
]
Ian Clelland commented on CB-5974:
----------------------------------
After a long discussion on the mailing list, I've changed the default behaviour
of the plugin:
If there is no <preference> in config.xml for the filesystem locations, it will
default to "Compatibility" -- the file system roots will be exactly as they
were in previous versions of the plugin.
A preference tag can be added to config.xml to override that. For Android, it
can be one of these:
* {{<preference name="AndroidPersistentFileLocation" value="Internal" />}}
* {{<preference name="AndroidPersistentFileLocation" value="Compatibility"
/>}}
For iOS, it can be one of these:
* {{<preference name="iosPersistentFileLocation" value="Library" />}}
* {{<preference name="iosPersistentFileLocation" value="Compatibility" />}}
On either platform, if the preference is present, but is not one of the
recognized values, then in that (and only that) case, the app will stop on
plugin initialization, with an error in the native (lldb or adb) log.
> File Plugin needs to have a default setting when config.xml doesn't have a
> permission
> -------------------------------------------------------------------------------------
>
> Key: CB-5974
> URL: https://issues.apache.org/jira/browse/CB-5974
> Project: Apache Cordova
> Issue Type: Bug
> Components: Android, Plugin File
> Reporter: Joe Bowser
> Assignee: Ian Clelland
> Priority: Blocker
>
> I forgot about this setting, and when I don't provide it, this crashes my
> entire app with an OutOfBounds Exception. This needs to have a default, and
> the default needs to be documented somewhere.
> You can reproduce this by trying to run the File tests on MobileSpec, or All
> Tests!
> E/FileUtils(17964): File plugin configuration error: Please set
> AndroidPersistentFileLocation in config.xml to one of "internal" (for new
> applications) or "compatibility" (for compatibility with previous versions)
> W/System.err(17964): java.lang.IndexOutOfBoundsException: Invalid index 1,
> size is 0
> W/System.err(17964): at
> java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
> W/System.err(17964): at java.util.ArrayList.get(ArrayList.java:308)
> W/System.err(17964): at
> org.apache.cordova.file.FileUtils.requestFileSystem(FileUtils.java:740)
> W/System.err(17964): at
> org.apache.cordova.file.FileUtils.access$1(FileUtils.java:736)
> W/System.err(17964): at
> org.apache.cordova.file.FileUtils$11.run(FileUtils.java:290)
> W/System.err(17964): at
> org.apache.cordova.file.FileUtils$24.run(FileUtils.java:461)
> W/System.err(17964): at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
> W/System.err(17964): at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
> W/System.err(17964): at java.lang.Thread.run(Thread.java:841)
> W/System.err(17964): java.lang.IndexOutOfBoundsException: Invalid index 0,
> size is 0
> W/System.err(17964): at
> java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
> D/CordovaActivity(17964): Paused the application!
> D/CordovaWebView(17964): Handle the pause
> W/System.err(17964): at java.util.ArrayList.get(ArrayList.java:308)
> W/System.err(17964): at
> org.apache.cordova.file.FileUtils.requestFileSystem(FileUtils.java:740)
> W/System.err(17964): at
> org.apache.cordova.file.FileUtils.access$1(FileUtils.java:736)
> W/System.err(17964): at
> org.apache.cordova.file.FileUtils$11.run(FileUtils.java:290)
> W/System.err(17964): at
> org.apache.cordova.file.FileUtils$24.run(FileUtils.java:461)
> W/System.err(17964): at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
> W/System.err(17964): at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
> W/System.err(17964): at java.lang.Thread.run(Thread.java:841)
> D/CordovaLog(17964): file:///android_asset/www/autotest/pages/file.html: Line
> 54 : [ERROR] Problem setting up root filesystem for test running! Error to
> follow.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)