From 4f734d9d590d0f75a60d744d97218eb54faa4330 Mon Sep 17 00:00:00 2001 From: Gilles Debunne Date: Fri, 3 Jun 2011 14:26:55 -0700 Subject: [PATCH] Used space visible in SD Card bar graph Bug 4544470 Change-Id: Iccae9bb568f1f7baf81c702f29f7a9e238d39d2b --- .../android/settings/deviceinfo/StorageMeasurement.java | 8 ++++++++ .../deviceinfo/StorageVolumePreferenceCategory.java | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/src/com/android/settings/deviceinfo/StorageMeasurement.java b/src/com/android/settings/deviceinfo/StorageMeasurement.java index 14b5108a245..7fb309c4f37 100644 --- a/src/com/android/settings/deviceinfo/StorageMeasurement.java +++ b/src/com/android/settings/deviceinfo/StorageMeasurement.java @@ -478,6 +478,7 @@ public class StorageMeasurement { File top = new File(mStorageVolume.getPath()); mFileInfoForMisc = new ArrayList(); 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; + } } diff --git a/src/com/android/settings/deviceinfo/StorageVolumePreferenceCategory.java b/src/com/android/settings/deviceinfo/StorageVolumePreferenceCategory.java index 83f9ee2d9a0..e326b2b8e14 100644 --- a/src/com/android/settings/deviceinfo/StorageVolumePreferenceCategory.java +++ b/src/com/android/settings/deviceinfo/StorageVolumePreferenceCategory.java @@ -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;