Skip to content

Commit

Permalink
Allow specifying default units for Storage
Browse files Browse the repository at this point in the history
Bug: 339875083
Test: Added
Change-Id: Id792b6dcd473c7f7fc5721e517f6bbec27443b2f

Former-commit-id: 030f742bba618bb4e9ed1967915014ddebf19922
  • Loading branch information
rosejr committed Jun 11, 2024
1 parent 723cd30 commit 0dbedc4
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
10 changes: 8 additions & 2 deletions sdklib/src/main/java/com/android/sdklib/devices/Storage.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down

0 comments on commit 0dbedc4

Please sign in to comment.