[ 
https://issues.apache.org/jira/browse/CB-7253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Ginchereau reassigned CB-7253:
------------------------------------

    Assignee: Jason Ginchereau

> window.requestFileSystem fails when no sd card is present and non-zero value 
> is provided for size
> -------------------------------------------------------------------------------------------------
>
>                 Key: CB-7253
>                 URL: https://issues.apache.org/jira/browse/CB-7253
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Plugin File
>    Affects Versions: 3.5.0
>         Environment: I discovered this issue on a Nexus7 emulator running 
> android 4.4.2 with no sd card.
>            Reporter: Vincent Scuorzo
>            Assignee: Jason Ginchereau
>            Priority: Minor
>              Labels: easyfix
>
> The problem is that when no external storage is present the size parameter is 
> compared to the available storage space on the internal file system which is 
> incorrectly reported as 0. After reading a post on stack overflow 
> (http://stackoverflow.com/questions/4799643/getting-all-the-total-and-available-space-on-android)
>  I noticed that they were checking available space in a different way so I 
> tried it and the issue went away.
> You can see this bug in action by setting up an emulator as I described and 
> running an app with the file plugin that can execute the following javascript:
> window.requestFileSystem(PERSISTENT, 1024, function(fs){ console.log(fs); }, 
> function(e){ console.log(e); });
> With the current release you will get an error related to reaching the 
> storage quota since the available space is reported incorrectly. Change line 
> 72 of src/android/DirectoryManager.java to read the following:
> freeSpace = 
> freeSpaceCalculation(Environment.getRootDirectory().getAbsolutePath());
> Run the same line of javascript as before and you will now have success, 
> assuming you actually have the available space.
> You can easily bypass this issue and access the filesystem by just passing 0 
> for the size but doing so will also circumvent the checks that ensure you 
> don't try to use more space than is available. In my case, my app was 
> handicapping itself because it thought it didn't have enough space to 
> download additional resources when it should not have had any issues.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to