[ 
https://issues.apache.org/jira/browse/CB-7253?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14988220#comment-14988220
 ] 

ASF GitHub Bot commented on CB-7253:
------------------------------------

Github user riknoll commented on the pull request:

    
https://github.com/apache/cordova-plugin-file/pull/145#issuecomment-153502297
  
    LGTM. I don't really know how to test this thoroughly because of the 
external storage stuff, but the code looks solid and mobilespec passes (on a 
marshmallow device and 5.1.1 emulator) so I will merge this in by the end of 
today unless there are any objections.


> 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