This wraps the android.util.logging into Log_OC which , if its enabled
[pub/Android/ownCloud.git] / src / com / owncloud / android / utils / FileStorageUtils.java
index 620e581..5406cb5 100644 (file)
@@ -1,9 +1,9 @@
 /* ownCloud Android client application
- *   Copyright (C) 2012  Bartek Przybylski
+ *   Copyright (C) 2012-2013 ownCloud Inc.
  *
  *   This program is free software: you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation, either version 3 of the License, or
+ *   the Free Software Foundation, either version 2 of the License, or
  *   (at your option) any later version.
  *
  *   This program is distributed in the hope that it will be useful,
@@ -22,9 +22,16 @@ import java.io.File;
 
 import android.net.Uri;
 import android.os.Environment;
+import android.os.StatFs;
+
 import com.owncloud.android.datamodel.OCFile;
 
 
+/**
+ * Static methods to help in access to local file system.
+ * 
+ * @author David A. Velasco
+ */
 public class FileStorageUtils {
     
     public static final String getSavePath(String accountName) {
@@ -43,5 +50,16 @@ public class FileStorageUtils {
             // URL encoding is an 'easy fix' to overcome that NTFS and FAT32 don't allow ":" in file names, that can be in the accountName since 0.1.190B
     }
 
+    public static final long getUsableSpace(String accountName) {
+        File savePath = Environment.getExternalStorageDirectory();
+        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.GINGERBREAD) {
+            return savePath.getUsableSpace();
+            
+        } else {
+            StatFs stats = new StatFs(savePath.getAbsolutePath());
+            return stats.getAvailableBlocks() * stats.getBlockSize();
+        }
+        
+    }
     
 }
\ No newline at end of file