Fixed bug in calculation of free space

This commit is contained in:
daniel oeh 2012-08-25 22:36:52 +02:00
parent d30bcfff79
commit 625a043644
2 changed files with 8 additions and 5 deletions

View File

@ -57,9 +57,10 @@ public class HttpDownloader extends Downloader {
status.setSize(connection.getContentLength());
if (AppConfig.DEBUG)
Log.d(TAG, "Size is " + status.getSize());
if (status.getSize() == -1
|| status.getSize() <= StorageUtils
.getFreeSpaceAvailable()) {
long freeSpace = StorageUtils.getFreeSpaceAvailable();
if (AppConfig.DEBUG)
Log.d(TAG, "Free space is " + freeSpace);
if (status.getSize() == -1 || status.getSize() <= freeSpace) {
if (AppConfig.DEBUG)
Log.d(TAG, "Size is " + status.getSize());
publishProgress();

View File

@ -28,9 +28,11 @@ public class StorageUtils {
}
/** Get the number of free bytes that are available on the external storage. */
public static int getFreeSpaceAvailable() {
public static long getFreeSpaceAvailable() {
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
return stat.getAvailableBlocks() * stat.getBlockSize();
long availableBlocks = stat.getAvailableBlocks();
long blockSize = stat.getBlockSize();
return availableBlocks * blockSize;
}
public static boolean externalStorageMounted() {