Joe Bowser created CB-5974: ------------------------------ Summary: 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)