diff --git a/res/values/strings.xml b/res/values/strings.xml index 62f52c51e3b..7a5108f2b0e 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -10912,7 +10912,7 @@ Data usage charges may apply. %1$d apps installed - %1$s used - %2$s %3$s free + %1$s used - %2$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 785d84a0818..1955f36059a 100644 --- a/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceController.java +++ b/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceController.java @@ -92,10 +92,9 @@ 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), - freeSpace[0], freeSpace[1]); + Formatter.formatFileSize(mContext, totalBytes - usedBytes)); } } diff --git a/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java b/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java index 121bd82dfb1..22e34317702 100644 --- a/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java +++ b/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java @@ -64,9 +64,7 @@ public class LowStorageSlice implements CustomSliceable { // Generate Low storage Slice. final String percentageString = NumberFormat.getPercentInstance().format(usedPercentage); - final String[] freeSizeString = - Formatter.formatFileSize(mContext, info.freeBytes).split(" "); - + final String freeSizeString = Formatter.formatFileSize(mContext, info.freeBytes); final ListBuilder listBuilder = new ListBuilder(mContext, CustomSliceRegistry.LOW_STORAGE_SLICE_URI, ListBuilder.INFINITY).setAccentColor( Utils.getColorAccentDefaultColor(mContext)); @@ -76,7 +74,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[0], freeSizeString[1]); + percentageString, freeSizeString); 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 300d0288a8f..6318c9c6914 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).split(" "); + final String freeSpace = Formatter.formatFileSize(mContext, 0); 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[0], freeSpace[1])); + mContext, "storage_summary", percentage, freeSpace)); } }