OSDN Git Service

Used space visible in SD Card bar graph
authorGilles Debunne <debunne@google.com>
Fri, 3 Jun 2011 21:26:55 +0000 (14:26 -0700)
committerGilles Debunne <debunne@google.com>
Fri, 3 Jun 2011 21:30:39 +0000 (14:30 -0700)
Bug 4544470

Change-Id: Iccae9bb568f1f7baf81c702f29f7a9e238d39d2b

src/com/android/settings/deviceinfo/StorageMeasurement.java
src/com/android/settings/deviceinfo/StorageVolumePreferenceCategory.java

index 14b5108..7fb309c 100644 (file)
@@ -478,6 +478,7 @@ public class StorageMeasurement {
         File top = new File(mStorageVolume.getPath());
         mFileInfoForMisc = new ArrayList<FileInfo>();
         File[] files = top.listFiles();
+        if (files == null) return;
         final int len = files.length;
         // Get sizes of all top level nodes except the ones already computed...
         long counter = 0;
@@ -524,4 +525,11 @@ public class StorageMeasurement {
             return mFileName  + " : " + mSize + ", id:" + mId;
         }
     }
+
+    /**
+     * TODO remove this method, only used because external SD Card needs a special treatment.
+     */
+    boolean isPrimary() {
+        return mIsPrimary;
+    }
 }
index 83f9ee2..e326b2b 100644 (file)
@@ -289,6 +289,12 @@ public class StorageVolumePreferenceCategory extends PreferenceCategory implemen
 
         mPreferences[TOTAL_SIZE].setSummary(formatSize(totalSize));
 
+        if (!mMeasurement.isPrimary()) {
+            // TODO FIXME: external SD card will not report any size. Show used space in bar graph
+            final long usedSize = totalSize - availSize;
+            mUsageBarPreference.addEntry(usedSize / (float) totalSize, android.graphics.Color.GRAY);
+        }
+
         updatePreference(appsSize, totalSize, APPLICATIONS);
 
         long totalMediaSize = 0;