Loading src/com/android/settings/applications/AppStorageSizesController.java +6 −9 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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. Loading Loading @@ -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)); } } } Loading Loading @@ -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; Loading src/com/android/settings/spa/app/storage/StorageAppList.kt +5 −3 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -109,9 +109,11 @@ class StorageAppListModel( getStorageSize() } ) : AppListModel<AppRecordWithSize> { private val appStorageRepository = AppStorageRepositoryImpl(context) override fun transform(userIdFlow: Flow<Int>, appListFlow: Flow<List<ApplicationInfo>>) = appListFlow.mapItem { AppRecordWithSize(it, it.calculateSizeBytes(context) ?: 0L) appListFlow.mapItem { app -> AppRecordWithSize(app, appStorageRepository.calculateSizeBytes(app) ?: 0L) } override fun filter( Loading tests/robotests/src/com/android/settings/applications/AppStorageSizesControllerTest.java +12 −12 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading @@ -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"); } } tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppStoragePreferenceTest.kt +2 −3 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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) { Loading @@ -122,7 +122,6 @@ class AppStoragePreferenceTest { private val STATS = StorageStats().apply { codeBytes = 100 dataBytes = 20 cacheBytes = 3 } } } Loading
src/com/android/settings/applications/AppStorageSizesController.java +6 −9 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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. Loading Loading @@ -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)); } } } Loading Loading @@ -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; Loading
src/com/android/settings/spa/app/storage/StorageAppList.kt +5 −3 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -109,9 +109,11 @@ class StorageAppListModel( getStorageSize() } ) : AppListModel<AppRecordWithSize> { private val appStorageRepository = AppStorageRepositoryImpl(context) override fun transform(userIdFlow: Flow<Int>, appListFlow: Flow<List<ApplicationInfo>>) = appListFlow.mapItem { AppRecordWithSize(it, it.calculateSizeBytes(context) ?: 0L) appListFlow.mapItem { app -> AppRecordWithSize(app, appStorageRepository.calculateSizeBytes(app) ?: 0L) } override fun filter( Loading
tests/robotests/src/com/android/settings/applications/AppStorageSizesControllerTest.java +12 −12 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading @@ -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"); } }
tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppStoragePreferenceTest.kt +2 −3 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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) { Loading @@ -122,7 +122,6 @@ class AppStoragePreferenceTest { private val STATS = StorageStats().apply { codeBytes = 100 dataBytes = 20 cacheBytes = 3 } } }