diff --git a/src/com/android/settings/applications/AppStorageSizesController.java b/src/com/android/settings/applications/AppStorageSizesController.java index 43734b272c4..7cf86f8d72d 100644 --- a/src/com/android/settings/applications/AppStorageSizesController.java +++ b/src/com/android/settings/applications/AppStorageSizesController.java @@ -17,7 +17,6 @@ package com.android.settings.applications; import android.content.Context; -import android.text.format.Formatter; import androidx.annotation.Nullable; import androidx.annotation.StringRes; @@ -25,6 +24,7 @@ import androidx.preference.Preference; import com.android.internal.util.Preconditions; import com.android.settingslib.applications.StorageStatsSource; +import com.android.settingslib.spaprivileged.model.app.AppStorageRepositoryImpl; /** * Handles setting the sizes for the app info screen. @@ -70,27 +70,28 @@ public class AppStorageSizesController { mCacheSize.setSummary(errorRes); mTotalSize.setSummary(errorRes); } else { + var appStorageRepository = new AppStorageRepositoryImpl(context); long codeSize = mLastResult.getCodeBytes(); long dataSize = mDataCleared ? 0 : mLastResult.getDataBytes() - mLastResult.getCacheBytes(); if (mLastCodeSize != codeSize) { mLastCodeSize = codeSize; - mAppSize.setSummary(getSizeStr(context, codeSize)); + mAppSize.setSummary(appStorageRepository.formatSizeBytes(codeSize)); } if (mLastDataSize != dataSize) { mLastDataSize = dataSize; - mDataSize.setSummary(getSizeStr(context, dataSize)); + mDataSize.setSummary(appStorageRepository.formatSizeBytes(dataSize)); } long cacheSize = (mDataCleared || mCachedCleared) ? 0 : mLastResult.getCacheBytes(); if (mLastCacheSize != cacheSize) { mLastCacheSize = cacheSize; - mCacheSize.setSummary(getSizeStr(context, cacheSize)); + mCacheSize.setSummary(appStorageRepository.formatSizeBytes(cacheSize)); } long totalSize = codeSize + dataSize + cacheSize; if (mLastTotalSize != totalSize) { mLastTotalSize = totalSize; - mTotalSize.setSummary(getSizeStr(context, totalSize)); + mTotalSize.setSummary(appStorageRepository.formatSizeBytes(totalSize)); } } } @@ -129,10 +130,6 @@ public class AppStorageSizesController { return mLastResult; } - private String getSizeStr(Context context, long size) { - return Formatter.formatFileSize(context, size); - } - public static class Builder { private Preference mTotalSize; private Preference mAppSize; diff --git a/src/com/android/settings/spa/app/storage/StorageAppList.kt b/src/com/android/settings/spa/app/storage/StorageAppList.kt index c33de33db59..be145e021ca 100644 --- a/src/com/android/settings/spa/app/storage/StorageAppList.kt +++ b/src/com/android/settings/spa/app/storage/StorageAppList.kt @@ -34,12 +34,12 @@ import com.android.settingslib.spa.framework.util.mapItem import com.android.settingslib.spaprivileged.model.app.AppEntry import com.android.settingslib.spaprivileged.model.app.AppListModel import com.android.settingslib.spaprivileged.model.app.AppRecord +import com.android.settingslib.spaprivileged.model.app.AppStorageRepositoryImpl import com.android.settingslib.spaprivileged.template.app.AppList import com.android.settingslib.spaprivileged.template.app.AppListInput import com.android.settingslib.spaprivileged.template.app.AppListItem import com.android.settingslib.spaprivileged.template.app.AppListItemModel import com.android.settingslib.spaprivileged.template.app.AppListPage -import com.android.settingslib.spaprivileged.template.app.calculateSizeBytes import com.android.settingslib.spaprivileged.template.app.getStorageSize import kotlinx.coroutines.flow.Flow @@ -109,9 +109,11 @@ class StorageAppListModel( getStorageSize() } ) : AppListModel { + private val appStorageRepository = AppStorageRepositoryImpl(context) + override fun transform(userIdFlow: Flow, appListFlow: Flow>) = - appListFlow.mapItem { - AppRecordWithSize(it, it.calculateSizeBytes(context) ?: 0L) + appListFlow.mapItem { app -> + AppRecordWithSize(app, appStorageRepository.calculateSizeBytes(app) ?: 0L) } override fun filter( diff --git a/tests/robotests/src/com/android/settings/applications/AppStorageSizesControllerTest.java b/tests/robotests/src/com/android/settings/applications/AppStorageSizesControllerTest.java index 49d4aac9780..bd2579e6482 100644 --- a/tests/robotests/src/com/android/settings/applications/AppStorageSizesControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/AppStorageSizesControllerTest.java @@ -83,10 +83,10 @@ public class AppStorageSizesControllerTest { mController.setResult(result); mController.updateUi(mContext); - assertThat(mAppPreference.getSummary()).isEqualTo("1 B"); - assertThat(mCachePreference.getSummary()).isEqualTo("10 B"); - assertThat(mDataPreference.getSummary()).isEqualTo("90 B"); - assertThat(mTotalPreference.getSummary()).isEqualTo("101 B"); + assertThat(mAppPreference.getSummary()).isEqualTo("1 byte"); + assertThat(mCachePreference.getSummary()).isEqualTo("10 byte"); + assertThat(mDataPreference.getSummary()).isEqualTo("90 byte"); + assertThat(mTotalPreference.getSummary()).isEqualTo("101 byte"); } @Test @@ -101,10 +101,10 @@ public class AppStorageSizesControllerTest { mController.setCacheCleared(true); mController.updateUi(mContext); - assertThat(mAppPreference.getSummary()).isEqualTo("1 B"); - assertThat(mCachePreference.getSummary()).isEqualTo("0 B"); - assertThat(mDataPreference.getSummary()).isEqualTo("90 B"); - assertThat(mTotalPreference.getSummary()).isEqualTo("91 B"); + assertThat(mAppPreference.getSummary()).isEqualTo("1 byte"); + assertThat(mCachePreference.getSummary()).isEqualTo("0 byte"); + assertThat(mDataPreference.getSummary()).isEqualTo("90 byte"); + assertThat(mTotalPreference.getSummary()).isEqualTo("91 byte"); } @Test @@ -119,9 +119,9 @@ public class AppStorageSizesControllerTest { mController.setDataCleared(true); mController.updateUi(mContext); - assertThat(mAppPreference.getSummary()).isEqualTo("1 B"); - assertThat(mCachePreference.getSummary()).isEqualTo("0 B"); - assertThat(mDataPreference.getSummary()).isEqualTo("0 B"); - assertThat(mTotalPreference.getSummary()).isEqualTo("1 B"); + assertThat(mAppPreference.getSummary()).isEqualTo("1 byte"); + assertThat(mCachePreference.getSummary()).isEqualTo("0 byte"); + assertThat(mDataPreference.getSummary()).isEqualTo("0 byte"); + assertThat(mTotalPreference.getSummary()).isEqualTo("1 byte"); } } diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppStoragePreferenceTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppStoragePreferenceTest.kt index ebbd57a6bc8..5a29a7d22b1 100644 --- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppStoragePreferenceTest.kt +++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppStoragePreferenceTest.kt @@ -89,7 +89,7 @@ class AppStoragePreferenceTest { composeTestRule.onNodeWithText(context.getString(R.string.storage_settings_for_app)) .assertIsDisplayed() - composeTestRule.waitUntilExists(hasText("120 B used in internal storage")) + composeTestRule.waitUntilExists(hasText("120 byte used in internal storage")) } @Test @@ -104,7 +104,7 @@ class AppStoragePreferenceTest { composeTestRule.onNodeWithText(context.getString(R.string.storage_settings_for_app)) .assertIsDisplayed() - composeTestRule.waitUntilExists(hasText("120 B used in external storage")) + composeTestRule.waitUntilExists(hasText("120 byte used in external storage")) } private fun setContent(app: ApplicationInfo) { @@ -122,7 +122,6 @@ class AppStoragePreferenceTest { private val STATS = StorageStats().apply { codeBytes = 100 dataBytes = 20 - cacheBytes = 3 } } }