[
https://issues.apache.org/jira/browse/CB-5974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13892228#comment-13892228
]
Ian Clelland commented on CB-5974:
----------------------------------
I've removed the OutOfBoundsException. The behaviour right now is still to stop
the app, but the ADB log should now just show the error
{code}
File plugin configuration error: Please set AndroidPersistentFileLocation in
config.xml to one of "internal" (for new applications) or "compatibility" (for
compatibility with previous versions)
{code}
And the File API call that actually triggered the stop will return with a
proper bridge error.
Further discussion on the desirability of the crash-until-configured behaviour
is ongoing [on the mailing
list|http://apache.markmail.org/thread/q4j644474z6kblyw].
> 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)