diff options
| author | 2017-01-08 15:09:21 +0000 | |
|---|---|---|
| committer | 2017-01-08 15:09:21 +0000 | |
| commit | 4429993d7823d3d4d0f35f6eef44443e64ef703b (patch) | |
| tree | b236f9d40cccf6ff8a68a9fbabcecbc272a4e5f3 | |
| parent | fc9579cfda7318aefd36ec1f35b17ff9f7fd7429 (diff) | |
| parent | a63462c794ff7a2b94e2c8e1af91709586083a68 (diff) | |
Merge "Dumps total size of primary storage." am: 55dc66dde4 am: 12b387dd87
am: a63462c794
Change-Id: I2a62442a581d89054421dd6c44c610fb7ee9a0c4
| -rw-r--r-- | core/java/android/os/storage/StorageManager.java | 18 | ||||
| -rw-r--r-- | services/core/java/com/android/server/MountService.java | 14 |
2 files changed, 27 insertions, 5 deletions
diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java index c5507b9841bc..2bc05655b55c 100644 --- a/core/java/android/os/storage/StorageManager.java +++ b/core/java/android/os/storage/StorageManager.java @@ -40,6 +40,7 @@ import android.os.UserHandle; import android.provider.Settings; import android.text.TextUtils; import android.util.Log; +import android.util.Pair; import android.util.Slog; import android.util.SparseArray; @@ -930,22 +931,29 @@ public class StorageManager { } /** {@hide} */ - public long getPrimaryStorageSize() { + public static Pair<String, Long> getPrimaryStoragePathAndSize() { for (String path : INTERNAL_STORAGE_SIZE_PATHS) { final long numberBlocks = readLong(path); if (numberBlocks > 0) { - return numberBlocks * INTERNAL_STORAGE_SECTOR_SIZE; + return new Pair<>(path, Long.valueOf(numberBlocks * INTERNAL_STORAGE_SECTOR_SIZE)); } } - return 0; + return null; + } + + + /** {@hide} */ + public long getPrimaryStorageSize() { + final Pair<String, Long> pair = getPrimaryStoragePathAndSize(); + return pair == null ? 0 : pair.second.longValue(); } - private long readLong(String path) { + private static long readLong(String path) { try (final FileInputStream fis = new FileInputStream(path); final BufferedReader reader = new BufferedReader(new InputStreamReader(fis));) { return Long.parseLong(reader.readLine()); } catch (Exception e) { - Slog.w(TAG, "Could not read " + path, e); + Slog.w(TAG, "readLong(): could not read " + path + ": " + e); return 0; } } diff --git a/services/core/java/com/android/server/MountService.java b/services/core/java/com/android/server/MountService.java index b9a483138520..4cc293125bcc 100644 --- a/services/core/java/com/android/server/MountService.java +++ b/services/core/java/com/android/server/MountService.java @@ -46,6 +46,7 @@ import android.content.pm.ProviderInfo; import android.content.pm.UserInfo; import android.content.res.Configuration; import android.content.res.ObbInfo; +import android.net.TrafficStats; import android.net.Uri; import android.os.Binder; import android.os.DropBoxManager; @@ -86,6 +87,7 @@ import android.text.format.DateUtils; import android.util.ArrayMap; import android.util.AtomicFile; import android.util.Log; +import android.util.Pair; import android.util.Slog; import android.util.TimeUtils; import android.util.Xml; @@ -3738,6 +3740,18 @@ class MountService extends IMountService.Stub pw.println(); pw.println("Primary storage UUID: " + mPrimaryStorageUuid); + final Pair<String, Long> pair = StorageManager.getPrimaryStoragePathAndSize(); + if (pair == null) { + pw.println("Internal storage total size: N/A"); + } else { + pw.print("Internal storage ("); + pw.print(pair.first); + pw.print(") total size: "); + pw.print(pair.second); + pw.print(" ("); + pw.print((float) pair.second / TrafficStats.GB_IN_BYTES); + pw.println(" GB)"); + } pw.println("Force adoptable: " + mForceAdoptable); pw.println(); pw.println("Local unlocked users: " + Arrays.toString(mLocalUnlockedUsers)); |