diff --git a/res/values/strings.xml b/res/values/strings.xml
index a8963b2eecb..460c032ed1f 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -10798,7 +10798,7 @@
%1$d apps installed
- %1$s used - %2$s free
+ %1$s used - %2$s %3$s free
Dark theme, font size, brightness
diff --git a/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceController.java b/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceController.java
index 1955f36059a..785d84a0818 100644
--- a/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceController.java
@@ -92,9 +92,10 @@ public class TopLevelStoragePreferenceController extends BasePreferenceControlle
private String getSummary(long usedBytes, long totalBytes) {
NumberFormat percentageFormat = NumberFormat.getPercentInstance();
-
+ final String[] freeSpace =
+ Formatter.formatFileSize(mContext, totalBytes - usedBytes).split(" ");
return mContext.getString(R.string.storage_summary,
totalBytes == 0L ? "0" : percentageFormat.format(((double) usedBytes) / totalBytes),
- Formatter.formatFileSize(mContext, totalBytes - usedBytes));
+ freeSpace[0], freeSpace[1]);
}
}
diff --git a/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java b/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java
index 22e34317702..121bd82dfb1 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java
@@ -64,7 +64,9 @@ public class LowStorageSlice implements CustomSliceable {
// Generate Low storage Slice.
final String percentageString = NumberFormat.getPercentInstance().format(usedPercentage);
- final String freeSizeString = Formatter.formatFileSize(mContext, info.freeBytes);
+ final String[] freeSizeString =
+ Formatter.formatFileSize(mContext, info.freeBytes).split(" ");
+
final ListBuilder listBuilder = new ListBuilder(mContext,
CustomSliceRegistry.LOW_STORAGE_SLICE_URI, ListBuilder.INFINITY).setAccentColor(
Utils.getColorAccentDefaultColor(mContext));
@@ -74,7 +76,7 @@ public class LowStorageSlice implements CustomSliceable {
// For clients that ignore error checking, a generic storage slice will be given.
final CharSequence titleStorage = mContext.getText(R.string.storage_settings);
final String summaryStorage = mContext.getString(R.string.storage_summary,
- percentageString, freeSizeString);
+ percentageString, freeSizeString[0], freeSizeString[1]);
return listBuilder
.addRow(buildRowBuilder(titleStorage, summaryStorage, icon))
diff --git a/tests/unit/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceControllerTest.java b/tests/unit/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceControllerTest.java
index 6318c9c6914..300d0288a8f 100644
--- a/tests/unit/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceControllerTest.java
@@ -86,7 +86,7 @@ public class TopLevelStoragePreferenceControllerTest {
when(mController.getStorageManagerVolumeProvider())
.thenReturn(mStorageManagerVolumeProvider);
final String percentage = NumberFormat.getPercentInstance().format(1);
- final String freeSpace = Formatter.formatFileSize(mContext, 0);
+ final String[] freeSpace = Formatter.formatFileSize(mContext, 0).split(" ");
final Preference preference = new Preference(mContext);
// Wait for asynchronous thread to finish, otherwise test will flake.
@@ -103,6 +103,6 @@ public class TopLevelStoragePreferenceControllerTest {
// the background thread.
TimeUnit.SECONDS.sleep(5);
assertThat(preference.getSummary()).isEqualTo(ResourcesUtils.getResourcesString(
- mContext, "storage_summary", percentage, freeSpace));
+ mContext, "storage_summary", percentage, freeSpace[0], freeSpace[1]));
}
}