[
https://issues.apache.org/jira/browse/CB-7253?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14983711#comment-14983711
]
ASF GitHub Bot commented on CB-7253:
------------------------------------
Github user TimBarham commented on a diff in the pull request:
https://github.com/apache/cordova-plugin-file/pull/145#discussion_r43565677
--- Diff: src/android/DirectoryManager.java ---
@@ -56,45 +56,46 @@ public static boolean testFileExists(String name) {
}
/**
- * Get the free disk space
- *
+ * Get the free space in external storage
+ *
* @return Size in KB or -1 if not available
--- End diff --
I would say 50 years of tradition outweighs an IEC standard that nobody
uses.
> 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: [email protected]
For additional commands, e-mail: [email protected]