cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-7253) window.requestFileSystem fails when no sd card is present and non-zero value is provided for size
Date Fri, 30 Oct 2015 21:39:27 GMT

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

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

Github user jasongin commented on the pull request:

    https://github.com/apache/cordova-plugin-file/pull/145#issuecomment-152657217
  
    @infil00p or @riknoll can you review?


> 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-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org


Mime
View raw message