diff --git a/sdklib/src/main/java/com/android/sdklib/devices/Storage.java b/sdklib/src/main/java/com/android/sdklib/devices/Storage.java index 85738352a68..d3263b25d2d 100644 --- a/sdklib/src/main/java/com/android/sdklib/devices/Storage.java +++ b/sdklib/src/main/java/com/android/sdklib/devices/Storage.java @@ -71,6 +71,12 @@ public double getPreciseSizeAsUnit(@NonNull Unit unit) { */ @Nullable public static Storage getStorageFromString(@Nullable String storageString) { + return getStorageFromString(storageString, Unit.MiB); + } + + @Nullable + public static Storage getStorageFromString( + @Nullable String storageString, @NonNull Unit defaultUnit) { if (storageString == null || storageString.isEmpty()) { return null; } @@ -96,8 +102,8 @@ public static Storage getStorageFromString(@Nullable String storageString) { if (unitPart == null) return null; // Should not happen } else if (matcher.group(4).isEmpty()) { - // No unit specified at all. Use MiB. - unitPart = Unit.MiB; + // No unit specified at all. Use the default. + unitPart = defaultUnit; } else { // Just "B"--use bytes diff --git a/sdklib/src/test/java/com/android/sdklib/devices/StorageTest.kt b/sdklib/src/test/java/com/android/sdklib/devices/StorageTest.kt index a868a22f301..7aee91bd63c 100644 --- a/sdklib/src/test/java/com/android/sdklib/devices/StorageTest.kt +++ b/sdklib/src/test/java/com/android/sdklib/devices/StorageTest.kt @@ -82,6 +82,7 @@ class StorageTest { @Test fun getStorageFromString() { assertThat(Storage.getStorageFromString("4")).isEqualTo(Storage(4, Storage.Unit.MiB)) + assertThat(Storage.getStorageFromString("4", Storage.Unit.KiB)).isEqualTo(Storage(4, Storage.Unit.KiB)) assertThat(Storage.getStorageFromString("5B")).isEqualTo(Storage(5, Storage.Unit.B)) assertThat(Storage.getStorageFromString("5 B")).isEqualTo(Storage(5, Storage.Unit.B)) assertThat(Storage.getStorageFromString("6 KB")).isEqualTo(Storage(6, Storage.Unit.KiB))